AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[route](unix)

Martin Hope
TSG
Asked: 2025-02-28 23:43:05 +0800 CST

重复路线不断出现且无法删除

  • 5

我正在运行 almalinux 9,有 3 个接口。第一个接口 (ens192) 在路由表中有一个重复条目(见最后两行):

[root@server ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.31.254.1    0.0.0.0         UG    100    0        0 ens192
10.88.0.0       0.0.0.0         255.255.0.0     U     0      0        0 podman0
172.31.251.0    0.0.0.0         255.255.255.0   U     103    0        0 ens256
172.31.252.0    0.0.0.0         255.255.255.0   U     102    0        0 ens161
172.31.254.0    0.0.0.0         255.255.255.0   U     100    0        0 ens192
172.31.254.0    0.0.0.0         255.255.255.0   U     100    0        0 ens192

我可以使用“ip route del”删除最后一条路由,但下次启动时它会重新出现。

我怀疑这是相关的...我在 ens192 上有 2 个 IP,正如 nmcli 在这里显示的那样:

IP4.ADDRESS[1]:                         172.31.254.32/24
IP4.ADDRESS[2]:                         172.31.254.31/24
IP4.GATEWAY:                            172.31.254.1
IP4.ROUTE[1]:                           dst = 172.31.254.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 172.31.254.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[3]:                           dst = 0.0.0.0/0, nh = 172.31.254.1, mt = 100
IP4.DNS[1]:                             172.31.254.4
IP4.DNS[2]:                             172.31.234.4

NetworkManager 似乎认为它需要路由 1 和 2。但如果我尝试使用以下命令删除路由 2:

nmcli connection modify "connname" -ipv4.routes 172.31.254.0/24

路由不会被删除(命令返回时没有错误)。这是怎么回事?这是正确的行为吗?我真的需要 ROUTE[1] 和 ROUTE[2] 吗?

route
  • 1 个回答
  • 20 Views
Martin Hope
Carve8851
Asked: 2023-11-28 15:24:28 +0800 CST

基于策略的路由导致 NAT 无法正常工作

  • 5
echo "200 rj45" >> /etc/iproute2/rt_tables
echo "201 WIFI" >> /etc/iproute2/rt_tables
ip route add default via 192.168.5.9 dev eth0
ip rule add from 192.168.5.8/24 table rj45
ip rule add from 192.168.61.128/24 table WIFI
ip route add default via 192.168.5.9 dev eth0 table rj45
ip route add default via 192.168.61.38 dev wlan0 table WIFI
iptables -t nat -A POSTROUTING -s 10.196.0.0/16 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.196.0.0/16 -o wlan0 -j MASQUERADE
ip route flush cache

你好。上述命令是在 Linux 服务器 1 启动时输入的。

在Linux服务器1中,有3个接口。 2个接口是WAN接口,eth0具有192.168.5.8/24 IP,wlan0 具有192.168.61.128/24 IP。另一个接口是LAN ,IP为10.196.3.254/16。

Linux 服务器 1 eth0通过IP 192.168.5.9/24连接到Linux 服务器 2 eth0。

上述策略路由命令是针对Linux策略路由实现的。默认路由是 rj45,但在某些情况下默认路由更改为 WIFI。

当以下 NAT iptables 命令不生效时,我遇到问题,特别是使用命令ip Rule add from 192.168.5.8/24 table rj45。当客户端IP 10.196.3.253/16 ping 192.168.5.9时,这是Linux Server 1 eth0的子网。 如果10.196.3.253 ping 192.168.3.9哪个Linux服务器2别名IP,就可以ping通。

Linux 服务器 2 上的 tcpdump -i eth0 icmp 显示它尝试回复 10.196.3.253 的 icmp ping,这意味着 ICMP ping 很可能不是 NAT。下面是输出

12:31:14.519000 IP 192.168.5.8 > 192.168.5.9: ICMP echo request, id 4213, seq 155, length 64
12:31:14.519018 IP 192.168.5.9 > 192.168.5.8: ICMP echo reply, id 4213, seq 155, length 64
12:31:14.520018 IP 192.168.5.9 > 10.196.3.253: ICMP echo reply, id 4213, seq 155, length 64

知道为什么 NAT 在此设置中不起作用吗?为了清晰起见,下面是网络图。

在此输入图像描述

route
  • 1 个回答
  • 38 Views
Martin Hope
Evan Carroll
Asked: 2022-07-07 12:19:03 +0800 CST

为什么`ip route replace`会添加重复的新路由?[复制]

  • 0
这个问题在这里已经有了答案:
在 linux 中修改现有路由条目 4 个答案
3 个月前关闭。

这些是我ip route的,

default via 172.16.42.1 dev ens5 proto dhcp src 172.16.42.248 metric 100 
default via 172.16.42.1 dev ens3 proto dhcp src 172.16.42.79 metric 100 
default via 10.2.64.1 dev ens4 proto dhcp src 10.2.69.64 metric 100

我使用ip route replace的目的是降低指标并提高优先级,就像这样,

sudo ip route replace default via 10.2.64.1 dev ens4 metric 90

但是,这并没有取代路线,而是添加了路线,现在我有了,

default via 10.2.64.1 dev ens4 metric 90 
default via 172.16.42.1 dev ens5 proto dhcp src 172.16.42.248 metric 100 
default via 172.16.42.1 dev ens3 proto dhcp src 172.16.42.79 metric 100 
default via 10.2.64.1 dev ens4 proto dhcp src 10.2.69.64 metric 100

反正有没有改变这条线上的指标,

default via 10.2.64.1 dev ens4 proto dhcp src 10.2.69.64 metric 100

不添加新路线?

ip route
  • 1 个回答
  • 55 Views
Martin Hope
Evan Carroll
Asked: 2022-07-07 12:05:12 +0800 CST

什么是 ip 路由指标,如何更改?

  • 1

当我跑的时候ip route,我看到

default via 172.16.42.1 dev ens5 proto dhcp src 172.16.42.248 metric 100 
default via 172.16.42.1 dev ens3 proto dhcp src 172.16.42.79 metric 100 
default via 10.2.64.1 dev ens4 proto dhcp src 10.2.69.64 metric 100

所有这些都metric设置为100. 这在哪里记录,什么是现代语法 to ip(not ifconfigor route) 用于仅更改指标?我没有看到metric记录在man ip route

ip route
  • 1 个回答
  • 578 Views
Martin Hope
Airwan
Asked: 2022-04-18 12:47:33 +0800 CST

Openbsd 线卫到线卫

  • 1

我建立了一个服务器(vps),它扮演我的网关角色。我的整个个人网络都通过wireguard 连接在后面。每个想法都很好,我或多或少地遵循https://openbsdrouterguide.net和 pf 文档。

我现在的问题是:我希望我的网关使用wireguard通过protonvpn与互联网(我的个人网络除外)通信。我在其上构建了一个新的 wg 界面,带有质子配置,它显然运行良好。但我不知道如何在外出之前通过质子接口(wg1)将我的私人局域网(wg0)的传出流量(到互联网)传递。

是路由问题还是 pf 规则的东西?

如果您能给我一些提示,请提前致谢。

route openbsd
  • 2 个回答
  • 264 Views
Martin Hope
Ryan Lyu
Asked: 2022-04-04 20:21:29 +0800 CST

在“iptables”的生命周期中,内核会在哪一步利用“路由表”?

  • 0
  • iptables. 我浏览了 Iptables 的手册并了解了一些基本概念,例如链、表、钩子、规则和目标。在 Linux 生态系统中,iptables 是一个广泛使用的防火墙工具,它与内核的 netfilter 包过滤框架接口。

  • route table. 在 Linux 中,还有另一个表route table。

我试图弄清楚它们之间的关系并将它们放在一张大图中。

这是一个很好的图表来显示 iptables 的流程,有两个route阶段。在哪一步,内核会利用“路由表”吗?

在此处输入图像描述

参考

  1. DigitalOcean:深入了解 Iptables 和 Netfilter 架构
  2. 我读过这个问题“ StackOverflow:iptables vs route 有什么区别? ”,但它没有回答我的问题。
iptables route
  • 2 个回答
  • 251 Views
Martin Hope
erwin
Asked: 2021-12-13 18:55:53 +0800 CST

netplan generate: `gateway4` 已被弃用,改用默认路由

  • 14

使用时,netplan generate我不断收到错误消息:

gateway4已弃用,请改用默认路由。

对于 netplan 中的静态 IP 地址分配,我一直使用以下结构:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: false
      dhcp6: false
     addresses:
      - 192.168.10.10/24
     gateway4: 192.168.10.1
     nameservers:
      addresses: [192.168.10.1]

显然gateway4是引用gateway4: 192.168.10.1,但我们如何修复它?

route netplan
  • 1 个回答
  • 49746 Views
Martin Hope
chris01
Asked: 2019-11-14 13:42:30 +0800 CST

在刷新的路由表中重置默认 gw 时出现问题

  • 3

我在 192.168.0.11 有一个接口 enp7s0。

我的路由器是 192.168.0.1。

我的路由表是

Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 enp7s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp7s0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp7s0

一切正常。我没有设置 iptalbes。

现在我尝试重置我的路由表并再次设置默认gw。

ip route flush table main
route add default gw 192.168.0.1

冲洗没问题。但添加失败。

SIOCADDRT: network is unreachable

这里有什么问题??

route
  • 1 个回答
  • 4837 Views
Martin Hope
armandfp
Asked: 2019-07-03 07:51:38 +0800 CST

为 openVPN 动态推送路由

  • 1

我知道从 server.conf 我可以做到这一点:

push "route 192.168.20.0 255.255.255.0"

但是,有没有办法动态推送路由?我有一个 API 调用,它返回 vpn 客户端需要的所有路由,所以如果发生某些路由更改,客户端将重新启动 vpn 连接,它将拥有新的路由。这可能吗?如何?我想从服务器端管理这个。

route openvpn
  • 2 个回答
  • 2205 Views
Martin Hope
Ricard Molins
Asked: 2019-06-12 06:20:48 +0800 CST

将网络接口定义为独立于 IP 的默认 gw

  • 1

我知道如何将默认 gw 分配给具有 IP 的接口

ip route add default via <host> dev <dev>
# e.g.
ip route add default via 192.168.0.101 dev eth0

问题是我的场景中eht0的IP是外部管理的。因此,如果更改 eth0 的 IP,前面的命令将不起作用。

有没有一种简单的方法可以将接口分配为默认 gw,而与它拥有的 IP 无关?

  • 注意:开机时界面不UP。
  • 注 2:我的接口是 3g 调制解调器,因此在我请求连接之前我也不知道网关 IP。
ip route
  • 3 个回答
  • 295 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve