[zz]路由表和静态路由
內容提要
?
Linux 內核路由表
查看 Linux 內核路由表
使用下面的 route 命令可以查看 Linux 內核路由表。
$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface localnet * 255.255.255.0 U 0 0 0 eth0 default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0route 命令的輸出項說明
Destination?
3 種路由類型
主機路由
主機路由是路由選擇表中指向單個IP地址或主機名的路由記錄。主機路由的Flags字段為H。例如,在下面的示例中,本地主機通過IP地址192.168.1.1的路由器到達IP地址為10.0.0.10的主機。
Destination Gateway Genmask Flags Metric Ref Use Iface ----------- ------- ------- ----- ------ --- --- ----- 10.0.0.10 192.168.1.1 255.255.255.255 UH 0 0 0 eth0網絡路由
網絡路由是代表主機可以到達的網絡。網絡路由的Flags字段為N。例如,在下面的示例中,本地主機將發送到網絡192.19.12的數據包轉發到IP地址為192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface ----------- ------- ------- ----- ----- --- --- ----- 192.19.12 192.168.1.1 255.255.255.0 UN 0 0 0 eth0默認路由
當主機不能在路由表中查找到目標主機的IP地址或網絡路由時,數據包就被發送到默認路由(默認網關)上。默認路由的Flags字段為G。例如,在下面的示例中,默認路由是IP地址為192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface ----------- ------- ------- ----- ------ --- --- ----- default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0配置靜態路由
route 命令
設置和查看路由表都可以用 route 命令,設置內核路由表的命令格式是:
route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]route 命令的參數說明
add?
route 命令使用舉例
添加到主機的路由
sudo route add -host 192.168.1.2 dev eth0:0 sudo route add -host 10.20.30.148 gw 10.20.30.40添加到網絡的路由
sudo route add -net 10.20.30.40 netmask 255.255.255.248 eth0 sudo route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 sudo route add -net 192.168.1.0/24 eth1添加默認路由
sudo route add default gw 192.168.1.1刪除路由
sudo route del -host 192.168.1.2 dev eth0:0 sudo route del -host 10.20.30.148 gw 10.20.30.40 sudo route del -net 10.20.30.40 netmask 255.255.255.248 eth0 sudo route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 sudo route del -net 192.168.1.0/24 eth1 sudo route del default gw 192.168.1.1設置包轉發
在 Ubuntu 中默認的內核配置已經包含了路由功能,但默認并沒有在系統啟動時啟用此功能。開啟 Linux 的路由功能可以通過調整內核的網絡參數來實現。要配置和調整內核參數可以使用 sysctl 命令。例如:要開啟 Linux 內核的數據包轉發功能可以使用如下的命令。
sudo sysctl -w net.ipv4.ip_forward=1這樣設置之后,當前系統就能實現包轉發,但下次啟動計算機時將失效。為了使在下次啟動計算機時仍然有效,需要將下面的行寫入配置文件/etc/sysctl.conf。
net.ipv4.ip_forward = 1用戶還可以使用如下的命令查看當前系統是否支持包轉發。
sysctl net.ipv4.ip_forward轉載于:https://www.cnblogs.com/zhangzhang/archive/2012/05/02/2479521.html
總結
以上是生活随笔為你收集整理的[zz]路由表和静态路由的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 九度OJ 1051:数字阶梯求和
- 下一篇: 自动化测试框架实践2--STAF