相信很多朋友都玩過虛擬機,在虛擬機里裝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視頻教程》