1. 程式人生 > >linux route命令

linux route命令

考試題一:linux下如何新增路由(百度面試題)

以上是原題,老男孩老師翻譯成如下3道題。

a.如何用命令列方式給linux機器新增一個預設閘道器,假設閘道器地址為10.0.0.254?

b. 192.168.1.0網段, 192.168.1.1閘道器的某一伺服器想連入172.16.1.0/24段,該如何新增路由(奇虎360)

c.如果新增一個主機路由?

請分別解答。

解答:route -net 172.16.1.0/24 gw 192.168.1.1

route 命令使用方法:

a.預設閘道器路由

    預設閘道器就是資料包不匹配任何設定的路由規則,最後流經的地址關口!閘道器按字面意思就是網路的關口,就相當於我們家裡房子的門一樣,如果外出就要經過房門,資料包也是一樣。

本題的答案:

route del default gw 10.0.0.254

解答實踐:

[[email protected] ~]# route -n #==>檢視路由表,netstat -rn也可以。

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0       0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     0      0       0 eth0

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0

#==>這裡就是系統的預設閘道器資訊,表示去任何地方(0.0.0.0),都發給10.0.0.254,因為是預設閘道器,所以,放在了最後一條。路由也是有順序的,如果不符合任何一條規則就交給預設閘道器處理。

[[email protected] ~]# route del default gw 10.0.0.254 #==>這個命令是刪除預設的閘道器。

[[email protected] ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0       0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     0      0       0 eth0

[[email protected] ~]# route add default gw 10.0.0.254    #==>這個命令是新增預設的閘道器,也是本題的答案。

[[email protected] ~]# netstat -rn

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0 #==>又回來了

[[email protected] ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0       0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     0      0       0 eth0

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0 #這裡就是新增的預設閘道器記錄。

特別強調:實際上route add default gw 10.0.0.254 就相當於route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.0.254

b.網路路由:即去往某一網路或網段的路由

    一般多網段之間互相通訊,希望建立一條優先路由,而不是通過預設閘道器時就可以配置網路路由。還是拿房子比喻,你現在不是要出門,而是臥室,衛生間,去臥室就要經過臥室的門,去衛生間也要經過衛生間的門,這裡的臥室和衛生間的門就可以認為是去往某一網段的路由,而不是預設路由(即房子的門。)

    實際工作中會有需求,兩個不同的內部網路之間互訪,而不是出網訪問,就是上面例子的情況。

    本題的答案:

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

解答實踐:

[[email protected] ~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

SIOCADDRT: 網路不可達 #==>當連不通地址192.168.1.1時,無法新增路由。

[[email protected] ~]# ifconfig eth0:0 192.168.1.1/24 up #==>新增一個IP別名用於臨時測試,如果永久生效最好加雙網絡卡或寫入到配置檔案。

[[email protected] ~]# ifconfig eth0:0 #==>檢視新增的IP別名(網路裡把這種多IP的方式稱為子介面)

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:65:A4:FD 

          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

再來新增去192.168.1.0的資料包,交給192.168.1.1處理。

[[email protected] ~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

[[email protected] ~]# netstat -rn   #==>和route -n很像。

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0

192.168.1.0     192.168.1.1     255.255.255.0   UG        0 0          0 eth0 #==>這就是網路路由

192.168.1.0     0.0.0.0         255.255.255.0   U         0 0         0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0

0.0.0.0         10.0.0.254      0.0.0.0         UG        0 0          0 eth0

拓展:其他寫法

[[email protected] ~]# route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0  #==>指定裝置而不是地址。

[[email protected] ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0       0 eth0

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

192.168.1.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     0      0       0 eth0

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0

[[email protected] ~]# route del -net 192.168.1.0/24 dev eth0   

[[email protected] ~]# route add -net 192.168.1.0/24 dev eth0   

[[email protected] ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0       0 eth0

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     0      0       0 eth0

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0

總結:

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0

route add -net 192.168.1.0/24 dev eth0 

route del -net 192.168.1.0/24 dev eth0  

特別強調:以上配置在重啟網路時都會失效,那麼如何讓它永久生效呢?

如果要是永久生效,有如下幾種方法:

方法一:

vi /etc/sysconfig/network-scripts/route-eth0  #預設不存在此檔案

加入如下內容:

192.168.1.0/24 via 192.168.1.1

提示:寫到配置裡,重啟網路服務和重啟系統都會生效!

方法二:

vi /etc/sysconfig/static-routes  #預設不存在此檔案

加入如下內容:

any net 192.168.1.0/24 gw 192.168.1.1

提示:寫到配置裡,重啟網路服務和重啟系統都會生效!

方法三:

vi /etc/rc.local

加入如下內容:

route add -net 192.168.1.0/24 gw 192.168.1.1

PS: 方法一推薦生產環境使用

提示:方法三寫到/etc/rc.local裡只在開機時載入,當手工重啟網路後會失效,但是重啟系統後會生效!

如果是配置預設路由閘道器可以再網絡卡配置裡:

[[email protected] ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-eth0

GATEWAY=10.0.0.254

c.主機路由:就是去往某個主機地址如何配置路由

/sbin/route add -host 192.168.2.13 dev eth2

/sbin/route add -host 202.81.11.91 dev lo

例如:keepalived或heartbeat高可用伺服器對之間的使用單獨網絡卡接心跳線通訊就會用到以上主機路由。

route命令拓展:

刪除一條預設路由:

route del default gw 10.0.0.254

刪除一條靜態路由:

route del –net 目標網路 netmask

如:route del -net 192.168.1.0/24 或route del -net 192.168.1.0 netmask 255.225.255.0

刪除一條主機路由:

route del -host 192.168.1.10 dev eth0

有關route命令更詳細的內容需要大家執行man route檢視幫助,並仔細總結。

有關此題,我們談下多網段生產環境網段劃分及路由的解決方案(1000臺機器劃分網段方案)。我們能感受到route命令不同功能應用案例。

相關推薦

Linux route命令詳解和使用,以及網卡命令詳解

linux 路由 網卡一 路由的基礎知識:1)路由概念路由: 跨越從源主機到目標主機的一個互聯網絡來轉發數據包的過程路由器:能夠將數據包轉發到正確的目的地,並在轉發過程中選擇最佳路徑的設備路由表:在路由器中維護的路由條目,路由器根據路由表做路徑選擇直連路由:當在路由器上配置了接口的IP地址,並且接口狀態為

Linux route命令詳解

play mar ott linux 寫入 src 備註 重新 啟動 Linux系統的route命令用於顯示和操作IP路由表, 要實現兩個不同的子網之間的通信,需要一臺連接兩個網絡的路由器,或者同時位於兩個網絡的網關來實現。 備註:直接在命令行下執行route命令來添加

linux route 命令

route命令輸出的路由表字段含義如下:     Destination 目標           The destination network or destinati

linux route命令使用

說明:route命令是列印和操作ip路由表描述:route操作基於核心ip路由表,它的主要作用是建立一個靜態路由讓指定一個主 機或者一個網路通過一個網路介面,如eth0。當使用"add"或者"del"引數時,路由表被修改,如果沒有引數,則顯示路由表當前的內容。引數說明:ad

linux route命令

考試題一:linux下如何新增路由(百度面試題)以上是原題,老男孩老師翻譯成如下3道題。a.如何用命令列方式給linux機器新增一個預設閘道器,假設閘道器地址為10.0.0.254?b. 192.168.1.0網段, 192.168.1.1閘道器的某一伺服器想連入172.16

linux route命令的使用詳解

使用下面的 route 命令可以檢視 Linux 核心路由表。 # routeDestination     Gateway         Genmask Flags Metric Ref    Use Iface  192.168.0.0     *        

Linux路由表信息-route命令

當前 表示 nat dev 通過 網絡接口 targe 直接 pre 使用命令 :route route 命令 顯示和設置Linux路由表 -A:設置地址類型; -C:打印將Linux核心的路由緩存; -v:詳細信息模式; -n:不執行DNS反向查找,直接顯示數

Linux常用命令41:route命令

增加 time 顯示 不同 網卡 子網掩碼 靜態路由 nstat ble Linux系統的route命令用於顯示和操作IP路由表(show / manipulate the IP routing table)。要實現兩個不同的子網之間的通信,需要一臺連接兩個網絡的路由器,或

Linuxroute命令詳解

linux route路由詳解為了讓設備能訪問另一個子網,需要在設備裏增加路由到子網絡,下面是一些資料。基本操作如下: 一般來說,都是為了能訪問別的子網才設置路由的,比如說,你的主機處於192.168.10.0/24,而你想訪問192.168.20.0/24網的主機,當然你知道一個網關IP,例如192.168

linux與windows的route命令

linux ifconfig eth0 192.168.45.101 ifconfig eth0 up route //顯示路由資訊 route add -net 192.168.45.0 gw 192.168.45.254 eth0   &nb

linux ip route 命令詳細解釋

D.2.1. Displaying a routing table with ip route show In its simplest form, ip route can be used to display the main routing table output. The output of

每天一個linux命令route命令

Linux系統的route命令用於顯示和操作IP路由表(show / manipulate the IP routing table)。要實現兩個不同的子網之間的通訊,需要一臺連線兩個網路的路由器,或者同時位於兩個網路的閘道器來實現。在Linux系統中,設定路由

linux 路由 route命令

#route add default dev eth0           //預設路由,將去往未知網路的資料包全部從介面eth0發出去 #route del default dev eth0       //刪掉剛才配的靜態路由 #route add default gw

linux之路由知識之ip route 命令中的疑惑

1.基礎知識 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略資料庫)     基於策略的路由比傳統路由在功能上更強大,使用更靈活,它使網路管理員不僅能夠根據目的地址而且能夠根據報文大小、應用或IP源地址等屬性來選擇

Linux 路由配置 route命令 /etc/sysconfig/static-routes

一、臨時新增路由 重啟network服務失效 方法一 route命令 frags為路由標誌,標記當前網路節點的狀態 add 增加路由 U

Linux中的route命令1

什麼時候會用到路由呢? 當源IP與目的IP不在同一網段時會用到路由(閘道器)。 源IP通過自己的閘道器將資料包傳送出去,之後便不再理會資料包的流向。 下面來看看route這個命令 [[email

每天一個linux命令(53):route命令

Linux系統的route命令用於顯示和操作IP路由表(show / manipulate the IP routing table)。要實現兩個不同的子網之間的通訊,需要一臺連線兩個網路的路由器,或者同時位於兩個網路的閘道器來實現。在Linux系統中,設定路由

linux 路由配置——route命令

新增到主機的路由 # route add -host 192.168.1.2 dev eth0:0 # route add -host 10.20.30.148 gw 10.20.30.40 新增到網路的路由 # route add -net 10.20.30.40 netmask 255.255.25

linux簡單命令8---軟件包安裝

yum安裝 .com 軟件包 rpm http span 軟件包安裝 image size 1:使用yum安裝,它不能包查詢和包校驗。它安裝的是RPM格式文件。沒有yum文件 ------------------------------------------

linux簡單命令10---權限

9.png alt 簡單 技術 size 設置 useradd ges img 1:文件權限設置 數字的用法:chmod 755 文件名 ---------------------------------------------下面是文件權限-------