gpt4 book ai didi

linux - 两个默认网关上的路由问题

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:27 24 4
gpt4 key购买 nike

我设置了一个带有三个接口(interface)的盒子/小型服务器。一个接口(interface)通向内网,并在路由表 rt1 中拥有一条默认路由。另一个接口(interface)连接到 Fritz!Box 并通向互联网,并且在路由表 rt2 中也有默认路由。

我已经设置了两个默认网关(表 rt1 和 rt2),现在我想在某个接口(interface)(eth0.103)上 ping 互联网中的某些内容,这会通向 Fritz!Box(和互联网),甚至在两者上,但这不起作用,尽管跟踪路由甚至 SSH 连接都在该接口(interface)上工作。我的意思是,我什至可以从外部/通过 Fritz!Box/互联网联系/连接到该盒子 (eth0.103)。此外,在 eth0.101 上没有路由或 ping 发生。

Fritz!Box 的地址为 192.168.178.1,eth0.103 (192.168.178.20) 直接与其连接。

命令

ping -I eth0.103 8.8.8.8
ping -I eth0.101 8.8.8.8

/etc/iproute2/rt_tables

#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
1 rt1
2 rt2

/etc/network/interfaces

auto eth0.101
iface eth0.101 inet static
address 172.19.2.2
netmask 255.255.255.0
post-up ip route add 172.19.2.0/24 dev eth0.101 src 172.19.2.2 table rt1
post-up ip route add default via 172.19.2.1 dev eth0.101 table rt1
post-up ip rule add from 172.19.2.2/32 table rt1
post-up ip rule add to 172.19.2.2/32 table rt1

auto eth0.102
iface eth0.102 inet manual

auto eth0.103
iface eth0.103 inet static
address 192.168.178.20
netmask 255.255.255.0
post-up ip route add 192.168.178.0/24 dev eth0.103 src 192.168.178.20 table rt2
post-up ip route add default via 192.168.178.1 dev eth0.103 table rt2
post-up ip rule add from 192.168.178.20/32 table rt2
post-up ip rule add to 192.168.178.20/32 table rt2

auto br0
iface br0 inet static
bridge_ports eth0.102 wlan0
bridge_waitport 0
address 192.168.1.254
network 192.168.1.0
netmask 255.255.255.0

ip路由显示

172.19.2.0/24 dev eth0.101  proto kernel  scope link  src 172.19.2.2
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.254
192.168.178.0/24 dev eth0.103 proto kernel scope link src 192.168.178.20

ip路由显示表rt1

default via 172.19.2.1 dev eth0.101 
172.19.2.0/24 dev eth0.101 scope link src 172.19.2.2

ip路由显示表rt2

default via 192.168.178.1 dev eth0.103 
192.168.178.0/24 dev eth0.103 scope link src 192.168.178.20

我无法弄清楚,如果我对这些网关或路由规则/表做错了什么。另外,我觉得很奇怪,我可以通过 Fritz!Box 的公共(public) IP 地址连接到服务器,但从它执行 ping 操作却不起作用。提前谢谢你们,伙计们。

最佳答案

好吧,通过在 Linux 网站和 Stack Overflow 上进行了大量的谷歌搜索和阅读,我找到了解决方案。

路由表很好,但不知何故没有将默认网关传输到主表。因此我无法 ping 或实现任何目标,但跟踪路由仍然有效。甚至静态路由也能正常工作。

因此,我在/etc/network/interfaces 中添加了这两行重要的行(带有度量值),现在两个路由表的默认网关都传输到主路由表。

/etc/iproute2/rt_tables

#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
101 rt1
102 rt2

/etc/network/interfaces

auto eth0.101
iface eth0.101 inet static
address 172.19.2.2
netmask 255.255.255.0
post-up ip route add 172.19.2.0/24 dev eth0.101 src 172.19.2.2 table rt1
post-up ip route add default via 172.19.2.1 dev eth0.101 table rt1
post-up ip rule add from 172.19.2.2/32 table rt1
post-up ip rule add to 172.19.2.2/32 table rt1
post-up ip route add default via 172.19.2.1 metric 100 dev eth0.101
post-down ip rule del from 0/0 to 0/0 table rt1
post-down ip rule del from 0/0 to 0/0 table rt1

auto eth0.102
iface eth0.102 inet manual

auto eth0.103
iface eth0.103 inet static
address 192.168.178.20
netmask 255.255.255.0
post-up ip route add 192.168.178.0/24 dev eth0.103 src 192.168.178.20 table rt2
post-up ip route add default via 192.168.178.1 dev eth0.103 table rt2
post-up ip rule add from 192.168.178.20/32 table rt2
post-up ip rule add to 192.168.178.20/32 table rt2
post-up ip route add default via 192.168.178.1 metric 101 dev eth0.103
post-down ip rule del from 0/0 to 0/0 table rt2
post-down ip rule del from 0/0 to 0/0 table rt2

auto wlan0
iface wlan0 inet manual

auto br0
iface br0 inet static
bridge_ports eth0.102 wlan0
bridge_waitport 0
address 192.168.1.254
netmask 255.255.255.0

关于linux - 两个默认网关上的路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53616718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com