Debian 9 및 예측 가능한 네트워크 인터페이스 이름

Debian 9 및 예측 가능한 네트워크 인터페이스 이름

Hetzner Cloud에서 새로운 Debian 9를 사용하는 동안 이상한 점을 발견했습니다. VM이 부팅되면 eth0 인터페이스의 이름이 ens3으로 변경된 것을 볼 수 있습니다(예측 가능한 네트워크 이름 지정 메커니즘이 작동하는 것으로 의심됩니다). 그러나 이름 변경이 완료되면 ens3 인터페이스 이름이 다시 eth0으로 변경되는 것을 볼 수 있습니다. dmesg 출력에서 ​​이러한 이름 변경을 볼 수 있습니다.

[    1.471140] virtio_net virtio0 ens3: renamed from eth0
[    3.212154] virtio_net virtio0 eth0: renamed from ens3

두 번째 인터페이스 이름 변경을 위한 구성이 어디에 있는지 알아내도록 도와줄 수 있는 사람이 있습니까? 어디서도 그러한 구성을 찾을 수 없기 때문입니다. 감사합니다.

답변1

데비안 9를 처음부터 설치하면 새로운 "예측 가능한 네트워크 인터페이스 이름" 메커니즘을 사용합니다. 이전 버전에서 업그레이드된 경우에도 여전히 이전 스타일의 이름을 사용하므로 파일이 /etc/udev/rules.d/70-persistent-net.rules그대로 있어야 합니다.

로그 항목의 타이밍 정보는 이름 바꾸기 작업 사이에 약 1.7초가 있었다는 것을 나타냅니다. 이는 두 가지 메커니즘이 작동 중일 수 있음을 시사합니다. 첫 번째 줄은 systemd-networkdinitramfs에 새 스타일 이름을 설정하는 것일 수 있고, 두 번째 줄은 루트 파일 시스템과 "실제" udev를 마운트할 때 initramfs에 있을 수 있습니다( 미니 파일 시스템) -udev)가 시작됩니다.

또는 Hetzner 클라우드 관리자가 다른 도구를 사용하여 레거시 스타일 이름을 구현한 경우 이를 기반으로 인터페이스 이름을 읽고 설정하는 유사한 /etc/rc.local것을 실행하는 것이 가능할 수도 있습니다.nameif -s/etc/mactab

또는 귀하의 의견에 따라 Hetzner Cloud를 사용하는 경우 파일이 존재하는지 cloud-init확인하는 것이 좋습니다 . /etc/cloud/cloud.cfg.d/custom-networking.cfg자세한 내용은 다음을 참조하세요.

http://cloudinit.readthedocs.io/en/latest/topics/network-config-format-v1.html

http://cloudinit.readthedocs.io/en/latest/topics/network-config-format-v2.html

cloud-init네트워크 구성 정보의 소스는 다양할 수 있습니다. 다음을 참조하세요.

http://cloudinit.readthedocs.io/en/latest/topics/network-config.html#network-configuration-sources

답변2

OVH의 새로운 Debian 10 가상 머신에서도 동일한 문제가 발생했습니다. 수정 외에 내가 해야 할 일은 다음과 같습니다 /etc/network/interfaces.

  • 제거하다/etc/udev/rules.d/70-persistent-net.rules
  • /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg콘텐츠가 포함된 파일을 추가합니다 network: {config: disabled}(다음에서 가져옴)./etc/cloud/cloud.cfg.d/README

관련 정보