Данный компьютер имеет операционную систему Linux и подключен к локальной сети с активной службой DHCP. Я настроил публичный IP-адрес, который будет выдан этому компьютеру через DHCP, и я могу подключиться к нему по ssh, используя этот IP-адрес. Теперь начинается странная часть.
ifconfig
возвращает адрес 169.254.xx. Я прочитал, что 169.254.xx предоставляется компьютеру, когда DHCP не может дать ему правильный адрес. Но он дал правильный адрес, я могу использовать ssh (используя общедоступный IP-адрес), а сайты http://www.whatsmyip.org/ говорят, что у компьютера есть общедоступный IP-адрес, который я настроил на DHCP.
Как это может быть возможно и какие детали я должен включить в этот пост?
Когда я попросил моего коллегу перезапустить его сеть
/etc/init.d/net.eth0 restart
это был его вывод:
* Caching service dependencies ... [ ok ]
* Unmounting network filesystems ... [ ok ]
* Bringing down interface eth0
* Stopping dhcpcd on eth0 ... [ ok ]
* Bringing up interface eth0
* dhcp ...
* Running dhcpcd ...
control_open: Connection refused
eth0: adding address fe80::f85f:1ef7:db63:7475
eth0: waiting for carrier
eth0: carrier acquired
DUID 00:01:00:01:1b:ef:52:ea:dc:85:de:20:38:fa
eth0: IAID a9:04:2c:82
eth0: soliciting an IPv6 router
eth0: rebinding lease of 193.136.136.136
eth0: probing for an IPv4LL address
eth0: DHCP lease expired
eth0: soliciting a DHCP lease
eth0: using IPv4LL address 169.254.78.15
eth0: adding route to 169.254.0.0/16
forked to background, child pid 6332 [ ok ]
* received address 169.254.78.15/16 [ ok ]
* Mounting network filesystems ...
Вывод ifconfig
выглядит следующим образом:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.78.15 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::f85f:1ef7:db63:7475 prefixlen 64 scopeid 0x20<link>
ether 48:85:a3:04:2d:81 txqueuelen 1000 (Ethernet)
RX packets 113090 bytes 80195148 (76.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 39425 bytes 7462270 (7.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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 0 (Local Loopback)
RX packets 2259 bytes 217008 (211.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2259 bytes 217008 (211.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether df:83:de:11:37:fb txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip addr
показывает оба IP-адреса, 169.xxx и 193.xxx До сих пор не выяснил, почему 169.xxx предоставляется DHCP-сервером.