配置静态路由表 – Linux

查看当前路由表

使用命令netstatroute -n查看当前路由表。

命令
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.50.1 0.0.0.0 UG 0 0 0 ens37
192.168.50.0 0.0.0.0 255.255.255.0 U 0 0 0 ens37
192.168.50.0 0.0.0.0 255.255.255.0 U 0 0 0 ens37
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.189.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33

追加记录到路由表

追加路由表有临时、永久两种方式。可通过命令或修改配置文件实现。

临时追加

可通过命令行实现追加路由表。此处使用routeip这两种方式。

route命令

・追加路由表

命令
$ route add -net 172.20.0.0 gw 172.20.0.1 netmask 255.255.0.0 ens33

・追加特定host(的路由)

命令
$ route add -host 172.20.233.10 gw 172.20.0.1 ens33

-net变成-host后,不需要子网掩码netmask
另外,单一网卡时,可以不必要指定接口ens33 。

ip命令

・network的追加
命令
$ ip route add 172.20.0.0/16 via 172.20.0.1 dev ens33
・追加单个host
命令
$ ip route add 172.20.39.128/32 via 172.20.0.1 dev ens33

此处,host与network的区别仅在子网掩码,添加具体host时使用/32。

永久追加(以CentOS为例)

使用命令追加的话,系统一旦重启,设定即会消失。
下文将介绍使路由表永久生效的方法。

文件
$ cat /etc/sysconfig/network-scripts/route-ens33 
# Static route for metadata service
172.20.0.0/16 via 172.20.0.1 dev ens33 // 设置network路由表时
192.168.189.123/32 via 192.168.189.1 dev ens37 // 指定具体host的路由时
文件
$ systemctl restart network.service

查看路由表

设定后的结果如下所示。

命令
$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.20.0.1      0.0.0.0         UG        0 0          0 ens33
172.20.0.0      172.20.0.1      255.255.0.0     UG        0 0          0 ens33
192.168.189.123 192.168.189.1   255.255.255.255 UGH       0 0          0 ens37

删除路由表

删除路由表也有临时与永久两种方式。同理,单行命令删除为临时;永久删除需要修改配置文件。

临时删除

临时删除与追加一样使用同一个命令,routeip

route命令

・删除网段(network)记录

命令
$ route del -net 172.20.0.0 gw 172.20.0.1 netmask 255.255.0.0 ens33

・hostの削除

命令
$ route del -host 192.168.189.128 gw 192.168.189.1 ens37

与追加的时候相同,networkhost的区别在于-net变成-host的时候,不需要子网掩码netmask。且可以不写ens33

ip命令

・删除网段的路由表

命令
$ ip route del 172.20.0.0/16

・删除具体host的路由表

命令
$ ip route del 192.168.189.128/32

同理,与追加的时候一样,更改单个host路由表时,子网掩码只用写/32

永久删除

仅需要将上文配置文件中添加的部分删除,重启服务即可。

确认

命令
$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.20.0.1      0.0.0.0         UG        0 0          0 ens33
172.20.0.0      172.20.0.1      255.255.0.0     UG        0 0          0 ens33
192.168.189.123 192.168.189.1   255.255.255.255 UGH       0 0          0 ens37

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/100912

(3)
无名无名
上一篇 2018-06-12 15:45
下一篇 2018-06-12 15:59

相关推荐

  • 模拟网络访问解析

    搭建局域网DNS解析,具体实现功能如下图 注:该测试只有正向解析 项目流程图 1. 项目前准备关闭防火墙和SELINUX,配置网络 ①开启8台机器 ②关闭防火墙及selinux iptables -vnL #查看防火墙状态 systemctl stop firewall #关闭防火墙 getenforce #查看SELinux状态 setenforce 0 …

    2018-06-04
  • RPM包管理和YUM仓库的总结

    1,软件运行和编译
    2,RPM包使用于管理
    3,YUM仓库创建与管理

    2018-04-20
  • 日常——sed练习

    1、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符# sed -i.bak ‘s/^[[:space:]]*//’ /data/grub2.cfg2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符# sed -i.bak ‘s@^#[[:…

    2018-04-13
  • 08 tr命令练习

      tr命令 转换或删除字符 tr tr [OPTION]… SET1 [SET2]   -c 取反   -d 删除   -s 如果有重复字符,则代替为一个字符-压缩   -t 使set1长度和set2长度一致 示例1: tr set1 set2        将set1字符转换为set2要求的字符

    Linux笔记 2018-04-05
  • awk的使用

    awk -v设置变量 -F 指定分隔符 内置变量 FS:输入字段分隔符,默认为空白字符,读入内容的分隔符 OFS:输出字段的分隔符 RS:指定行(记录)分隔符 ORS:输出记录分隔符 NF:字段数量 NR:记录的数量 ARGC:命令行参数的个数 ARGV:数组,保存的是命令行所有的参数   例1:不依赖文件和标准输入 [root@centos7 ~…

    Linux笔记 2018-05-21
  • mysql数据库三:

    用户权限管理和访问限制,数据库的锁定;索引和日志

    2018-06-09