我有一个 IP 摄像头,配置为始终使用通过以太网连接到我的树莓派的 IP 192.168.1.37
。我还通过 wifi 连接到树莓派。
如果我做:
pi@raspberrypi:~ $ sudo ip address add 192.168.1.133/24 dev eth0
pi@raspberrypi:~ $ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.25.1 0.0.0.0 UG 303 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 202 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-b5bfd2d20c0b
172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-025a6abb31ab
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.25.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
然后wget 192.168.1.37
我就可以进入我的相机页面。
但是,如果我简单地将特定路由添加到 192.168.1.37,如下所示:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.25.1 0.0.0.0 UG 303 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 202 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-b5bfd2d20c0b
172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-025a6abb31ab
192.168.1.37 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.25.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
然后 wget 就192.168.1.37
永远无法正常工作了。也就是说,我无法访问我的相机。
为什么当我添加一系列 IP 时,eth0
我可以找到我的相机,但当我仅添加特定 IP 时,却找不到?
附言:我sudo ip address add 192.168.1.133/24 dev eth0
在某个地方发现了这个技巧,并且从那时起就一直在使用,但现在我想了解发生了什么,并尝试向摄像机 IP 添加一条特定路由,只是为了看看会发生什么。
答案1
执行ip address add 192.168.1.133/24 dev eth0
此命令时,还会向通过 eth0 连接到局域网的所有 IP 为 192.168.1.1-192.168.1.254 的设备添加路由192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
。之后,您可以从 192.168.1.133 连接到 192.168.1.37。如果您只创建路由而不配置 IP 地址,则无法建立本地连接。