linux-route
文章目录
bash
Linux 最多可以支持 255 张路由表,在默认情况下,系统有三个路由表,这三个路由表的功能如下:
- local路由表(id为255):路由表local包含本机路由及广播信息。例如,在本机上执行ssh 127.0.0.1时,就会参考这份路由表的内容,在正常情况下,只要配置好网卡的网络设置,就会自动生成local路由表的内容,我们应该也不必修改其内容。
ip route show table local
- main路由表(id为254):使用传统命令route -n所看到的路由表就是main的内容。Linux系统在默认情况下使用这份路由表的内容来传输数据包,因此,其内容极为重要,在正常情况下,只要配置好网卡的网络设置,就会自动生成main路由表的内容。
ip route show table main
- default路由表(id为253):最后是default路由表,这个路由表在默认情况下内容为空;除非有特别的要求,否则保持其内容为空即可。
ip route show table default
Flags字段
- UH–>主机路由,子网掩码为 255.255.255.255
- U–>网络路由,子网掩码为
- UG–>默认路由,子网掩码为 0.0.0.0
route add -host 192.168.1.2 dev eth0
route add -host 10.20.30.148 gw 10.20.30.40
route add -net 10.20.30.40 netmask 255.255.255.248 eth0
route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
route add -net 192.168.1.0/24 eth1
route add default gw 192.168.1.1
route del -host 192.168.1.2 dev eth0:0
route del -host 10.20.30.148 gw 10.20.30.40
route del -net 10.20.30.40 netmask 255.255.255.248 eth0
route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
route del -net 192.168.1.0/24 eth1
route del default gw 192.168.1.1
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
- NAT中改变源ip的叫SNAT,也改变目的ip的叫DNAT。
- SNAT在路由之后,只有查过路由之后才能知道从那个接口出去,才能查找到接口ip,才能知道原ip要换成哪个。
- DNAT在路由之前,因为要在路由是根据目的ip来查的。
- 对进入的包先NAT再路由,对出去的包先路由再NAT。
ref
- https://linux.die.net/man/8/route
- https://packetpushers.net/ip-time-to-live-and-hop-limit-basics/
- https://www.eit.lth.se/ppplab/IPHeader.htm
- https://www.freesoft.org/CIE/RFC/1812/110.htm
- https://medium.com/@yingshaoxo/mastering-iptables-ip-iproute2-b0e1aeabc186
- http://linux-ip.net/html/index.html
- http://www.max-shu.com/blog/?p=1070
- https://blog.51cto.com/oldboy/974194
上次更新 2020-09-29
原始文档 查看本文 Markdown 版本 »