Jacekalex Guru
Joined: 17 Sep 2009 Posts: 554
|
Posted: Wed Jun 05, 2024 5:55 am Post subject: [+]DHCPCD nie potrafi znaleźć własnego socketu |
|
|
Cześć
Po wielkiej awarii Vectry w mojej okolicy (piorun walnął w sieć), mój prywatny router stał się nagle AP, switch lan w nim nie działa,
a ja jestem zmuszony się podłączyć do routera Vectry, Technicolor CGA 2121.
DHCPCD uruchamiany przez /etc/conf.d/net czy /etc/init.d/dhcpcd nie potrafił prawidłowo działać, diabli wiedzą czemu, nie wnikałem.
Okazało się, że odpalenie polecenia:
Code: | dhcpcd -B {KARTA_SIECIOWA} |
działa prawidłowo, jednak jest pewien mniejszy problem.
Karta sieciowa zwie się u mnie intel, dhcpcd w tej chwili jest odpalany przez deemontools, poleceniem:
Code: | # root ~> cat /service/dhcpcd/run
#!/bin/sh
2&>1
/sbin/dhcpcd -q -B intel 2&>1 >>/dev/syslog
|
Tworzy następujące sockety:
Code: | # root ~> lsof /run/dhcpcd/*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhcpcd 2355 dhcpcd 3wW REG 0,21 5 3725 /run/dhcpcd/intel.pid
dhcpcd 2357 dhcpcd 0u unix 0x0000000000000000 0t0 3415313 /run/dhcpcd/intel-4.sock type=STREAM (LISTEN)
dhcpcd 2357 dhcpcd 3u unix 0x0000000000000000 0t0 3415314 /run/dhcpcd/intel-4.unpriv.sock type=STREAM (LISTEN)
|
Tymczasem próba podejrzenia dzierżawy dhcp poleceniem:
Code: | # root ~> dhcpcd -U intel
dhcpcd is not running |
radośnie oznajmia, że dhcpcd nie działa.
Jak się okazuje, nie znajduje prawidłowo socketu komunikacyjnego unpriv:
Code: |
# root ~> strace -f dhcpcd -U intel 2>&1 | grep sock
socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP) = 3
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/run/dhcpcd/intel.unpriv.sock"}, 31) = -1 ENOENT (Nie ma takiego pliku ani katalogu)
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/run/dhcpcd/intel.unpriv.sock"}, 31) = -1 ENOENT (Nie ma takiego pliku ani katalogu)
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/run/dhcpcd/unpriv.sock"}, 25) = -1 ENOENT (Nie ma takiego pliku ani katalogu)
socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
|
Jak ten drobny feler poprawić?
EDIT:
Naprawione, pomogło wyłącznie opcji
Code: | cat /etc/dhcpcd.conf | grep ipv6
#noipv6rs
#noipv6
|
Jako, ze Vectra w tym tysiącleciu umysłowo do ipv6 nie dorośnie, to po prostu Ipv6 miałem wyłączone,
czego proces dhcpcd -U nie dostrzegał.
Stąd niekompatybilne nazwy socketów.
Pozdrawiam |
|