相信很多朋友都玩過虛擬機,在虛擬機裡裝linux系統。一般大家裝linux系統後,第一件事就是去設定靜態IP。配置靜態IP,除了要設定IP、子網路遮罩外,還需要填入網關位址。等一切都配置完畢後,你會發現該主機的路由表的有一項包含這個網關位址。至於路由表為什麼會出現網關位址,可能有些朋友就不是那麼清楚了。現在,我們一起來看看這個路由表它到底是乾啥的吧。
路由表作用
路由表的作用其實就類似導覽的作用,它告訴主機資料包應該要轉送到哪裡。如果主機不含路由表,那麼它所有的資料包都傳送不出去。所以不關事路由器,主機也會有自己的路由表。
路由表格式
宣告:本文所有操作都是在linux主機下進行的。
查看路由表很簡單,使用route -n即可,-n選項表示不進行主機反查
# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.110.1 0.0.0.0 UG 100 0 0 eth0 192.168.110.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
可以看到,我的主機含有兩個路由表。一條路由資訊主要有幾點組成:
目的位址
#下一跳位址
子網路遮罩
網卡介面
#看第一條路由,目的位址為0.0.0.0而子網路遮罩也是0.0 .0.0,這樣的路由我們稱為預設路由。預設路由是非常重要的,它的意思是如果其他路由都不能轉送分組的話,那麼就使用預設路由進行轉送。所以阿,這就是為什麼預設路由的下一跳位址是網關位址了。因為本人家裡網路比較簡單,只和一個路由器相連,要向和外網通訊的話都必須進過這個路由器才行。這個路由器所在位置也即網關位址。所以,這就解釋文章開頭的問題了。
接下裡看第二條路由,它也比較特殊,它的目的位址就是本機的網路位址,子網路遮罩也是本機的子網路遮罩,它的下一跳位址是0.0.0.0。0.0.0.0表示不需要經過路由器,直接交付。那麼它的意思就表示,和區域網路內主機通信,不需要進過路由器,直接交付即可。
新增路由表
新增路由表也非常簡單,透過指令
route add [-net|-host] 目的主机或目的网络 \ > [netmask 子网掩码] \ > [gw 下一跳地址] \ > [[dev] 接口地址]
下面來示範新增一條特定主機路由
# route add -host 192.168.110.111 gw 192.168.110.1 dev eth0
這樣,一條路由資訊就加入成功了。
推薦:《linux影片教學》
以上是路由表的作用以及如何設定路由的詳細內容。更多資訊請關注PHP中文網其他相關文章!