我有一个网络,其中有主机A
、主机B
(均为 Linux)和网关C
。我正在尝试访问主机Z
。
默认情况下,流量会执行以下操作:
A -> C -> Z
为了满足一些内部需求,我需要流量来做以下事情:
A -> B -> C -> Z
为了做到这一点,我只需添加一条路线。因此,A
我执行如下操作:
route add A gw B
如果我 ping 一下,我可以看到流量的情况:
A -> B -> C -> Z
这很好。但是,随着时间的推移,你可以看到它如何回到(用 进行检查mtr
)
A -> C -> Z
并且路由表仍然存在(route -n
)
有什么办法可以解决这个问题吗?
答案1
如果你有
这就是你想要的
在 A 上,您需要将 B 设置为默认网关;通过 /etc/sysconfig/network-scripts/ifcfg-eht0 或 /etc/sysconfig/network
这样,重新启动时,设置就不会丢失。
在 C 上,您应该配置一条静态路由,让 A 经过 B。这并非总是必要的,但如果您希望 B 将 A 的所有流量路由到 Z 并且反之亦然,则这是一致的。
笔记如果您在机器上建立静态路由,您可能需要编写脚本以在启动时加载以重新添加路由。如果您通过终端而不是网络脚本添加默认网关,那么这将是放置命令的好地方,因此默认网关会在启动时重新添加。