我有一个网络,其中有主机A、主机B (都是Linux)和网关C。我正试着联系主机Z。
默认情况下,流量:
A -> C -> Z
为了满足一些内部需要,我需要流量:
A -> B -> C -> Z
为了做到这一点,我只是添加了一条路线。因此,在A中,我执行如下操作:
route add A gw B
如果我按一下,我就能看到交通情况:
A -> B -> C -> Z
这很好。然而,随着时间的推移,您可以看到它是如何恢复的(用mtr检查)
A -> C -> Z
而路由表仍然存在(route -n)。
有什么办法解决这个问题吗?
我的linux盒上有一个非常简单的标准路由表:
default via 192.168.1.1 dev eth0 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.162 metric 1
现在,我需要将一个特定的子网路由到另一个网关。还没问题,只要加上
10.0.0.0/8 via 192.168.1.2 dev eth0
然而,有一个子集不应该去那里。这样做是可行的:
10.0.2.0/24 via 192.168.1.1 dev eth0
但是我不想重复默认的网关;我只想说:“对
类似的问题但没有答案:
具有相同度量的两个默认路由
Linux如何在默认网关之间进行选择?
在Linux上,当两条路由具有相同的度量时,将使用哪一条?我发现这是记录在案 for Windows (“如果多个相同速度的接口具有相同的最低接口度量,那么根据绑定顺序,将使用第一个网络适配器的默认网关。当第一个网络适配器不可用时使用第二个网络适配器的默认网关”)。但无法找到Linux是如何处理这一问题的。
我想答案在代码中,但并不明显。
我在我的家庭局域网中安装了一个Linux (Ubuntu)服务器,最初它被自动配置为使用DHCP接口。我用服务器的主机名从另一台计算机连接到这台服务器。好的,我的路由器被配置成在我的家庭网络中使用DHCP,并自动给每台计算机一个IP。但是当我使用SSH连接到这个主机时,它警告我应该接受来自服务器上每个新分配的IP的指纹,这有点烦人。因此,我将其配置为使用静态IP地址来编辑/etc/network/interfaces文件,如下所示:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary ne