我在两台机器上安装了 SL 6.3。
机器A是一个工作站,有两个接口eth0
和wlan0
。使用eth0
,它通过静态 IP 地址连接到机器 B(面向公众的服务器)。两者都通过各自的接口连接到互联网wlan0
。
问题是当工作站连接到服务器时,它会发送所有数据包(包括互联网的数据包),eth0
因此会失败。要在工作站上使用互联网,我需要断开连接eth0
,如果这样做,我eth0
与服务器的 SSH 连接(通过)就会挂起!
有没有办法,我可以强制我的工作站发送互联网数据包,wlan0
无论eth0
.
答案1
您需要确保默认路由设置为通过 wlan0。您可能还想通过 eth0 为机器 B 设置显式路由。
如果您习惯手动编辑配置文件,您将在以下位置找到所需的文件/etc/sysconfig/网络脚本。您关心的文件称为ifcfg-eth0和ifcfg-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