Ubuntu双网卡设置内外网上网的问题

一台双网卡电脑拥有两个网关是不可能的,因为默认网关(default gateway)只能是一个。给Ubuntu Linux服务器安装两块网卡,分别设置不同的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 eth0
iface eth0 inet dhcp
post-up iptables-restore < /etc/iptables.up.rules

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

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

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 后面是子网掩码)

如果想让上面的命令在开机时运行,编辑下面的文件执行上面的命令,把上面的命令加入文件exit 0之前

sudo vi /etc/rc.local

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfzjg.html