Linux双网卡静态路由修改

本人正在学习Linux运维,在做架构时需要虚拟多台服务器且配置双网卡 , 当设置好双网卡IP的配置时发现 , 系统会自动选择一个网卡作为默认路由 . 而在我的环境中系统选择的网卡并非我所想要的 , 而且将默认路由写入rc.local开机可以执行 , 但用/etc/init.d/network重启网卡配置就会出现路由恢复的问题 , 如果这是在生产环境就需要去现场处理 . 所以在网上找到一个修改静态路由帖子(原文地址会在最后贴出) , 可以在 /etc/init.d/network脚本下执行的方法 . 但在这里要说的是一点这个脚本对默认路由的改进


1. 在/etc/init.d/network查找到我们要修改的循环的位置               
[[email protected] ~]# grep -n ‘# Add non interface-specific static-routes.‘ /etc/init.d/network
138:    # Add non interface-specific static-routes.
[[email protected] ~]# 
2. vim打开/etc/init.d/network文件找到刚才查找到行
[[email protected] ~]# vi /etc/init.d/network
打开之后
137
138         # Add non interface-specific static-routes.
139         if [ -f /etc/sysconfig/static-routes ]; then
140            grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
141               /sbin/route add -$args
142            done
143         fi
144         # Add non interface-specific static arp entries.
:set nu                                                                                                            

将第140和141行改为

#Add noninterface-specific static-routes.
if [ -f/etc/sysconfig/static-routes ]; then
  egrep "^1" /etc/sysconfig/static-routes | while read ignore args ;
  do
       /sbin/route $args
  done
fi

这样/sbin/route命令后面就可以接任何参数 , 不用只接add

  1. 在 /etc/sysconfig/目录下建立static-routes,并添加命令
[[email protected] ~]# vi /etc/sysconfig/static-routes
写入
1 add default gw 10.0.0.254
1 del default gw 172.16.1.254

[[email protected] ~]# cat /etc/sysconfig/static-routes
1 add default gw 10.0.0.254
1 del default gw 172.16.1.254
[[email protected] ~]# 

删除172的默认路由 同时建立10网段默认路由
这样在我们重启网卡时 最后会运行这个循环 从而改写默认路由
写法就是正常route修改路由命令 , 将route替代为1 , 在脚本中1会被替换掉

4. 验证
我在执行/sbin/route后面加了一条
          do
       /sbin/route $args
        echo 1111111111111##############
  done

让每次执行route命令时输出一个标识符 好通知已经执行

5. 最后执行验证
[[email protected] ~]# /etc/init.d/network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 10.0.0.41 is already in use for device eth0...
                                                           [  OK  ]
Bringing up interface eth1:  Determining if ip address 172.16.1.41 is already in use for device eth1...
                                                           [  OK  ]
1111111111111##############
1111111111111##############
[[email protected] ~]# 

查看路由表

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         10.0.0.254      0.0.0.0         UG    0      0        0 eth0
[[email protected] ~]# 

静态路由成功~

由于将循环中执行的命令参数删除 ,方便添加其他参数 , 可删除或添加其他路由 , 所以应该没有损失这个脚本原来的使命 , 静态路由还是可以设置的 , 注意一下文件中写法就好了 .

文档中介绍的其他方法或其他文档的方法都试过 , 应该就是这个好用 , 在此给大家分享一下.

参考的文件地址 #https://www.cnblogs.com/mengfanrong/p/4816695.html

原文地址:http://blog.51cto.com/13001576/2062912

时间: 2024-07-31 04:13:24

Linux双网卡静态路由修改的相关文章

linux双网卡配置路由

linux主机原网卡eth0,IP为172.19.74.X/24,新增一块网卡eth1,配置另外一个网段的IP 10.219.17.X/24,发现各自到网关都通,但原172.19.74.X段的主机不能访问这台主机了. 查看路由表发现,默认路由走到新增的那块网卡eth1上去了: 要删掉这条默认的路由,再亲增一条默认路由走原来的eth0 命令: route del default gw 10.219.17.1 dev eth1 route add default gw 172.19.74.1 dev

模拟linux 双网卡双ip,实现multipath多路径连接存储

模拟linux 双网卡双ip,实现multipath多路径连接存储 系统(Centos6.5:oracle-1): eth0:192.168.21.23/24 eth1:172.16.112.17/24 存储Ip:  192.168.21.230 首先要配置iscsi存储,再其次一下操作,我这里配置了两个ISCIS存储 网卡路由配置 由于只能有一个网关,所以要添加静态路由实现双网卡通信 1.编辑网卡eth0,eth1 设置好配置文件,不添加默认网关 # vi /etc/sysconfig/net

Linux双网卡绑定配置

Linux双网卡绑定配置                                       环境介绍 Linux Redhat 6.5.4张网卡 需求 4张网卡两两绑定,4张网卡分别是eth0/eth1/eth2/eth3 其中eth0/eth2绑定(bond0).eth1/eth3绑定(bond1) 原理介绍 什么是bind? 将多块网卡虚拟成为一块网卡的技术,通过bond技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的ip地址. 双网卡工作原理 网卡工作在混杂(promi

xp多网卡静态路由设置方法

xp多网卡静态路由设置方法 一.多个IP都在同一网段或VALN.这类情况没什么好说的,在各块网卡的本地连接属性里设置好IP地址.子网掩码和默认网关即可. 二.多个IP属于不同网段或VLAN.这时如果按照通常的方法设置IP地址,填好各网段的子网掩码和默认网关,就会发现服务器所在的多个网段中,只有一个网段可以正常通信. 这个问题我也是最近才碰到的.经过Google和百度一番,得出原因:路由冲突. 我们知道,Windows系统下为网络连接填写默认网关等于为本机添加一条默认静态路由.打开“本地连接属性”

linux 下配置静态路由

实验拓扑图 1.  首先在B计算机下给eth0和eth1设置IP地址 打开配置文件 #vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=网卡的代号 BOOTPROTO=是否使用 dhcp, 试验中选择不使用 HWADDR=是否加入网卡卡号(MAC) IPADDR=就是IP地址 NETMASK=掩码 NETWORK=网域,也就是你所在的是哪一个网段 ONBOOT=这里要选择启用,也就是YES GATEWAY=网关 BROADCAST=广播地址

Linux 双网卡绑定技术

bond技术是在linux2.4以后加入内核. 一般步骤是1.把bonding模块加入内核, 2 编辑要绑定的网卡设置,去除地址设定 3 添加bond设备,设置地址等配置 4  重启网络 5 在交换机上做支持 具体信息看  内核文档 Documentation/networking/bonding.txt 参考实例: Linux 双网卡绑定一个IP地址,实质工作就是使用两块网卡虚拟为一块,使用同一个IP地址,是我们能够得到更好的更快的服务.其实这项技术在Sun和Cisco 中早已存在,被称为Tr

Linux双网卡绑定脚本

linux运维及配置工作中,常常会用到双网卡绑定,少数几台服务器的配置还好,如果是需要配置几十甚至上百台,难免会枯燥乏味,易于出错,我编写了这个双网卡绑定的辅助脚本,可傻瓜式地完成linux双网卡绑定工作,当然,该脚本主要还是用于小批量的系统配置,如需配置大量的服务器,可提取脚本中的bonding函数,稍作修改即可,你值得一试! 1.适用范围 该shell脚本可在以下linux系统创建多个绑定网卡,用于生产环境没问题的: Redhat 5.x CentOS 5.x Kylin 3.x KUX 2

LINUX 双网卡绑定

cd /etc/sysconfig/network-scripts cp ifcfg-eth0  bak.ifcfg-eth0 cp ifcfg-eth1  bak.ifcfg-eth1 vi ifcfg-bond0 DEVICE=bond0 BROADCAST=192.168.190.255 IPADDR=192.168.190.11 NETMASK=255.255.255.0 GATEWAY=192.168.190.1 ONBOOT=yes USERCTL=no BOOTPROTO=none

Linux双网卡绑定和解除绑定的实现

? 双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.根据交换机可支持的功能不同,最常见的是设定为主备方式的双网卡绑定.Linux双网卡绑定和解除绑定的实现