我正在尝试根据目的地通过特定接口路由流量。
操作系统是CentOS 7。
我正在建立一个小型 MPI 农场,其中有 2 个从属工作器和一个主设备。主设备和从设备使用内置网卡 (em1) 通过交换机进行本地通信(这样,所有工作器都有“本地” IP 192.168.1.*)。
然后,我有一个辅助网卡(p2p1),它连接到我的路由器以用于外部互联网流量。
按照目前的设置,我能够毫无问题地通过 ssh 连接到每个工作人员,但无法与互联网通信(ping 8.8.8.8 表明它无法访问谷歌的服务器)。
从我所搜索的内容来看,我还无法找到针对此特定问题的解决方案,但我觉得这是一个简单的修复...
输入路线
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default Linksys01356 0.0.0.0 UG 100 0 0 em1
default gateway 0.0.0.0 UG 101 0 0 p2p1
10.11.230.0 0.0.0.0 255.255.255.0 U 101 0 0 p2p1
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 em1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
输入 iptables --list 会得到
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.122.0/24 ctstate RELATED,ESTABLISHED
ACCEPT all -- 192.168.122.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
理想情况下,我希望所有 MPI 计算机(主计算机和从计算机)使用 em1 进行通信,并且主计算机通过 p2p1 从本地网络外部提取数据。
如果有帮助,主 IP 为 10.11.230.43(用于外部访问)和 192.168.1.143(在本地网络上),而一个从属设备的 IP 地址为 192.168.1.118。
如果我遗漏了任何其他信息,请告诉我。
谢谢
答案1
你已经为两个网卡设置了“默认”路由,但“默认”的含义包括一。这是流量没有其他路由的地方。如果您不小心设置了多个,则较低的度量将决定使用哪个。在这种情况下,这意味着您的 Internet 绑定流量将流向接口 em1 上的“Linksys01356”。
因为这不是您想要的,所以您应该重新配置 em1 接口以删除网关地址。唯一应该定义的网关是将您的流量路由到 Internet 的网关。