关于linux系统下双网卡同时访问内外网的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于linux系统下双网卡同时访问内外网的问题相关的知识,希望对你有一定的参考价值。

redhat5.5系统两台,都是双网卡。两台设备都接在交换机上用于控制,ip段为192.168.1.n。同时两台设备互连,设定ip为10.0.0.n,均未设置网关。
现在问题是,由于不在同一ip段内,两台设备只能远程控制而不能互通测试(10.0.0.n段不通)。如果把互通的两块网卡设置为192.168.1.n的ip段,可以实现ping通,但这是通过交换机实现的ping通命令而不是通过两个网卡本身连接线实现的。
就是想咨询一下一台设备如何实现内外网的同时使用,从而既可以远程控制,又可以相互联通?
#vi /etc/iproute2/rt_tables,增加两个路由表
#ip addr add 192.168.1.100 dev eth0 #ip addr add 10.0.0.2 dev eth1
#ip route add 192.168.1.1 via 192.168.1.100 dev eth0 table wai
#ip route add 127.0.0.0 dev lo table wai
#ip route add default via 192.168.1.1 dev eth0 table wai
#ip route add 10.0.0.1 via 10.0.0.2 dev eth1 table nei
#ip route add 127.0.0.0 dev lo table nei
#ip route add default via 10.0.0.1 dev eth1 table nei
#ip rule add from 192.168.1.1 table wai
#ip rule add from 10.0.0.1 table nei

ifconfig -a 我看看你的子网掩码对不对!一般要把如果不想跨网段访问,就得设好子网掩码!
应该两个网段的掩码都设成 255.255.255.0追问

不好意思刚才吃饭去了。按照网上一个教程修改iptabls文件添加两个网段实现是实现了。问题是只添加了一个ip地址,而我内网需要两个口同时使用(共计3各口,一个外网两个内网),所以现在还在琢磨中。其实我没写好,其实我的要求就好比双网段同时上网差不多。

追答

一个外网10.0.0.N 掩码 255.255.255.0

双内网192.168.1.N 掩码 255.255.255.0
192.168.2.N 掩码 255.255.255.0
这样设置就互不干扰啊!

参考技术A 把每台电脑的一块网卡设置为192.168.1.n段,另一块网卡设置为10.0.0.n,这样两台电脑一对网卡是192.168.1.n段,另一对则为10.0.0.n段,应该可以实现你的目的。追问

我就是这样设置的··但是10.0.0n段不通的

追答

可能需要在交换机上配置2个vlan,一个vlan是192.168.1.n段,另一个vlan是10.0.0.n段。(不是非常确定,我对交换机不熟)

追问

交换机没有这个功能····最普通的交换机

追答

那我不是很清楚了,或许你可以咨询下交换机厂商,或者是否可以将两台电脑直连试试。

追问

``麻烦额··继续等答案··

追答

好,没事。

参考技术B 注意做好默认网关。追问

怎么说?我把两段的ip都设置同一个网关吗?比如192.168.1.1?

追答

先用route命令看一下你当前默认网关是什么。比如你eth0连接第一个网关为192.168.1.1,如果当前没有这个默认网关,那就增加一下route add default gw 192.168.1.1 eth0
比如你eth1连接第二个网路,网关为10.0.0.1,当前没有的话也增加一下:
route add default gw 10.0.0.1 eth1
然后你再试试

追问

好吧··我刚才试了一下,不行··

追答

traceroute试一下,看什么情况,比如你要Ping 192.168.1.2,那么
traceroute 192.168.1.2
看卡在哪里了?
把你的IP配置贴上来看看
ifconfig -a;
route;

追问

traceroute to 10.0.0.23 (10.0.0.23), 30 hops max, 40 byte packets
1 (10.0.0.12) 3001.197 ms !H 3001.192 ms !H 3001.185 ms !H

双网卡同时上内外网

查看路由表命令
route print

第一步:删除默认路由

route delete 0.0.0.0

注:删除所有0.0.0.0的路由,这个是默认访问外网的路由

第二步:添加静态路由

(假设内网网段为192.168.10.x,网关为192.168.10.1;

外网网段为192.168.20.x,网关为192.168.20.1)

先配置内网静态路由:

route add 192.168.10.0 mask 255.255.255.0 192.168.10.1 -p

注:它表示访问192.168.10.0网段的所有数据都要经过网关192.168.10.1,-p表示永久添加,重启后依然有效

在配置外网静态路由:

route add 0.0.0.0 mask 0.0.0.0 192.168.20.1 -p

注:它表示你可以上外网,访问所有数据都要经过外网网关192.168.20.1,-p表示永久添加,重启后依然有效。

第三步:设置完了以后,还要再看一下路由表是否都修改过来了。在命令窗口输入route print ,就可以显示本机的路由表了。

********************************************************************************

说明:

(1)如果在cmd中执行红色部分的命令时,提示“请求失败”,是因为没有管理员权限,这时候进入开始菜单—>附件—>命令提示符—>右键—>以管理员身份运行,进入后在重新执行命令即可

(2)执行完cmd命令后,配置外网IP时不用填写外网网关

 

以上是关于关于linux系统下双网卡同时访问内外网的问题的主要内容,如果未能解决你的问题,请参考以下文章

Linux下双网卡绑定bond0

Linux下双网卡绑定bond0

有关双网卡同时上内外网的一点想法

Linux下双网卡绑定(bonding技术)

Linux下双网卡绑定七种模式

双网卡同时上内外网