Portál AbcLinuxu, 9. května 2024 18:45


Dotaz: synchro dhcpcd s HW

13.9.2019 00:53 lertimir | skóre: 64 | blog: Par_slov
synchro dhcpcd s HW
Přečteno: 306×
Odpovědět | Admin
Na stanici se mi chvili nepřipojuje NFS (Arch distro) v průběhu bootu. Dnes jsem konečně měl čas po důvodech pátrat a situaci moc nechápu. Situace při výpisu s journalctl dopadá takto
journalctl -b  | grep enp6s0
zář 13 00:32:16 dnopytle kernel: r8169 0000:06:00.0 enp6s0: renamed from eth0
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: waiting for carrier
zář 13 00:33:24 dnopytle kernel: r8169 0000:06:00.0 enp6s0: Link is Down
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: carrier acquired
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: IAID c2:0a:c8:e9
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: adding address fe80::c947:16e:b68f:14eb
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: using static address 10.0.0.10/16
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: adding route to 10.0.0.0/16
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: adding default route via 10.0.0.140
zář 13 00:33:25 dnopytle dhcpcd[1082]: enp6s0: carrier lost
zář 13 00:33:25 dnopytle dhcpcd[1082]: enp6s0: deleting address fe80::c947:16e:b68f:14eb
zář 13 00:33:25 dnopytle dhcpcd[1082]: enp6s0: deleting route to 10.0.0.0/16
zář 13 00:33:25 dnopytle dhcpcd[1082]: enp6s0: deleting default route via 10.0.0.140
zář 13 00:33:27 dnopytle kernel: r8169 0000:06:00.0 enp6s0: Link is Up - 1Gbps/Full - flow control rx/tx
zář 13 00:33:27 dnopytle kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp6s0: link becomes ready
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: carrier acquired
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: IAID c2:0a:c8:e9
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: adding address fe80::c947:16e:b68f:14eb
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: using static address 10.0.0.10/16
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: adding route to 10.0.0.0/16
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: adding default route via 10.0.0.140
zář 13 00:33:28 dnopytle dhcpcd[1082]: enp6s0: soliciting an IPv6 router
muj problém vidím v tom, že přestože od kernelu má link is down tak v 33:24 začíná dhcpcd s detekci carrier, pak asi kernel chip resetne takže carrier lost smazání všech IP a až je v 33:27 link is up tak dhcpcd znovu IP přiřadí. Nechápu proč se dhcp přiřazuje pokud linka je down. Problém je v tom, že první přiřazení v 33:24 spustí následné akce. systemd dojde do target Network a Network online a následně se spustí NFS mount. Takže cíl je zpozdit dhcpcd až na link is up. Configurace je statická IPv4. /etc/dhcpcd.conf je
cat /etc/dhcpcd.conf
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel

# Inform the DHCP server of our hostname for DDNS.
hostname
noarp
static ip_address=10.0.0.10/16
static routers=10.0.0.140
static domain_name_servers=10.0.0.140 8.8.8.8

# Use the hardware address of the interface for the Client ID.
#clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
duid

# Persist interface configuration when dhcpcd exits.
persistent

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
#option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu

# Most distributions have NTP support.
option ntp_servers

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# Generate SLAAC address using the Hardware Address of the interface
#slaac hwaddr
# OR generate Stable Private IPv6 Addresses based from the DUID
slaac private
noipv4ll
A celkem raději bych u statické zůstal, protože na stanici se často odkazuji i od jinud (notebooky, mobily)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.9.2019 13:22 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: synchro dhcpcd s HW
Odpovědět | | Sbalit | Link | Blokovat | Admin
žádný nápad??
13.9.2019 13:54 NN
Rozbalit Rozbalit vše Re: synchro dhcpcd s HW
Jak v tom systemd vypada to poradi, respektive zavislosti?
13.9.2019 14:36 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: synchro dhcpcd s HW
nic jsem s tím nedelal je to default a /usr/lib/systemd/system/dhcpcd.service je
cat /usr/lib/systemd/system/dhcpcd.service
[Unit]
Description=dhcpcd on all interfaces
Wants=network.target
Before=network.target

[Service]
Type=forking
PIDFile=/run/dhcpcd.pid
ExecStart=/usr/bin/dhcpcd -q -b
ExecStop=/usr/bin/dhcpcd -x

[Install]
WantedBy=multi-user.target
13.9.2019 15:05 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: synchro dhcpcd s HW
A když grepnu target tak
journalctl -b  | grep target
zář 13 00:32:16 dnopytle systemd[1]: Reached target Swap.
zář 13 00:32:16 dnopytle systemd[1]: Reached target Local File Systems (Pre).
zář 13 00:32:49 dnopytle systemd[1]: Reached target Local File Systems.
zář 13 00:32:49 dnopytle systemd[1]: Reached target rpc_pipefs.target.
zář 13 00:33:24 dnopytle systemd[1]: Reached target Local Encrypted Volumes.
zář 13 00:33:24 dnopytle systemd[1]: Reached target System Initialization.
zář 13 00:33:24 dnopytle systemd[1]: Reached target Timers.
zář 13 00:33:24 dnopytle systemd[1]: Reached target Sockets.
zář 13 00:33:24 dnopytle systemd[1]: Reached target Basic System.
zář 13 00:33:24 dnopytle systemd[1]: Reached target Sound Card.
zář 13 00:33:24 dnopytle systemd[1]: Reached target Network.
zář 13 00:33:24 dnopytle systemd[1]: Reached target Network is Online.
zář 13 00:33:29 dnopytle systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result 'dependency'.
zář 13 00:33:29 dnopytle systemd[1]: Reached target Multi-User System.
zář 13 00:33:29 dnopytle systemd[1]: Reached target Graphical Interface.
zář 13 00:33:32 dnopytle systemd[1855]: Reached target Paths.
zář 13 00:33:32 dnopytle systemd[1855]: Reached target Timers.
zář 13 00:33:32 dnopytle systemd[1855]: Reached target Sockets.
zář 13 00:33:32 dnopytle systemd[1855]: Reached target Basic System.
zář 13 00:33:32 dnopytle systemd[1855]: Reached target Main User Target.
Ta chyba s remote-fs.target je díky tomu, že fakticky konektivita ještě není i kdyz Network a Network is Online dosaženy.
13.9.2019 20:13 NN
Rozbalit Rozbalit vše Re: synchro dhcpcd s HW
Odpovědět | | Sbalit | Link | Blokovat | Admin
Trochu podivny je ten 'carrier lost'. Mohlo by naznacovat nejaky linkovy problem, napriklad duplex, nebo problem driveru po updatu. Muzes to chovani otestovat na jinem kabelu, zasuvce, prepinaci? Ten vypis kernelu si myslim muze byt zpozdeny..
13.9.2019 22:52 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: synchro dhcpcd s HW
No můžu, ale kabel je metrový patch do malého 1GB switche (profi ne cvakaný). A nikdy pak už nenastane. Ted jsem si pustil znovu výpis a od toho up jsou teď už jen renew na IPv6 adrese. A na všech dřívejších journalctl -b xxx to dopadne naprosto stejně, waiting for carrier když je link down. Ten výpadek si vysvětluji tak, že probíhá příkaz "link up" v rámci něhož provede kernel reset síťového chipu. A tím ho shodí. To co si představuji je, že i když je formálně linka down po startu, tak reálně poslouchá carrier, když to zjistí dhcpcd přečte statickou konfiguraci a napere ji tam. V této chvíli proběhne jen to co je ve statické konfiguraci. když ten výpis rozšířím tak je vidět, že cokoliv pro konfiguraci ze sítě příchází až po reálné link up, kdy se dohodne IPv6.
journalctl -b  | grep enp6s0                                   
zář 13 00:32:16 dnopytle kernel: r8169 0000:06:00.0 enp6s0: renamed from eth0
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: waiting for carrier
zář 13 00:33:24 dnopytle kernel: r8169 0000:06:00.0 enp6s0: Link is Down
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: carrier acquired
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: IAID c2:0a:c8:e9
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: adding address fe80::c947:16e:b68f:14eb
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: using static address 10.0.0.10/16
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: adding route to 10.0.0.0/16
zář 13 00:33:24 dnopytle dhcpcd[1082]: enp6s0: adding default route via 10.0.0.140
zář 13 00:33:25 dnopytle dhcpcd[1082]: enp6s0: carrier lost
zář 13 00:33:25 dnopytle dhcpcd[1082]: enp6s0: deleting address fe80::c947:16e:b68f:14eb
zář 13 00:33:25 dnopytle dhcpcd[1082]: enp6s0: deleting route to 10.0.0.0/16
zář 13 00:33:25 dnopytle dhcpcd[1082]: enp6s0: deleting default route via 10.0.0.140
zář 13 00:33:27 dnopytle kernel: r8169 0000:06:00.0 enp6s0: Link is Up - 1Gbps/Full - flow control rx/tx
zář 13 00:33:27 dnopytle kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp6s0: link becomes ready
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: carrier acquired
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: IAID c2:0a:c8:e9
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: adding address fe80::c947:16e:b68f:14eb
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: using static address 10.0.0.10/16
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: adding route to 10.0.0.0/16
zář 13 00:33:27 dnopytle dhcpcd[1082]: enp6s0: adding default route via 10.0.0.140
zář 13 00:33:28 dnopytle dhcpcd[1082]: enp6s0: soliciting an IPv6 router
zář 13 00:33:29 dnopytle dhcpcd[1082]: enp6s0: Router Advertisement from fe80::32b5:
zář 13 00:33:29 dnopytle dhcpcd[1082]: enp6s0: adding address 2001:1ae9:
zář 13 00:33:29 dnopytle dhcpcd[1082]: enp6s0: adding route to 2001:1ae9:
zář 13 00:33:29 dnopytle dhcpcd[1082]: enp6s0: adding default route via fe80::32b5:
zář 13 00:33:29 dnopytle dhcpcd[1082]: enp6s0: accepted reconfigure key
zář 13 00:33:29 dnopytle dhcpcd[1082]: enp6s0: confirming prior DHCPv6 lease
zář 13 00:33:30 dnopytle dhcpcd[1082]: enp6s0: DHCPv6 REPLY: Not On Link
zář 13 00:33:30 dnopytle dhcpcd[1082]: enp6s0: soliciting a DHCPv6 lease
téměř jistě si myslím, že by se chování opravilo, když bych místo statické konfigurace přešel na dynamickou, a dostal adresu až ze sítě. Ale hladám proč tedy k sakru nemohu mít statickou konfiguraci na pracovní stanici, která je na jednom místě a nic se s ní neděje.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.