机房上架了一台测试机,系统是Ubuntu 9.04 X64的系统,母机IBM X336机器。用户需求是双线,故采用一个网卡配置电信地址,另一个网卡配置联通地址,安装好系统后配置好IP发现联通地址和电信地址只能有一个可以ping通,若电信地址配置网关,联通地址不配网关,则只能ping通电信地址,反之只能ping通联通地址,若同时配置联通和电信地址则两个都不通。

因为不是咱们公司的网络,对于上层实现方式也不清楚,只知道联通和电信引至不同的VLAN,而且电信联通不不能透传,但他们有其他机器有同样的介入方式的机器却可以正常出外网,这样就排除网络的问题了,而且此台机器原来是2003系统的时候也可以正常访问网络,也排除了机器网卡的问题了。那么就只有是这个操作系统有问题了。经过求助google等大师,终于搞定。下面是具体操作流程:

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

对于系统启动脚本本次并没有做更改只是更改了网络启动脚本,有兴趣的同学可以测试下。

Linux双线双网卡双IP双网关设置方法的更多相关文章

  1. deepin(debian)中双网卡上内外网的设置方法(通过NetworkManager运行脚本)

    国产良心操作系统deepin,界面好看,反应速度快,开箱即用,深度商店里有非常多好用的linux.windows软件,其windows软件通过crossover进行运行,还可以运行一些安卓的apk程序 ...

  2. 烂泥:VMWare Workation双网卡配置IP地址

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前几天给一个客户做远程项目实施,客户那边的服务器是Windows OS的,我们这边的业务 ...

  3. VMWare中Linux虚拟机设置静态IP上网的设置方法

    VMWare中Linux虚拟机设置静态IP上网的设置方法 标签: vmwareLinux虚拟机securecrt静态IP上网 2016-05-18 02:30 702人阅读 评论(0) 收藏 举报   ...

  4. 服务器安全策略之《通过IP安全策略阻止某个IP访问的设置方法》

    现在我们在布署好了一个网站,发布到外网后就意味着将会接受来自四面八方的黑客攻击,这个情况很常见,我们的网站基本上每天都要接受成千上万次的攻击,有SQL注入的.有代码注入的.有CC攻击等等...而我作为 ...

  5. 双网卡单IP实现网卡冗余与负载均衡

    WINDOWS下: 所谓双网卡,就是通过软件将双网卡绑定为一个IP地址,这个技术对于许多朋友来说并不陌生,许多高档服务器网卡(例如intel8255x系列.3COM服务器网卡等)都具有多网卡绑定功能, ...

  6. windows 下双网卡在不同网络切换设置

           首先你的机器需要有两块网卡,分别接到两台交换机上, ine rnet地址:192.168.1.8,子网掩码:255.255.255.0,网关:192.168.1.1 内部网地址:172. ...

  7. Vmware下Ubuntu 14.04静态IP地址的设置方法

    一.环境 宿主机 Win 8.1 虚拟机工具 VMware 10.0 虚拟主机系统 Ubuntu 14.04   二.说明 这里需要注意的是:VMware对于VMnet8采用如下规则(192.168. ...

  8. Linux下MySQL表名不区分大小写的设置方法

    MySQL表名不区分大小写的设置方法 在用centox安装mysql后,把项目的数据库移植了过去,发现一些表的数据查不到,排查了一下问题,最后发现是表名的大小写不一致造成的. mysql在window ...

  9. linux下的shell命令的编写,以及java怎样调用linux的shell命令(java怎样获取linux上的网卡的ip信息)

    程序猿都非常懒,你懂的! 近期在开发中,须要用到server的ip和mac信息.可是server是架设在linux系统上的,对于多网口,在获取ip时就产生了非常大的问题.以下是在windows系统上, ...

随机推荐

  1. linux基础11-bash编程(字符串测试 和 for循环)

    练习:传递一个用户名参数给脚本,判断此用户的用户名跟其基本组的组名是否一致,并将结果显示出来.(1)字符测试:==:测试是否相等,相等为真,不等为假!=: 测试是否不等,不等为真,等为假>< ...

  2. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建自定义视图

    jQuery EasyUI 数据网格 - 创建自定义视图 在不同的情况下,您可能需要为数据网格(datagrid)运用更灵活的布局.对于用户来说,卡片视图(Card View)是个不错的选择.这个工具 ...

  3. C# 关键字this用法

    1.this代表当前类的实例对象 public class Test { public string Name{get;set;} public void TestChange(string strN ...

  4. laravel StartSession中间件的实现原理

    1. 打开app\Http\Kernel.php,找到StartSession的位置.这里要说一下,middleware中的中间件是都会被执行的,但执行的顺序我不知道,还需看源码来实现 protect ...

  5. python -- 约束、异常处理、MD5

    1.类的约束       1.写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError class Base: # 对子类进行了约束,必须重写该方法 def login(se ...

  6. Vue(九) 自定义指令

    前面介绍了许多 Vue 内置的指令,比如 v-if.v-show等,这些丰富的指令能满足我们绝大部分的业务需求,不过在需要一些特殊功能时,我们仍然希望对 DOM 进行底层的操作,这时就要用到自定义指令 ...

  7. CSS布局-body高度不等于页面高度

    记录采坑: 博客记录问题,用作回忆用,不喜勿喷! html,body{width: 100%; height: 100%}这是初始定义的宽高.在布局越写越复杂的时候,布局很容易出现问题,例如一个页面中 ...

  8. python之路---面向对象编程(二)

    类的继承 1.在python3中,只有新式类,新式类的继承方式为:广度优先.而python2中,经典类的继承方式为:深度优先.那么我们来看看深度优先和广度优先的区别吧 如下图,为类之间的继承关系.B, ...

  9. 合并分支,从dev到master

    我在本地创建了dev分支,项目也push到远程的dev分支,今天在远程分支进行合并时,将dev合并到master,结果公司的gitlab始终不响应,我不知道是公司的网络不行还是我操作错误,就只能另想办 ...

  10. vue与mapbox

    1.引入mapbox 在index.html里面引入maobox gl 或者使用 npm install mapbox-gl 2.功能 我主要这次要实现 地图展示 地图打点(添加Marker) 地图的 ...