Routing
是否沒有環回地址的路由條目?
$ /sbin/route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.122.1 0.0.0.0 UG 0 0 0 ens3 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 ens3 $ /sbin/ifconfig ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.122.202 netmask 255.255.255.0 broadcast 192.168.122.255 inet6 fe80::5054:ff:fe99:5eee prefixlen 64 scopeid 0x20<link> ether 52:54:00:99:5e:ee txqueuelen 1000 (Ethernet) RX packets 14906 bytes 18020195 (17.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7390 bytes 786783 (768.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 35568 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 496 bytes 39840 (38.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 496 bytes 39840 (38.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
當一個數據包到達主機並且該數據包的目的地是環回地址(127.0.0.1)時,
- 根據路由表中的第一條規則,它會被傳輸到 ens3(192.168.122.202)然後到網關(192.168.122.1)嗎?
- 如果是,那是不是錯了,因為預期的目的地(127.0.0.1)在本地主機中?
當目標地址是環回地址時,真的沒有路由條目嗎?
謝謝。
當核心處理一個數據包時,路由表並不是首先考慮的。有一個首先出現的規則表,您可以使用
ip rule list
.ip route list
(和棄用的route
)列出主表,但有一個本地表具有更高的優先級,並列出了所有涉及環回介面的路由;跑去ip route show table local
看他們。發往環回地址的數據包不會離開系統。