相信很多朋友都玩过虚拟机,在虚拟机里装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中文网其他相关文章!