当前位置: 首页 > news >正文

linux添加静态路由表,重启继续生效(转载)

在日常的使用中,或者在服务器中,有两个网卡配置两个地址,访问不同的网络段,这种情况是非常常见的现象,但是,我们需要额外的添加路由表来决定发送的数据包经过正确的网关和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启动的时候生效的,而其他的一些网络相关服务都是在网络服务启动成功之后再启动的,所以能够保证网络链路的通畅。
而且,如果我重启了网络服务,这个脚本是在网络服务启动脚本里面调用的,所以也会自动添加上相关的路由设置

转载于:https://www.cnblogs.com/jjzd/p/5688856.html

相关文章:

  • myeclipse中遇到tomcat jdk name错误处理的办法
  • C -- OC with RunTime
  • tomcat中三种部署项目的方法
  • MyEclipse开发WEB 应用入门
  • 使用pinyin4j汉字转pinyin
  • 在MYEclipse中部署JSP
  • [代码大全读书笔记]如何定义一个好的变量名
  • servlet.getServletContext()和getServletConfig(),什么意思和用法
  • OpenStack-Mitaka 一键安装测试环境脚本
  • Application, Session, Cookie, Viewstate, Cache对象用法和区别
  • !!Dom4j 学习笔记
  • 豪华的办公设备
  • DOM详解
  • Apache FileUpload 上传以及 JExcelApi 解析
  • this的使用
  • 【node学习】协程
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 2017-08-04 前端日报
  • Druid 在有赞的实践
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • JS 面试题总结
  • JS数组方法汇总
  • October CMS - 快速入门 9 Images And Galleries
  • Python 反序列化安全问题(二)
  • Python十分钟制作属于你自己的个性logo
  • Spring Cloud中负载均衡器概览
  • tensorflow学习笔记3——MNIST应用篇
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 大数据与云计算学习:数据分析(二)
  • 聊聊directory traversal attack
  • 深度学习在携程攻略社区的应用
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • $.ajax中的eval及dataType
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (4) PIVOT 和 UPIVOT 的使用
  • (Python第六天)文件处理
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (论文阅读30/100)Convolutional Pose Machines
  • (三)docker:Dockerfile构建容器运行jar包
  • (译)2019年前端性能优化清单 — 下篇
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)ObjectiveC 深浅拷贝学习
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET 设计模式初探
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @Bean, @Component, @Configuration简析
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • [android] 天气app布局练习