设置通过特定网络设备发送包的首选项

设置通过特定网络设备发送包的首选项

我在两台机器上安装了 SL 6.3。

机器A是一个工作站,有两个接口eth0wlan0。使用eth0,它通过静态 IP 地址连接到机器 B(面向公众的服务器)。两者都通过各自的接口连接到互联网wlan0

问题是当工作站连接到服务器时,它会发送所有数据包(包括互联网的数据包),eth0因此会失败。要在工作站上使用互联网,我需要断开连接eth0,如果这样做,我eth0与服务器的 SSH 连接(通过)就会挂起!

有没有办法,我可以强制我的工作站发送互联网数据包,wlan0无论eth0.

答案1

您需要确保默认路由设置为通过 wlan0。您可能还想通过 eth0 为机器 B 设置显式路由。

如果您习惯手动编辑配置文件,您将在以下位置找到所需的文件/etc/sysconfig/网络脚本。您关心的文件称为ifcfg-eth0ifcfg-wlan0。你应该确保 ifcfg-wlan0包含一个网关设置就像

GATEWAY=xxx.xxx.xxx.xxx

替换xxx.xxx.xxx.xxx与上游路由器的地址。您应该从以下位置删除任何此类行ifcfg-eth0。完成后,您可以通过关闭两个接口然后再次启动它们来解决路由问题,或者通过重新启动网络来解决路由问题,您可以通过运行

service network restart

正如我所说,我还认为您应该添加一条路由,确保机器 B 的流量通过 eth0。一种方法是创建文件/etc/sysconfig/网络脚本/route-eth0并使其可执行,因为每次 eth0 启动或关闭时都会运行它。它应该有一行像

xxx.xxx.xxx.xxx via eth0

替换xxx.xxx.xxx.xxx与机器 B 的 IP 地址。

该路由将在您关闭和启动 eth0 或重新启动网络后生效。

如果您不习惯使用命令行,则需要找到可以完成相同操作的 Red Hat 配置工具。

答案2

这更多的是路由问题。您需要更改工作站 A 的路由表才能使其正常工作。

假设机器 A 的 eth0 有 ip 10.10.1.1, wlan0 有 ip 172.16.1.1

您应该更改机器 A 的路由表,使默认路由应指向 wlan0,而子网路由10.10.1.0应指向 eth0。

您可以使用 iproute2 包来做到这一点。

可以通过以下方式查看机器A的路由表:

$ sudo ip route show

这应该会显示一行,表明您的默认网关是 eth0。您需要使用以下命令删除此行:

$ sudo ip route del default dev eth0

然后通过 wlan0 添加新的默认路由。

$ sudo ip route add default dev wlan0 

并添加到另一台机器 B 的路由,以使用 eth0 路由该盒子的流量

$ sudo ip route add 10.10.1.0/24 dev eth0

相关内容