설정
나는 Debian Jessie를 실행하는 작은 임베디드 보드를 가지고 놀고 있습니다. systemd
네트워킹 관련 내용을 포함하여 가능한 한 많은 자료를 사용하고 있습니다 . 파일을 추가했습니다.
/etc/systemd/network/eth0-dhcp.network
:
[Match]
Name=eth0
[Network]
DHCP=yes
/etc/resolv.conf
파일을 심볼릭 링크로 수정했습니다 /run/systemd/resolve/resolv.conf
.
systemd에서 보고한 버전은 215입니다.
Wi-Fi 연결을 이더넷으로 공유하는 MacBookPro에 보드를 연결했습니다.
무슨 일이야
1) 처음 부팅할 때는 모든 것이 정상입니다. ifconfig
맥북에서 전달한 유효한 IP 주소가 있음을 보여줍니다. 나는 ping 0.debian.pool.ntp.org
유효한 응답을 얻을 수 있고 얻을 수 있습니다. cat /etc/resolv.conf
유효한 nameserver
주소가 표시됩니다. 이건 모두 예상한 일이고 좋은 일이네요(tm)
2) 이더넷 케이블을 분리하면 콘솔에 링크가 중단되었음을 알리는 일련의 메시지가 표시됩니다. 이 시점에서는 ifconfig
더 이상 IP 주소가 표시되지 않습니다. cat /etc/resolv.conf
지금은 비어 있습니다. 물론 ping도 더 이상 작동하지 않습니다. 이것도 모두 예상대로다.
3) 케이블을 다시 연결합니다. 이제 링크가 작동되었음을 나타내는 일련의 메시지를 받게 됩니다. 이 시점에서 ifconfig
다시 한번 유효한 IP 주소가 있음을 나타냅니다. 하지만 /etc/resolv.conf
그 안에는 아무것도 없습니다. 그래서 내 ping 명령이 작동하지 않고 주소도 없습니다. 그러나 가능합니다 ping 204.2.134.162
(해당 호스트의 이전에 보고된 주소). 그래서 내 네트워킹 계층이 케이블의 핫 플러그로 올바르게 다시 살아났지만 systemd-resolved
그렇지 않았다는 결론을 내릴 수 있습니다.
을 수행한 후 항목을 다시 표시 systemctl restart systems-resolved
하지만 /etc/resolv.conf
확인된 IP 주소가 이제 다르며 여전히 핑이 발생하지 않습니다.
누군가 여기서 무슨 일이 일어나고 있는지 설명해 줄 수 있나요? 네트워크 핫 플러그 이벤트 후에 이름 확인이 다시 작동하도록 하려면 무엇이 필요합니까? 현학적으로 말해도 됩니다. 대부분의 네트워킹 지식은 일화적이고 시행착오를 통해 배운 것입니다.
업데이트
데비안 풀 주소가 실제로 다를 수 있고 핑할 수 없다는 것이 지적되었습니다. 대신 사용하면 google.com
해당 부분은 항상 잘 작동합니다. 그럼 남은 질문은
네트워크가 핫 플러그된 후 다시 시작하도록 systemd-resolved를 어떻게 얻습니까?