我正在尝试设置一个 Ubuntu 托管服务器,目前仅用于开发,该服务器有两个 NIC,每个位于不同的网络上。eth0 在 192.168.200.* 上,eth1 在 192.168.101.* 上,每个 NIC 都有一个静态 IP。eth0 是面向公众的 NIC 卡,eth1 仅用于对服务器的内部访问。我最初只设置了 eth0,并在需要时添加了 eth1 卡。eth0 一直正常工作,直到我添加 eth1,现在,除非我将 eth1 从盒子中取出,否则无法在 eth0 上建立任何连接。每个系统上的配置如下:
auto eth0
iface eth0 inet static
address 192.168.200.94
netmask 255.255.255.0
network 192.168.200.0
broadcast 192.168.200.255
gateway 192.168.200.253
auto eth1
iface eth1 inet static
address 192.168.101.64
netmask 255.255.255.0
network 192.168.101.0
broadcast 192.168.101.255
gateway 192.168.101.254
在我添加 eth1 之前,eth0 一直运行良好。如果您为两个 NIC 设置了默认网关,我曾在 Windows 服务器上看到过这种情况,但我不确定这在 Ubuntu 上是否也一样。我的 resolv.conf 文件如下所示:
nameserver 192.168.101.59
nameserver 192.168.101.58
domain domain.local
search domain.local
根据请求,以下是路由表
192.168.101.0 * 255.255.255.0 U 0 0 0 eth1
192.168.200.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.101.254 0.0.0.0 UG 100 0 0 eth1
default 192.168.200.253 0.0.0.0 UG 100 0 0 eth0
答案1
您有两个默认路由。您的“192.168.101.254”框可能未配置为将您的流量路由出去,因为您说该网络仅用于内部访问。
从 eth1 网络中删除“网关”条目,它就可以工作了。
答案2
保留 eth1 的网关条目并删除 eth0 的网关条目:
ip route del 默认 dev eth0
创建新的策略路由表:
回显“1 管理员”>> /etc/iproute2/rt_tables
添加新路线:
ip 路由添加 192.168.200.0/24 dev eth0 src 192.168.200.94 表管理员
ip route 通过 192.168.200.253 dev eth0 表管理员添加默认
添加新规则:
从 192.168.200.94/32 表管理员添加 ip 规则
ip 规则添加到 192.168.200.94/32 表管理员
提交更改:
ip 路由刷新缓存
完成!尽情享受吧!——杰森