在日常的使用中,或者在服务器中,有两个网卡配置两个地址,访问不同的网络段,这种情况是非常常见的现象,但是,我们需要额外的添加路由表来决定发送的数据包经过正确的网关和interface才能正确的进行通信
今天来介绍在linux操作系统中如何添加路由(主要针对redhel系列,测试平台为redhel5.4)
建议使用 写入/etc/sysconfig/static-routes文件 的方式。
一、使用route命令添加临时路由
添加到主机的路由
# route add -host 192.168.1.123 dev eth0
# route  add -host 192.168.1.123 gw192.168.1.1
添加到网络的路由
# route add -net 192.168.1.123 netmask 255.255.255.0eth0
# route add -net 192.168.1.123 netmask 255.255.255.0 gw192.168.1.1
# route add -net 192.168.1.123 netmask 255.255.255.0 gw192.168.1.1 eth1
# route add -net 192.168.1.0/24 eth1
添加默认网关
# route add default gw 192.168.1.1
删除路由
# route del -host 192.168.1.11 dev eth0
# route del -net 192.168.1.123 netmask 255.255.255.0
 
二、在linux中添加永久路由的方法
1、写入/etc/rc.loacl
可以将上面提到的命令写入/etc/rc.local文件中,这样在系统启动的时候会自动加入相关的路由设置
不过这种方法有一个缺点:如果某个系统服务,比如说是NFS服务,这个服务是在启动network服务之后,在执行rc.local之前,如果你设置的有自动挂载的nfs,那么,这里链路的不通畅,会造成挂载的失败。另外一个就是如果你重启了网络服务器,那么路由就失效了,这个时候你不得不重新加载这个文件,但是如果你是远程操作的呢?所以,这个方法不是非常的不推荐
 
2、在/etc/sysconfig/network里添加到文件末尾,格式如下(注:未验证有效性):
GATEWAY=gw-ip 或者 GATEWAY=gw-dev
这种方式从外观上来看只能用于添加默认网关了。。。对于多路网络环境貌似不太适合的样子
 
3、直接写入ifcfg文件
在配置ip地址的时候直接将GATEWAY的配置写入ifcfg文件,形式:GATEWAY=gw-ip
适合添加默认路由
 
4、写入/etc/sysconfig/static-routes文件
默认在/etc/sysconifg目录中是没有这个文件的,需要我们手工创建,对这个文件的调用在下面:
/etc/init.d/network:
    159        # Add noninterface-specific static-routes.
    160        if [ -f/etc/sysconfig/static-routes ]; then
    161          grep "^any"/etc/sysconfig/static-routes | while read ignore args ; do
    162            /sbin/route add -$args
    163          done
    164        fi
/etc/sysconfig/static-routes:
any net 192.168.1.0/24 gw 192.168.1.24
any net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
这种方式的话,和rc.local比较而言,比较实用,还比如nfs,这个路由的生效时间是在网络服务network启动的时候生效的,而其他的一些网络相关服务都是在网络服务启动成功之后再启动的,所以能够保证网络链路的通畅。
而且,如果我重启了网络服务,这个脚本是在网络服务启动脚本里面调用的,所以也会自动添加上相关的路由设置

linux添加静态路由表,重启继续生效(转载)的更多相关文章

  1. linux添加静态路由表,重新启动继续有效

    在日常使用中.要么server于.有两个地址,两块网卡的配置,访问不同网段.这样的情况是非常普遍的现象.但,我们需要添加到路由表中的一个额外的,以确定通过正确的网关发送的数据包,并interface能 ...

  2. linux 添加静态路由

    Linux下静态路由修改命令方法一:添加路由route add -net 192.168.0.0/24 gw 192.168.0.1route add -host 192.168.1.1 dev 19 ...

  3. VPN添加静态路由表(指定程序或资源走VPN)

    在某此情况下,我们希望为VPN客户端指定线路,比如只有公司的资源或网站才使用VPN连接,其它的网络请求依然走他们自己的默认网关. 这种情况下,我们就需要给VPN客户端添加静态路由规则并取消VPN连接的 ...

  4. linux添加静态路由

    1.使用route命令,查看本机路由直接输入route回车即可.route 命令参数: add     增加路由 del     删除路由 -net    设置到某个网段的路由 -host   设置到 ...

  5. Linux下添加静态路由表设置网关出现SIOCADDRT: Network is unreachable的问题分析

    场景: # route add default gw 192.168.4.1 route: SIOCADDRT: Network is unreachable 解释: 1.先ping一下网关,但是pi ...

  6. Linux 设置静态路由表

    一般来说多半不会使用到这个操作,但是最近有几台服务器需要多网卡,一个内网一个外网.导致网络访问内网有时候不通,这就需要我们手动写一下路由表了.操作如: 创建配置文件 网卡配置路径:/etc/sysco ...

  7. linux 添加静态ip dns

    /etc/network 下:interfaces auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 192.16 ...

  8. linux 添加elasticsearch 开机重启(自启动)

    在 /etc/init.d 文件夹下建立脚本 eg:data.sh #chkconfig: 2345 80 90#description:auto_run#!bin/bashexport JAVA_H ...

  9. 小米路由通过SSH添加静态路由表之后无法跳转的问题

    1.确定系统已经开启了转发功能: /etc/sysctl.conf下的配置项目为net.ipv4.ip_forward = 1 2.关闭防火墙的REJECT,也就是修改/etc/config/fire ...

随机推荐

  1. WifiDog系统

    WifiDog:A captive portal suite What is it composed of ? A: It is composed of 2 components: The clien ...

  2. nodejs学习笔记之包、模块实现

        简单了解了node的安装和一些基本的常识之后,今天学习了node中很重要的包和模块的一些知识点.       首先学习一下包的规范,它由包结构和包描述两部分组成.包结构用于组织包的各种文件,包 ...

  3. 2D丛林逃生

    游戏介绍: 游戏地图采用二维数组:     每一个小块(Piece)类         上面有一个类型(StuffType)用于判断该小块上面站着的是什么 怪物,玩家,血瓶等等     怪物AI:   ...

  4. python threading基础学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' """ python是支持多线程的,并 ...

  5. python学习之路-4 内置函数和装饰器

    本篇涉及内容 内置函数 装饰器 内置函数 callable()   判断对象是否可以被调用,返回一个布尔值 1 2 3 4 5 6 7 8 9 10 11 num = 10 print(callabl ...

  6. 详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON() —(转)

    一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该 ...

  7. ci 笔记

    一.CI的HelloWorld! 注意:CI禁止直接通过文件目录来访问控制器. ./application/controllers/hello.php 1 <?php 2 //放止用户直接通过路 ...

  8. 3. QT窗体间值的传递(续)

    一.前言 上篇博客中通过重载子窗体的构造函数将主窗体的值传入到子窗体,但是在子窗体运行过程中如何才能将值动态的传入到子窗体?可以有两种办法,1.信号和槽的方式传值:2.主窗体中将传出值设置为publi ...

  9. 手机版和PC版识别

     1.C#通过User-Agent 处理 //判断 是否来自手机终端 public bool checkMoble() { string userAgent = Request.Headers[&qu ...

  10. 如何安装,卸载eclipse中的ADT,或者更新ADT

    昨天手贱把Android的SDK升级了,然后搞到ADT的版本不对应,然后从网上搜了一些办法~效果还可以,重新安装了一次ADT. 卸载ADT的方法,方法如下(我的Eclipse版本为3.5): 1.选择 ...