Вопрос по dhcpcd

Доброго времени суток!
Подключен к сети через DHCP - никаких нетворк менеджеров не установлено. Всегда после команды systemctl stop dhcpcd@eth0 сеть отключалась, а /etc/resolv.conf очищался от адресов DNS. Как понимаю, это было правильно.
Теперь после systemctl stop dhcpcd@eth0
$ systemctl status dhcpcd@eth0
[email protected] - dhcpcd on eth0
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled)
   Active: failed (Result: exit-code) since Пт 2014-02-07 15:34:16 MSK; 54s ago
  Process: 515 ExecStop=/usr/bin/dhcpcd -x %I (code=exited, status=0/SUCCESS)
 Main PID: 289 (code=exited, status=1/FAILURE)
...
$ ping -c 3 google.com
PING google.com (173.194.32.132) 56(84) bytes of data.
64 bytes from 173.194.32.132: icmp_seq=1 ttl=58 time=8.94 ms
64 bytes from 173.194.32.132: icmp_seq=2 ttl=58 time=8.73 ms
64 bytes from 173.194.32.132: icmp_seq=3 ttl=58 time=7.85 ms
--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
Адреса DNS в /etc/resolv.conf остаются прописанными, ip addr show dev eth0 никаких отличий по сравнению с работающим сервисом не показывает, pidof dhcpcd не выдает ничего.

Пребываю в недоумении.
leonardo19
Active: failed (Result: exit-code) since Пт 2014-02-07 15:34:16 MSK; 54s ago
Есть подозрение что все было назначено не dhcp. Потому и не удалилось. Ну и выложите пожалуйста полностью вывод
systemctl status dhcpcd@eth0
ip addr
ip route
cat /etc/resolv.conf
Чтобы удостовериться, что ip был получен от DHCP, выполните:
ip addr flush dev eth0
ip route flush
Дальше почистите resolv.conf и перезапустите dhcpcd, и остановите.
Если все останется на своих местах(после остановки ничего не очиститься) - дело в dhcpcd.
Вот он там пишет, что сфейлился. А лог приложить не хотите?
PGP 0x31361F01
arcanisrepo
dartsergius
$ systemctl status dhcpcd@eth0
[email protected] - dhcpcd on eth0
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled)
   Active: active (running) since Пт 2014-02-07 18:07:13 MSK; 2s ago
  Process: 2136 ExecStop=/usr/bin/dhcpcd -x %I (code=exited, status=0/SUCCESS)
  Process: 2149 ExecStart=/usr/bin/dhcpcd -q -w %I (code=exited, status=0/SUCCESS)
 Main PID: 2244 (dhcpcd)
   CGroup: /system.slice/system-dhcpcd.slice/[email protected]
           └─2244 /usr/bin/dhcpcd -q -w eth0
фев 07 18:07:12 archer dhcpcd[2149]: eth0: IAID f4:ea:af:d1
фев 07 18:07:12 archer dhcpcd[2149]: eth0: soliciting an IPv6 router
фев 07 18:07:12 archer dhcpcd[2149]: eth0: rebinding lease of 10.2.101.107
фев 07 18:07:12 archer dhcpcd[2149]: eth0: leased 10.2.101.107 for 172800...s
фев 07 18:07:12 archer dhcpcd[2149]: eth0: adding route to 10.2.96.0/19
фев 07 18:07:12 archer dhcpcd[2149]: eth0: adding default route via 10.2.96.1
фев 07 18:07:13 archer dhcpcd[2149]: forked to background, child pid 2244
фев 07 18:07:13 archer dhcpcd[2244]: eth0: removing route to 10.2.96.0/19
фев 07 18:07:13 archer dhcpcd[2244]: eth0: removing default route via 10....1
фев 07 18:07:13 archer systemd[1]: Started dhcpcd on eth0.
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether MAC адрес brd ff:ff:ff:ff:ff:ff
    inet 10.2.101.107/19 brd 10.2.127.255 scope global eth0
       valid_lft forever preferred_lft forever
$ ip route
default via 10.2.96.1 dev eth0  metric 202
10.2.96.0/19 dev eth0  proto kernel  scope link  src 10.2.101.107  metric 202
10.2.101.107 via 127.0.0.1 dev lo  metric 202
$ cat /etc/resolv.conf
# Generated by resolvconf
domain oops
nameserver DNS провайдера
nameserver DNS провайдера
nameserver DNS провайдера
Не обессудьте - адреса DNS и MAC адрес приводить не буду.
$ ip addr flush dev eth0
$ cat /etc/resolv.conf
# Generated by resolvconf
Команда ip route flush выдает: "ip route flush" requires arguments.
$ systemctl restart dhcpcd@eth0
$ cat /etc/resolv.conf
# Generated by resolvconf
domain oops
nameserver DNS провайдера
nameserver DNS провайдера
nameserver DNS провайдера
$ systemctl stop dhcpcd@eth0
$ cat /etc/resolv.conf
# Generated by resolvconf
domain oops
nameserver DNS провайдера
nameserver DNS провайдера
nameserver DNS провайдера
systemctl status dhcpcd@eth0
[email protected] - dhcpcd on eth0
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled)
   Active: failed (Result: exit-code) since Пт 2014-02-07 18:46:32 MSK; 1min 46s ago
  Process: 2573 ExecStop=/usr/bin/dhcpcd -x %I (code=exited, status=0/SUCCESS)
  Process: 2464 ExecStart=/usr/bin/dhcpcd -q -w %I (code=exited, status=0/SUCCESS)
 Main PID: 2558 (code=exited, status=1/FAILURE)
фев 07 18:42:03 archer dhcpcd[2464]: forked to background, child pid 2558
фев 07 18:42:03 archer systemd[1]: Started dhcpcd on eth0.
фев 07 18:46:31 archer systemd[1]: Stopping dhcpcd on eth0...
фев 07 18:46:31 archer dhcpcd[2573]: dhcpcd[2573]: sending signal 15 to pid 2558
фев 07 18:46:31 archer dhcpcd[2573]: sending signal 15 to pid 2558
фев 07 18:46:31 archer dhcpcd[2573]: waiting for pid 2558 to exit
фев 07 18:46:31 archer systemd[1]: [email protected]: main process exited, code=exited, status=1/FAILURE
фев 07 18:46:31 archer dhcpcd[2573]: dhcpcd[2573]: waiting for pid 2558 to exit
фев 07 18:46:32 archer systemd[1]: Stopped dhcpcd on eth0.
фев 07 18:46:32 archer systemd[1]: Unit [email protected] entered failed state.
arcanis
Вот он там пишет, что сфейлился. А лог приложить не хотите?
Что конкретно приложить?
Если это не баг в dhcpcd, то у него есть хуки, о которых можно подробней узнать из
man dhcpcd-run-hooks
Вам в частности нужно все что касается
STOP | STOP6  dhcpcd stopped running on the interface.
Еще, не знаю как правильно посмотреть что dhcpcd пишет в журнал, пусть меня спецы по systemd поправят, но
journalctl -b|grep dhcpcd
у меня например пишет что:
systemd[1]: Stopping dhcpcd on enp2s0...
dhcpcd[2268]: dhcpcd[2268]: sending signal 15 to pid 1718
dhcpcd[2268]: dhcpcd[2268]: waiting for pid 1718 to exit
dhcpcd[2268]: sending signal 15 to pid 1718
dhcpcd[2268]: waiting for pid 1718 to exit
dhcpcd[1718]: received SIGTERM from PID 2268, stopping
dhcpcd[1718]: enp2s0: removing interface
dhcpcd[1718]: enp2s0: deleting host route to 192.168.0.100 via 127.0.0.1
dhcpcd[1718]: enp2s0: deleting route to 192.168.0.0/24
dhcpcd[1718]: enp2s0: deleting default route via 192.168.0.1
dcpcd[1718]: exited
systemd[1]: [email protected]: main process exited, code=exited, status=1/FAILURE
systemd[1]: Stopped dhcpcd on enp2s0.
Но у меня он не трогает resolv.conf ибо ему об этом прямо сказано:
$ cat /etc/dhcpcd.conf|grep resolv
nohook resolv.conf
arcanis, а с чего вы взяли, что dhcpcd сегфолтится? Мне кажется у него так задумано возвращать 1.
Прошу прощения, что так много буков написал.. если не хотите глубоко копать вглубь dhcpcd прилепите ему явный хук, чтобы тер сервера из resolv.conf. А если хотите заморочиться то давайте выхлоп
$ sudo dhcpcd -dB <ваш_интерфейс>
после выключения dhcp на интерфейсе посредством запуска с другой консоли
$sudo dhcpcd -x <ваш_интерфейс>
разумеется, все это делается при выключенном сервисе dhcpcd
P.S. Таки очень внимательно прочитал ваше исходное сообщение. Очень похоже, что у вас и стандартные хуки не отрабатывают. Проверьте целостность пакета dhcpcd, его актуальность и то, что он не из testing. Вы уверены, что конфиги у dhcpcd стандартные и вы не настраивали никаких своих хуков? Где-то на форуме есть пара тем про проблеммы dhcpcd и IPv6.
naszar
arcanis, а с чего вы взяли, что dhcpcd сегфолтится? Мне кажется у него так задумано возвращать 1.
ну про сегфолт я не говорил, но щас проверил, он у меня тоже 1 возвращает. Пинганул, все пингуется)
$ dhcpcd -dB lan0
Running 'sudo dhcpcd'
dhcpcd[7578]: version 6.2.1 starting
dhcpcd[7578]: lan0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' PREINIT
dhcpcd[7578]: lan0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' NOCARRIER
dhcpcd[7578]: lan0: waiting for carrier
dhcpcd[7578]: lan0: carrier acquired
dhcpcd[7578]: lan0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' CARRIER
dhcpcd[7578]: DUID 00:01:00:01:19:91:44:13:b8:88:e3:31:62:89
dhcpcd[7578]: lan0: IAID e3:31:62:89
dhcpcd[7578]: lan0: soliciting an IPv6 router
dhcpcd[7578]: lan0: delaying Router Solicitation for LL address
dhcpcd[7578]: lan0: reading lease `/var/lib/dhcpcd/dhcpcd-lan0.lease'
dhcpcd[7578]: lan0: rebinding lease of 89.249.170.38
dhcpcd[7578]: lan0: sending REQUEST (xid 0xd0097ff), next in 4.60 seconds
dhcpcd[7578]: lan0: acknowledged 89.249.170.38 from 89.249.168.1 `info.dorms.msu.net'
dhcpcd[7578]: lan0: leased 89.249.170.38 for 86400 seconds
dhcpcd[7578]: lan0: renew in 43200 seconds, rebind in 75600 seconds
dhcpcd[7578]: lan0: IP address 89.249.170.38/21 already exists
dhcpcd[7578]: lan0: using Classless Static Routes
dhcpcd[7578]: lan0: adding route to 89.249.168.0/21
dhcpcd[7578]: lan0: adding default route via 89.249.168.1
dhcpcd[7578]: lan0: adding route to 10.0.0.0/8 via 89.249.168.1
dhcpcd[7578]: lan0: adding route to 172.16.0.0/12 via 89.249.168.1
dhcpcd[7578]: lan0: adding route to 89.249.160.0/20 via 89.249.168.1
dhcpcd[7578]: lan0: adding route to 93.180.0.0/18 via 89.249.168.1
dhcpcd[7578]: lan0: adding route to 188.44.32.0/19 via 89.249.168.1
dhcpcd[7578]: lan0: adding route to 239.255.2.0/24 via 89.249.170.38
dhcpcd[7578]: lan0: writing lease `/var/lib/dhcpcd/dhcpcd-lan0.lease'
dhcpcd[7578]: lan0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' BOUND
dhcpcd[7578]: lan0: sending ARP announce (1 of 2), next in 2.00 seconds
dhcpcd[7578]: lan0: sending Router Solicitation
dhcpcd[7578]: lan0: Router Advertisement from fe80::216:9cff:fe28:d400
dhcpcd[7578]: lan0: waiting for Router Advertisement DAD to complete
dhcpcd[7578]: lan0: No DHCPv6 instruction in RA
dhcpcd[7578]: lan0: sending ARP announce (2 of 2)
dhcpcd[7578]: lan0: Router Advertisement DAD completed
dhcpcd[7578]: lan0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' ROUTERADVERT
dhcpcd[7578]: lan0: Router Advertisement from fe80::216:9cff:fe28:d400
dhcpcd[7578]: lan0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' ROUTERADVERT
dhcpcd[7578]: received SIGTERM from PID 7803, stopping
dhcpcd[7578]: lan0: removing interface
dhcpcd[7578]: exited
$ dhcpcd -dx lan0
Running 'sudo dhcpcd'
dhcpcd[7803]: sending signal 15 to pid 7578
dhcpcd[7803]: waiting for pid 7578 to exit
$ ping ya.ru -c1
PING ya.ru (213.180.204.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (213.180.204.3): icmp_seq=1 ttl=54 time=2.19 ms
--- ya.ru ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.194/2.194/2.194/0.000 ms
$ dhcpcd -dx lan0
Running 'sudo dhcpcd'
dhcpcd[7867]: dhcpcd not running
а вот если интерфейс уронить руками после, то все норм
PGP 0x31361F01
arcanisrepo
arcanis
Пинганул, все пингуется)
О как! У меня:
$pacman -Qi dhcpcd
Version        : 6.1.0-1
Build Date     : Вт 15 окт 2013 06:18:49
$ uname -m
x86_64
Вроде как сейчас в репах 6.2.1. Возможно, что если обновлюсь у меня тоже так сделается. Сдается мне, что надо идти писать в книгу жалоб и предложений..
Погрипал по исходникам, что в предыдущей(которая у меня), что в текущей(что у вас) версиях предусмотрено что демон удаляет адреса и маршруты на интерфейсах которые он выставил.. так что если этого не происходит, возможно баг.
Версия dhcpcd последняя из Core. Проверил предыдущую - то же самое. Все конфиги, связанные с сетью дефолтные.
dhcpcd@eth0 становил.
$ journalctl -b | grep dhcpcd
фев 08 11:57:29 archer systemd[1]: Stopping dhcpcd on eth0...
фев 08 11:57:29 archer dhcpcd[3407]: dhcpcd[3407]: sending signal 15 to pid 290
фев 08 11:57:29 archer dhcpcd[3407]: dhcpcd[3407]: waiting for pid 290 to exit
фев 08 11:57:29 archer dhcpcd[3407]: sending signal 15 to pid 290
фев 08 11:57:29 archer dhcpcd[3407]: waiting for pid 290 to exit
фев 08 11:57:29 archer dhcpcd[290]: received SIGTERM from PID 3407, stopping
фев 08 11:57:29 archer dhcpcd[290]: eth0: removing interface
фев 08 11:57:29 archer dhcpcd[290]: exited
фев 08 11:57:29 archer systemd[1]: [email protected]: main process exited, code=exited, status=1/FAILURE
фев 08 11:57:29 archer systemd[1]: Stopped dhcpcd on eth0.
фев 08 11:57:29 archer systemd[1]: Unit [email protected] entered failed state.
$ dhcpcd -dB eth0
dhcpcd[3458]: version 6.2.1 starting
dhcpcd[3458]: eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' PREINIT
dhcpcd[3458]: eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' CARRIER
dhcpcd[3458]: DUID 00:01:00:01:19:8e:74:fe:--CENSORED--  # MAC адрес :)
dhcpcd[3458]: eth0: IAID --CENSORED--
dhcpcd[3458]: eth0: soliciting an IPv6 router
dhcpcd[3458]: eth0: sending Router Solicitation
dhcpcd[3458]: eth0: reading lease `/var/lib/dhcpcd/dhcpcd-eth0.lease'
dhcpcd[3458]: eth0: rebinding lease of 10.2.101.107
dhcpcd[3458]: eth0: sending REQUEST (xid 0x2a2d66e0), next in 3.36 seconds
dhcpcd[3458]: eth0: acknowledged 10.2.101.107 from 10.255.254.154
dhcpcd[3458]: eth0: leased 10.2.101.107 for 172800 seconds
dhcpcd[3458]: eth0: renew in 86400 seconds, rebind in 151200 seconds
dhcpcd[3458]: eth0: IP address 10.2.101.107/19 already exists
dhcpcd[3458]: eth0: adding route to 10.2.96.0/19
dhcpcd[3458]: eth0: adding default route via 10.2.96.1
dhcpcd[3458]: eth0: writing lease `/var/lib/dhcpcd/dhcpcd-eth0.lease'
dhcpcd[3458]: eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' BOUND
dhcpcd[3458]: eth0: sending ARP announce (1 of 2), next in 2.00 seconds
dhcpcd[3458]: eth0: sending ARP announce (2 of 2)
dhcpcd[3458]: eth0: sending Router Solicitation
dhcpcd[3458]: eth0: sending Router Solicitation
dhcpcd[3458]: eth0: sending Router Solicitation
dhcpcd[3458]: eth0: no IPv6 Routers available
$ dhcpcd -dx lan0
dhcpcd[3563]: dhcpcd not running
Сеть продолжала работать.
 
Зарегистрироваться или войдите чтобы оставить сообщение.