配置靜態路由表 – 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.www58058.com/100912

(3)
無名無名
上一篇 2018-06-12
下一篇 2018-06-12

相關推薦

  • 進程和計劃任務

    進程和計劃任務 一、 進程 程序:是在磁盤上的一個文件,只要不去運行它就是一個靜態文件,不占用內存空間; 進程:process是一個動態的概念,只有當用戶將程序運行起來時才會有進程,當進程執行完畢時,就會從內存中刪除。 線程:thread?? pstree –p 命令顯示中{}中的即為線程。 一個進程會對應一個程序,而一個程序可能會對應多個進程。 一個進程里…

    2018-05-05
  • LAMP搭建及SQL基礎

    LAMP搭建及SQL基礎

    2018-05-24
  • Linux的命令機制

    Linux的命令機制 命令格式 COMMAND [OPTIONS…] [ARGUMENTS…]選項:用于啟用或關閉命令的某個或某些功能短選項:-c 例如:-l, -h長選項:–word 例如:–all, –human-readable參數:命令的作用對象: 比如文件名和作用名 注意 1. *多個選項…

    Linux筆記 2018-04-01
  • Linux筆記

    一、計算機系統(系統、硬件、)
    二、安裝虛擬機

    2018-07-19
  • 二進制編譯MariaDB

    安裝環境 iptables selinux mariadb-server 卸載 創建賬號 useradd -r -d /data/mysqldb -s /sbin/nologin mysql 解壓縮 tar xvf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/ 創建軟鏈接 cd /usr/local l…

    Linux筆記 2018-06-10
  • 相信過程-馬哥教育

    IT工程師工作和學習都是比較枯燥的,過于目標化忽略了過程本身并不適合我,如果我來這里能使我全心全意投入到一段學習當中,我覺得來這里目標就達到了。其他的事情自然會水到渠成。 大家共勉!

    2018-07-21
欧美性久久久久