最近我在学习策略路由,因此接触到了 ip rule
和 ip route
命令。在使用 ip route show table local
命令查看本地路由表时,我注意到了一条路由的信息如下:
local 192.168.2.37 dev ens18 proto kernel scope host src 192.168.2.37
这条路由似乎表示,源 IP 地址为 192.168.2.37 ,目标 IP 地址也为 192.168.2.37 的流量将从 ens18 网卡输出。然而,当我使用 ip route get from 192.168.2.37 to 192.168.2.37
命令查询路由时,输出结果显示 dev 为 lo:
local 192.168.2.60 from 192.168.2.37 dev lo uid 0
cache <local>
因此,我有以下几个疑问:
ip route
命令之外,是否还有其他机制控制本机发往本机的流量?ip route add table local local 5.5.5.6 dev ens19
),dev
字段的作用是什么?我进行了测试,无论将 dev
设置为 ens18 、ens19 还是 lo ,查询路由的结果始终输出到 dev lo
。麻烦大佬指点一下~
补充一下我系统的信息
系统版本:
[root@archlinux ~]# uname -a
Linux archlinux 6.1.10-hardened1-1-hardened #1 SMP PREEMPT_DYNAMIC Tue, 07 Feb 2023 19:30:39 +0000 x86_64 GNU/Linux
ip 地址:
[root@archlinux ~]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 3a:9a:34:ce:3f:86 brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 192.168.2.37/24 brd 192.168.2.255 scope global dynamic noprefixroute ens18
valid_lft 84848sec preferred_lft 84848sec
inet6 fe80::fa61:fb21:1948:3202/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 46:df:d2:42:02:63 brd ff:ff:ff:ff:ff:ff
altname enp0s19
inet 192.168.2.60/24 brd 192.168.2.255 scope global dynamic noprefixroute ens19
valid_lft 84848sec preferred_lft 84848sec
inet6 fe80::f895:5e74:b58f:583f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
local 路由表:
[root@archlinux ~]# ip route show table local
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
local 192.168.2.37 dev ens18 proto kernel scope host src 192.168.2.37
local 192.168.2.60 dev ens19 proto kernel scope host src 192.168.2.60
broadcast 192.168.2.255 dev ens18 proto kernel scope link src 192.168.2.37
broadcast 192.168.2.255 dev ens19 proto kernel scope link src 192.168.2.60
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.