您不能将客户端软件绑定到特定的网络接口,但是可以告诉内核,您只想将一个网络接口用于某些IP地址,将另一个网络接口用于其他所有地址。这称为“路由”,可以使用命令/sbin/route
和进行配置
/sbin/ip
。
如果我正确阅读了您的问题,则希望使用interface连接到Intranet IP地址,并使用interface连接到eth0
Internet
wlan0
。
如果运行命令ip route list
,应该会看到类似以下的输出(数字将有所不同,并且其中可以包含更多行):
$ ip route list
10.60.44.0/25 dev eth0 proto kernel scope link src 10.60.44.39 metric 1
192.168.80.0/21 dev wlan0 proto kernel scope link src 192.168.84.122 metric 2
[...]
default via 10.60.44.1 dev eth0 proto static
前两行告诉你连接到接口的网络eth0
和wlan0
:直接在计算机上这些网络将通过相应的接口直接发送到他们的网络流量。
最后一行告诉您“默认路由”是什么:如果您的计算机想与未连接到网络上的计算机通信(例如stackoverflow.com服务器),它将通过路由eth0
,通过主机10.60.44.1
(称为“默认网关”)。
因此,要通过路由路由互联网流量,wlan0
您应确保ip route list
输出的最后一行显示如下内容:
default via A.B.C.D dev wlan0 proto static
A.B.C.D
无线局域网上网关的IP地址在哪里。如果输出不包含“ dev wlan0”,则可以使用以下命令进行更改:
sudo ip route change to default dev wlan0 via A.B.C.D
您可以通过两种方法找出正确A.B.C.D
的wlan0
方法:
查看目录/var/lib/dhcp3/
:您应该找到一些
dhclient-...-wlan0.lease
文件。打开最近的一个并搜索其中包含字符串的行option router
:其余的行将告诉您IP地址A.B.C.D
。
询问您的本地网络管理员。(也许这是最好的选择。)
使用此配置,您应该能够:
- 通过浏览互联网
wlan0
- 如果您的Intranet 在单个网络中
eth0
,则通过它进行浏览。
如果您的Intranet跨越多个网络,那么您将需要为其添加路由-这绝对是需要您与本地网络管理员进行交互的内容。:-)