linux系统添加路由命令_linuxeth1添加路由

linux系统添加路由命令_linuxeth1添加路由添加到主机的路由routeadd-host192.168.1.2deveth0:0routeadd-host10.20.30.148gw10.20.30.40添加到网络的路由routeadd-net10.20.30.40netmask255.255.255.248eth0routeadd-net10.20.30.48netmask255.255.255.248gw10.20.30.41routeadd-net192.168.1.0/24eth

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Linux添加临时路由及永久路由的方法

一:使用 route 命令添加
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
//添加到主机的路由

route add –host 192.168.1.11 dev eth0

route add –host 192.168.1.12 gw 192.168.1.1

//添加到网络的路由

route add –net 192.168.1.11 netmask 255.255.255.0 eth0

route add –net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1

route add –net 192.168.1.0/24 eth1

//添加默认网关

route add default gw 192.168.2.1

//删除路由

route del –host 192.168.1.11 dev eth0

删除默认路由

#route del default gw 192.168.2.1

二:在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
方法:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254

2.在/etc/sysconfig/network里添加到末尾
方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev

3./etc/sysconfig/static-routes : (没有static-routes的话就手动建立一个这样的文件)
any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129

4.开启 IP 转发:

echo “1” >/proc/sys/net/ipv4/ip_forward (临时)

vi /etc/sysctl.conf –> net.ipv4.ip_forward=1 (永久开启)

这里并没有错误的地方,只不过之前没有接触对这些参数没什么想法,这次正好研究了下,大概了解了下没个参数的意思。
首先从最简单的是route add方法:
route add这个是添加路由的命令,这个没什么好说的,然后是后面的-host和net参数,根据紧跟参数后面的信息可以发现host指的是添加一个主机到路由中,net是添加一个网段到路由中。在后面的参数是dev和gw,字面理解加上后面紧跟的值判断,dev表示这个host或者这段net走的是那个网口,gw是gateway,自然是通过哪个网关了。对这里为何指定网口或者指定网关都行呢,我的认识是这样的,网口上配置有网关的信息,指定的网口其实最终还是去读取这个网口对应的网关信息,等效于指定gw参数。不过指定网口一般是由于有多个网络环境的情况,如果网口没有指定网关,会去读取默认的网关,所以这里一般要求把网口的网关信息配置上去,在linux下很多时候网关信息并不是配置在网口的配置文件,比如:/etc/sysconfig/network-scripts/ifcfg-eth0 文件里面,而是在/etc/sysconfig/network这里面,所以在用dev参数的时候需要小心这点,尽可能通过指定gw的方式。
为什么会介绍到route add方法,因为后面会有用到。现在回到主题,关于static-routes的设置。网上一般的都是写着:
any net 192.168.3.0/24 gw 192.168.3.254
设置的都是整个网段的,但如果是单个主机怎么设置呢?同时从厂家那边给了一个脚本是:
eth0 x.x.x.x netmask 255.255.255.192 gw x.x.x.x
看上去也很对的样子,但是执行发现netstat -an里面看不到添加的信息,完全不行。
然后我们在看下static-routes这个文件的作用,根据网上的说法,static-routes其实在被network这个脚本调用的,打开这个脚本:
/etc/rc.d/init.d/network
里面有写到:

Add non interface-specific static-routes.

if [ -f /etc/sysconfig/static-routes ]; then
grep “^any” /etc/sysconfig/static-routes | while read ignore args ; do
/sbin/route add – a r g s d o n e f i n e t w o r k 在执行的时候到 s t a t i c − r o u t e s 里面寻找 a n y 开头的行,然后执行 / s b i n / r o u t e a d d − args done fi network在执行的时候到static-routes里面寻找any开头的行,然后执行 /sbin/route add – argsdonefinetwork在执行的时候到staticroutes里面寻找any开头的行,然后执行/sbin/routeaddargs 相当于手动执行了route add脚本,那后面事情就简单了,回到了手动执行的方式,根据前面的说明,正确的脚本就是:
any host 10.0.0.10 gw 192.168.1.1
network执行的时候把any去掉,获取后面的参数:host 10.0.0.10 gw 192.168.1.1
然后执行route add -host 10.0.0.10 gw 192.168.1.1
注意这里host前面的-是network自带的,不需要配置到static-routes文件中。
###############################
echo “route add -net 172.16.100.0/24 gw 192.168.6.249” >>/etc/rc.local 使得在系统重启之后,加入这条命令。
################################################################
Debian/Ubuntu RedHat/CentOS/Fedora如何永久添加静态路由

目前Linux系统网络配置基本都差不多,但是不同的发行版又有些不同,常见主要区分两大类型:
(1)RedHat(RHEL)/CentOS/Fedora Linux是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面。
(2)Debian/Ubuntu Linux网络配置则是存在/etc/network/目录下面的几个文件里面。

比如我们要给linux系统添加静态路由,就要区分不同的平台,RedHat(RHEL)/CentOS/Fedora Linux环境永久添加静态路由通常是写在诸如/etc/sysconfig/network-scripts/route-eth0这些文件里。而Debian/Ununtu下有所不同,添加路由的脚本放到/etc/network/interfaces里执行。

一、Debian平台实例:
Debian/Ununtu添加路由的脚本放到/etc/network/interfaces里执行:
auto eth0
iface eth0 inet static
address 192.168.1.88
netmask 255.255.255.0
gateway 192.168.1.1
up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
down route del -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1

二、RedHat、CentOS、Fedora平台实例:
使用配置文件/etc/sysconfig/network-scripts/route-interface,interface可以根据实际的网卡换成网卡名,比如我要在eth0上加静态路由,那就写route-eth0
配置文件的格式如下:

ADDRESS0=X.X.X.X
NETMASK0=x.x.x.x
GATEWAY0=X.X.X.x

如果有多条静态路由要建立,那么继续在文件里追加,ADDRESS、NETMASK、GATEWAY后面的数字递增即可。如有2条记录:

ADDRESS0=X.X.X.X
NETMASK0=x.x.x.x
GATEWAY0=X.X.X.x

ADDRESS1=X.X.X.X
NETMASK1=x.x.x.x
GATEWAY1=X.X.X.x

采用规范的方法的好处如下:
1.系统启动的时候自动加上这些静态路由,无需写rc.local
2.如果修改了静态路由,只需要service network restart即可,无需手动使用route命令增删静态路由

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185921.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • htc u11第三方rom_htc手机windows系统

    htc u11第三方rom_htc手机windows系统小弟写得差请勿拍砖,如果有意见请直接回复本贴!谢谢!技术有限,部分可能不详细或者错误的请各位指出,大家交流!前言:一个完整的ROM根目录会有以下几个文件夹及文件:dataMETA-INsystemboot.img系统目录说明1.应用程序安装目录1)系统应用程序所在目录/system/app/*.apk2)用户安装应用程序所在目录/

    2022年10月15日
  • Jenkins(5)生成allure报告

    Jenkins(5)生成allure报告前言jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查看allure报告了。allure安装在运行代码的服务器本机,我这里是用的dock

  • spring中@EventListener 的详解和使用

    spring中@EventListener 的详解和使用转载:面了个35的程序员,让我莫名的慌了。。。(欢迎关注原文作者公众号:Java充电社)面了个35的程序员,让我莫名的慌了。。。原创路人甲Java路人甲Java2020-05-10收录于话题#Spring高手系列55个内容月底免费送书活动,这两天是最后的机会,大家尽快参与!面试官:看你是85年的我:嗯,35了面试官:那应该经验很丰富了,那我们来聊聊spring吧我:好,这块我用了10几年了,你随便问吧面试官:Spring中的事件用过么?我:用过…

    2022年10月23日
  • docker下修改mysql配置文件[通俗易懂]

    docker下修改mysql配置文件[通俗易懂]由于需要修改mysql的sql_mode,在命令行修改每次重启都会失效,因为修改docker下mysql的配置文件。操作系统:centos7docker版本:Dockerversion17.05.0-ce,build89658bemysql版本:5.7.181.拉取镜像dockerpullmysql:5.7.182.列出镜像[root@zk01~]#dockerimages

  • from_unixtime函数类型_localtime_r函数

    from_unixtime函数类型_localtime_r函数Unix时间戳(Unixtimestamp),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。在MySQL中如何格式化时间戳?在mysql中因为

  • Jenkins(2)docker容器中安装python3[通俗易懂]

    Jenkins(2)docker容器中安装python3[通俗易懂]前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号