2014-12-24 00:00:00
来 源
中存储网
Ubuntu
一台双网卡电脑拥有两个网关是不可能的,因为默认网关(default gateway)只能是一个。给服务器安装两块网卡,分别设置不同的ip和网关(内网和外网),外网的通过外网网卡来访问,内网的通过内网网卡来访问,似乎实现起来很简单,但有些问题,因为默认网关(

一台双网卡电脑拥有两个网关是不可能的,因为默认网关(default gateway)只能是一个。给服务器安装两块网卡,分别设置不同的ip和网关(内网和外网),外网的通过外网网卡来访问,内网的通过内网网卡来访问,似乎实现起来很简单,但有些问题,因为默认网关(default gateway)只能是一个!

解决的办法就是:

1.将其中一块网卡(如外网)设置默认网关,另外一块网卡eth1不设置网关

sudo vi /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth1
iface eth1 inet dhcp
post-up iptables-restore < /etc/iptables.up.rules

#the second eth1
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0

注意没有为 eth1(内部网络) 设置 gateway.

在这里设置了网卡,那么network-manager就没有权限读其进行管理了。可以将上面配置相关文件中的无线网卡删除,让network-manager管

理,这样方便点。

2.(注意:对于Ubuntu系统,该步骤似乎可以省略)输入命令:route,一旦没有接下来一行:

192.168.0.0 * 255.255.255.0 U 0 0 0 eth1

就手工加上一条静态路由,让另一个网段(内网)的数据经过第二个网卡。使用route命令,命令的范例如下

参考命令:
sudo route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1(让对192.168.0.0的访问走eth1网卡,netmask 后面是子网掩码)

一旦想让上面的Linux命令在开机时运行,编辑接下来的文件执行上面的Linux命令,把上面的Linux命令加入文件exit 0之前

sudo vi /etc/rc.local

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。