关于Linux系统下设置双网卡双IP的问题!

关于Linux系统下设置双网卡双IP的问题!,第1张

ubuntu双网卡双IP.不同网关.不同子网.如何同时ping通两块网卡的解决方法,

服务器环境如下:、

系统:Ubuntu 9.04 X64 server

电信IP(TEL):114.80.0.4 netmask 255.255.255.128 gateway 114.80.0.3

联通IP(CNC):112.65.0.2 netmask 255.255.255.0 gateway 112.65.0.1

1.配置网卡信息

# vi /etc/network/interfaces

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inet static

address 114.80.0.4

netmask 255.255.255.128

gateway 114.80.0.3

# dns-* options are implemented by the resolvconf package, if installed

dns-nameservers 202.96.209.133

auto eth1

iface eth1 inet static

address 112.65.0.2

netmask 255.255.255.0

保存配置信息并重新启动网卡

# /etc/init.d/networking restart

2.增加2个路由表分别是电信:tel 联通:cnc

# vi /etc/iproute2/rt_tables

252 tel

251 cnc

保存并推出

3.增加路由规则

# ip route flush table tel

# ip route add default via 114.80.0.3 dev eth0 src 114.80.0.4 table tel

# ip ruleadd from 114.80.0.4 table tel

此处是设置电信的网关,并可实现让电信的资源访问只从eth0网卡出去

# ip route flush table cnc

# ip route add default via 112.65.0.1 dev eth1 src 112.65.0.2 table cnc

# ip rule add from 112.65.0.2 table cnc

此处是设置联通的网关,并可实现让联通的资源访问只从eth1网卡出去

4.配置networking启动脚本文件 在结尾exit 0之前增加如下内容

# vi /etc/init.d/networking

ip route flush table tel

ip route add default via 114.80.0.3 dev eth0 src 114.80.0.4 table tel

ip rule add from 114.80.0.4 table tel

ip route flush table cnc

ip route add default via 112.65.0.1 dev eth1 src 112.65.0.2 table cnc

ip rule add from 112.65.0.2 table cnc

exit 0

5,退出并重启网络

# /etc/init.d/networking restart

此时再测试机器网络情况,就会发现电信和联通的地址都可以正常访问了。此方法还可以实现让从电信IP过来的请求按照电信路由返回,从网通IP过来的请求从网通路由返回。

补充:网上有些大神说如果服务器重启,或者网络服务重启,上述的路由规则就失效了,所以你需要把上面这段命令写入系统启动脚本和网络启动脚本

如果是ubuntu/debian,系统启动脚本是/etc/rc.local

如果是RedHat/CentOS,系统启动脚本是/etc/rc.d/rc.local

如果是ubuntu/debian,网络启动脚本是/etc/init.d/networking

如果是RedHat/centos,网络启动脚本是/etc/rc.d/init.d/network

 如果eth0为192.168.10.123/255.255.255.0,eth1为192.168.20.231/255.255.255.0,则命令格式如下:

#route add -net 192.168.10.0 netmask 255.255.255.0 dev eth0

#route add -net 192.168.20.0 netmask 255.255.255.0 dev eth1

上面的命令把发送给192.168.10.0网段的IP包交给eth0转发,把192.168.20.0网段的IP包交给eth1转发。如果还有可能有发送给其他目的IP的包,那么你肯能希望设置一个“默认网关”:

#route add default gw 192.168.10.1

上面的命令把所有发送给其他目的IP的包都转发给192.168.10.1,而如何转发给192.168.10.1这个地址的规则已经在刚才的第一条命令中定义了(从eth0转发)。一般情况下,默认网关已经自动设置好了,不用重复设置。可以用route命令加-n参数进行检查。

如果要删除某一条,命令格式为:

#route del -net 192.168.10.0 netmask 255.255.255.0

配置时的一种思路是把192.168.10.0网段路由至eth0,192.168.20.0网段路由至eth1,再设置默认路由。另一种思路是,只指定其中一个,然后把默认的0.0.0.0路由至另一个。其实效果一样,就是两种风格。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11848450.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存