Linux系統運維 路由管理

2021-08-19 15:14:07 字數 3144 閱讀 8736

在linux系統中管理路由的方法有多種,本文主要介紹如何通過命令管理靜態路由和策略路由

1.使用route在linux系統中管理路由:

使用 route 命令,可以實現對linux系統中路由資訊的管理,route的命令格式:

route  [add|del] [-net|-host] target [netmask nm] [gw gw] [[dev] if]
其中:

在命令列使用route命令新增的路由,重啟系統或者網絡卡後路由就失效

2.在linux系統中新增永久路由:

示例1:

開啟/etc/rc.local檔案寫入新增路由資訊的命令:

vim   /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 檔案中寫入預設閘道器:

vim  /etc/sysconfig/network (新增到末尾)

語句:gateway=gw-ip 或者 gateway=gw-dev

示例3:

在/etc/sysconfig/static-routes (如果沒有此檔案,就手動建立乙個)  檔案中寫入路由資訊:

語句:any net 192.168.3.0/24 gw 192.168.3.254

any net 10.250.228.128/24 dev eth1

注意:使用在rc.local中新增路由方法,會造成依賴於此路由的nfs服務無法開機自動掛載。因為按照linux的啟動順序,rc.local裡面的內容是在linux所有服務都啟動完畢後才被執行的,也就是說,這裡面的命令是在nfs之後才被執行的,在nfs服務啟動時伺服器上的靜態路由是沒有被新增的,所以會導致nfs掛載不能成功。而static-routes檔案是/etc/sysconfig/network(centos7以下版本)指令碼執行時呼叫的乙個檔案,在network指令碼中的位置是:

從這段指令碼可以看到,如果static-routes檔案存在,就執行route命令,並將檔案中的每行的內容,去掉首個字段,其餘部分做為引數新增相應路由資訊。

這樣的話,在系統啟動時路由就自動新增上了,又因為network是在nfs服務前面啟動,就不會出現nfs開機無法自動掛載的問題了。這樣看來,如果需要新增靜態路由,使用static-routes檔案要比使用rc.local好,而且當改變了網路配置,需要重啟network指令碼的時候,相應的靜態路由是可以自動新增上的,但如果使用rc.local的話,在重啟network服務的時候,原本新增好的靜態路由就消失了。

3.route和ip route的區別:

和route相比,ip的功能更強大,route命令只能在預設的路由表中新增路由,無法對策略路由進行管理,當主機有多個網絡卡並繫結多個ip時,需要配置策略路由。

示例:多網絡卡繫結多個ip配置策略路由

在「/etc/iproute2/rt_tables」檔案中增加兩張路由表名稱(net1和net2)和路由表優先順序(252和251,優先順序數值越小表示優先順序越高)

vim  /etc/iproute2/rt_tables

# added for dual net

252 net1

251 net2

在/etc/rc.local中新增路由資訊,以兩張網絡卡(eth0和eth1)的ip位址分別為:192.168.1.23和192.168.2.4,閘道器位址分別為:192.168.1.1和192.168.2.1為例,需要新增的資訊如下:

# request ip address for eth1

dhclient eth1

# add routes

ip route flush table net1

ip route add default via 192.168.1.1 dev eth0 src 192.168.1.23 table net1 #在net1中新增預設路由:源是1.23,閘道器是1.1,出口是eth0

ip rule add from 192.168.1.23 table net1 #從1.23來的資料報找錶net1

ip route flush table net2

ip route add default via 192.168.2.1 dev eth1 src 192.168.2.4 table net2

ip rule add from 192.168.2.4 table net2

配置策略路由的方法(臨時):

第一步:在/etc/iproute2/rt_tables檔案中新增路由表並指定優先順序

linux 系統中,使用者可以自定義從 1-252個路由表,檔案中預設已存在了4個路由表

0#表: 系統保留表

253#表: defulte table 沒特別指定的預設路由都放在該錶

254#表: main table  沒指明路由表的所有路由放在該錶

第二步:新增路由資訊

ip route add default via 192.168.120.1  dev eth1 table net1    #新增一條預設路由,下一跳是192.168.120.1出口是eth1

ip rule add  from 192.168.120.132 lookup  test 或者  ip rule add from 192.168.120.132 table  net1  

#從192.168.120.132過來的資料報檢視test表的路由資訊

新增完成後從192.168.120.132過來的流量都走eth1,出口是192.168.120.1

Linux系統運維

linux系統運維 本書作者劉遄 liu chu n 從事於linux運維技術行業,高中時期便因興趣的驅使而較早地接觸到了linux系統並開始學習運維技術,並且在2012年獲得紅帽工程師rhce 6版本證書,在2015年初又分別獲得紅帽工程師rhce 7版本證書與紅帽架構師認證rhca頂級證書。儘管...

Windows系統運維轉linux系統運維的經歷

開篇之前,首先介紹一下我的背景把 我是乙個三線城市的甲方運維。最近,在 linux 就該這麼學 書籍的影響下和朋友小a linux運維已經三年了,工資也比我的高很多 的影響下,決定轉行。最近花了三個星期的時間學習了linux基礎,想換乙份linux的工作個人覺得十分困難。不禁在思考該怎樣繼續下去呢?...

Windows系統運維轉linux系統運維的經歷

開篇之前,首先介紹一下我的背景把 我是乙個三線城市的甲方運維。最近,在 linux 就該這麼學 書籍的影響下和朋友小a linux運維已經三年了,工資也比我的高很多 的影響下,決定轉行。最近花了三個星期的時間學習了linux基礎,想換乙份linux的工作個人覺得十分困難。不禁在思考該怎樣繼續下去呢?...