systemd dhcp 클라이언트 로깅을 활성화하는 방법은 무엇입니까?

systemd dhcp 클라이언트 로깅을 활성화하는 방법은 무엇입니까?

일부 systemd dhcp 클라이언트 동작을 디버깅하려고 하는데 systemd-networkd 디버그 로깅을 활성화하는 방법을 모르겠습니다. 특히 src/libsystemd-network/sd-dhcp-client.c에서 log_dhcp_client() 로그 항목을 보고 싶습니다.

첫 번째 답변에서 언급한 대로 디버깅하도록 systemd-networkd 로그 수준을 변경했습니다.

https://superuser.com/questions/1187633/how-to-debug-systemd-networkd

하지만 여전히 Journalctl(또는 다른 곳)에는 dhcp 클라이언트 디버그 메시지가 표시되지 않습니다. (한 답변이 필요하다고 해서 디버깅을 활성화한 상태로 재부팅하기도 했습니다.)

systemd v246(v246.2+)을 실행합니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사해요! !

답변1

추가 조사를 통해 문제가 스스로 발생한 것임을 발견했습니다! 광산 journald.conf(OpenBMC 관련 프로젝트에서 상속됨)에는 다음 설정이 포함되어 있습니다.

MaxLevelStore=info
MaxLevelSyslog=info

따라서 디버그 메시지를 기록하도록 systemd-networkd를 구성하더라도 해당 메시지는 기록되지 않거나 syslog에 전달되지 않습니다. 위의 로그 설정을 "디버그"로 변경한 후 디버그 메시지를 볼 수 있었습니다.

내 고통이 다른 사람들도 같은 운명을 피하는 데 도움이 되기를 바랍니다.

답변2

이로 인해 Netplan이 이상하게 동작할 때 Ubuntu에서 DHCP 클라이언트 문제를 해결하지 않아도 되었습니다. 처음에는 그런 것인지 몰랐어요시스템 네트워크DHCP 클라이언트 콘텐츠 처리 또는네트워크 관리자두 클라이언트 모두 임대를 생성하므로 자체 DHCP 클라이언트입니다!

따라서 문제 해결 과정을 위해서만 비슷한 문제가 발생할 경우 제공할 수 있는 방법은 다음과 같습니다.

/etc/NetworkManager/NetworkManager.confaa 섹션을 추가 하고 [logging]다음을 추가하세요.

[logging]
#level=INFO
#level=DEBUG
domains=ETHER:DEBUG,DHCP4

최종 지시어를 사용하는 것이 좋습니다. domains이렇게 하면 사용자에게 혼동을 주지 않고 구체적으로 DHCP 세부 정보로 세부 정보를 제한할 수 있습니다.

conf 파일을 변경한 후 NeworkManager를 다시 시작하십시오.

sudo systemctl restart NetworkManager

샘플 출력:

journalctl -u NetworkManager.service | grep DHCP

<SNIP>
NetworkManager[4833]: <debug> [16*.3488] dhcp-init: enabled DHCP client 'dhclient'
NetworkManager[4833]: <debug> [16*.3489] dhcp-init: enabled DHCP client 'internal'
NetworkManager[4833]: <debug> [16*.3489] dhcp-init: enabled DHCP client 'systemd' (undocumented internal plugin)
NetworkManager[4833]: <debug> [16*.3490] dhcp-init: enabled DHCP client 'nettools' (undocumented internal plugin)
NetworkManager[4833]: <info> [16*.3491] dhcp-init: Using DHCP client 'internal'
<SNIP>

추가 수준의 "디버그" 세부 정보가 없으면 "정보" 수준 로깅의 피드백에는 NetworkManager가 "dhclient"도 호출하고 있다는 사실이 표시되지 않습니다. 이로 인해 (2) 세트의 DHCP 임대 방법을 알아내려고 애쓰게 됩니다. 생성되고 있는지 여부시스템 네트워크또는네트워크 관리자권위를 가지세요. 나타나다네트워크 계획궁극적인 범인입니다.

어쨌든 이건 분해해야 할 작은 돼지이기 때문에 같은 토끼굴에 빠져 있는 다른 사람들을 구하기 위해 제가 배운 것을 공유할 가치가 있다고 생각했습니다...

관련 정보