Am un router care rulează OpenWrt și o mașină cu Linux încorporat construit cu Yocto. Trebuie să detectez reînnoirea contractului de închiriere în aplicația mea C. Pe routerul meu reduc timpul de închiriere la 30 de secunde. Când mă conectez cu Linux la rețeaua mea OpenWrt și obțin adresa DHCPv6, pot trimite ping de la Linux la router (de la adresa atribuită de serverul DHCPv6). Dar de fiecare dată când adresa este reînnoită, ping-ul începe să nu arate nimic. Nicio eroare, nicio informație că rețeaua nu este accesibilă, doar nimic. În acest moment, tcpdump afișează în continuare solicitările de eco ICMP6 și reluări de eco ICMP6. Ce poate face ca ping-ul să nu arate nimic după reînnoirea adresei?
Aceasta este configurația routerului meu în /etc/config/dhcp
:
config dhcp 'lan'
opțiune interfață „lan”
opțiunea începe cu „100”
limita de optiuni '50'
opțiune minimă anii '30
opțiunea dhcpv6 „server”
opțiunea pentru „server”
opțiunea ra_useleasetime '1'
opțiunea ra_lifetime '30'
EDITAȚI | ×
Am repetat testele de 3 ori cu ruta ip -6
și nu am primit intrarea cu valoarea schimbată. Singurul lucru care s-a schimbat a fost timpul de expirare. ruta ip -6
când ping funcționează:
fd33:a242:c52a::581 dev wlan0 proto kernel metric 256 pref mediu
fd33:a242:c52a::/64 dev wlan0 proto kernel metric 256 expiră 53sec pref mediu
fe80::/64 dev eth0 proto kernel metric 256 pref mediu
fe80::/64 dev wlan0 proto kernel metric 256 pref mediu
ff00::/8 dev eth0 metric 256 pref mediu
ff00::/8 dev wlan0 metric 256 pref mediu
Când ping-ul nu funcționează:
fd33:a242:c52a::581 dev wlan0 proto kernel metric 256 pref mediu
fd33:a242:c52a::/64 dev wlan0 proto kernel metric 256 expiră 51sec pref mediu
fe80::/64 dev eth0 proto kernel metric 256 pref mediu
fe80::/64 dev wlan0 proto kernel metric 256 pref mediu
ff00::/8 dev eth0 metric 256 pref mediu
ff00::/8 dev wlan0 metric 256 pref mediu