如何路由到接口(不是通过接口)

如何路由到接口(不是通过接口)

我已经定义了一个dummy0接口:

sudo ip link add dummy0 type dummy
sudo ip addr add 200.200.200.0/24 dev dummy0

界面就在那里:

$ ip addr show dummy0
50: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether f2:f7:18:50:6f:d4 brd ff:ff:ff:ff:ff:ff
    inet 200.200.200.0/24 scope global dummy0
       valid_lft forever preferred_lft forever

但我无法达到它:

$ ping 200.200.200.1 -c 1 -W 1
PING 200.200.200.1 (200.200.200.1) 56(84) bytes of data.

--- 200.200.200.1 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

路由好像有错:

$ ip route
default via 172.16.8.1 dev eno1 proto dhcp metric 100
169.254.0.0/16 dev eno1 scope link metric 1000
172.16.8.0/23 dev eno1 proto kernel scope link src 172.16.9.220 metric 100
172.17.0.0/16 dev br-fcb6a17207d6 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-5009391df1c5 proto kernel scope link src 172.18.0.1
172.19.0.0/16 dev br-def793c8b10c proto kernel scope link src 172.19.0.1 linkdown
172.20.0.0/16 dev br-79ca860054eb proto kernel scope link src 172.20.0.1 linkdown
172.20.16.0/24 via 172.16.8.1 dev eno1
172.20.96.0/24 via 172.16.8.1 dev eno1
172.20.192.0/24 via 172.16.8.1 dev eno1
172.22.0.0/16 dev br-13a8dc17b2c2 proto kernel scope link src 172.22.0.1 linkdown
192.168.42.0/24 dev docker0 proto kernel scope link src 192.168.42.5 linkdown

我如何将流量路由至200.200.200.0/24该接口?

显而易见的候选方案不起作用:

$ sudo ip route add 200.200.200.0/24 via 200.200.200.1 dev dummy0
Error: Nexthop has invalid gateway.

$ sudo ip route add 200.200.200.0/24 dev dummy0
Error: Device for nexthop is not up.

答案1

200.200.200.0在 dummy0 上配置了 ip addr

你尝试 ping200.200.200.1

答案2

您无法访问,dummy0因为接口已关闭,如您在命令中看到的那样

ip addr show dummy0-->state DOWN

该接口已关闭,因为它是虚拟的,所以没有真正的方法来了解它的状态,因为它实际上并没有连接到任何网络。

您可以强制接口使用sudo ip link set dummy0 up

然后你就可以 ping 你自己不规则的地址了

ping 200.200.200.0 
PING 200.200.200.0 (200.200.200.0) 56(84) bytes of data.
64 octets de 200.200.200.0 : icmp_seq=1 ttl=64 temps=0.063 ms
64 octets de 200.200.200.0 : icmp_seq=2 ttl=64 temps=0.048 ms
64 octets de 200.200.200.0 : icmp_seq=3 ttl=64 temps=0.058 ms

当接口启动时,不需要添加路由,它会自动显示出来。

ip route
default via ...
200.200.200.0/24 dev dummy0 proto kernel scope link src 200.200.200.0

相关内容