One minute
Linux和Windows下实现双网卡双ip访问不同网段(双网卡同时访问内网外网)
2012年06月07日
说好的写博客,不能扔,今天玩了一个有意思的东西。
---------------1.linux下的实现---------------
情况和环境:
操作系统:Ubuntu (linux)
两块网卡,上连两个不同的交换机。
网卡0(外网):
IP地址:10.175.31.8
子网掩码:255.255.255.224
网关10.175.31.18
网卡1(内网):
IP地址:10.175.89.133
子网掩码:255.255.255.240
网关10.175.89.129
因为一台电脑只能有一个默认网关,
所以如果在/etc/network/interfaces文件里配置两个网关的话,只能访问一个网络。
另一个网卡会无法访问网络。
解决办法:一个网卡设置默认网关,另一个网卡通过设置静态路由的方式访问网络。
-
具体步骤:
sudo -s 切换到root用户
编辑网络设置文件:vim /etc/network/interfaces,
将一个网卡的默认网关删除或者注释掉,例如:
#网卡0 auto eth0 iface eth0 inet static address 10.175.31.8 netmask 255.255.255.224 gateway 10.175.31.18 #网卡1 auto eth1 iface eth1 inet static address 10.175.89.133 netmask 255.255.255.240 #gateway 10.175.89.129
然后wq!保存,退出vim
重启网卡:
sudo /etc/init.d/networking restart
用route命令查看,应该只有一个default路由,然后:
sudo route add -net 10.175.89.0 netmask 255.255.255.0 gw 10.175.89.129 dev eth1
这条命令让从IP10.175.89.0开始子网掩码为 255.255.255.0 的网段的数据从网卡1走,网关是 10.175.89.129 。
这个可以根据实际情况相应的修改子网掩码。
因为上面这条设置静态路由的命令会在系统重启后丢失,所以可以在/etc/rc.local这个文件的 exit 0之前添加:
route add -net 10.175.89.0 netmask 255.255.255.0 gw 10.175.89.129 dev eth1
OK,大功告成!
---------------2.windows下实现的方法---------------
网卡一(内网)
IP地址: 10.69.4.X
子网掩码:255.255.255.0
默认网关:10.69.4.1
DNS:自动获取
网卡2(外网):
IP地址: 192.168.2.X
子网掩码:255.255.255.0
默认网关:192.168.2.1
DNS:自动获取
开始设置:
查看本机的路由表:
开始->运行->CMD,使用命令:route print
更新本机的默认网关:
route add 0.0.0.0 mask 0.0.0.0 192.168.2.1
这条命令的作用是让本机的所有网络连接都使用外网网卡,也就是网关为192.168.2.1的网卡。
让所有内网的网络连接都是用内网网卡:
route add 10.0.0.0 mask 255.0.0.0 10.69.4.1
这句话的作用是,让所有访问10.x.x.xIP地址的连接都是用内网网卡,也就是网关为10.69.4.1的网卡。
OK!大功告成!
124 Words
2012-06-07 08:00 +0800