16.04로 업그레이드 한 후 네트워크 인터페이스를 시작하지 못했습니다. 수 있습니다

방금 가상 14.04 서버 시스템을 16.04로 업그레이드했습니다. VM을 재부팅 한 후 다음 오류가 표시됩니다.

[FAILED] Failed to start Raise network interfaces.
 See 'systemctl status networking.service' for details

로그인 후 언급 한 명령을 실행하고 다음 출력을 얻을 수 있습니다 (연결 할 수없는 이미지).

여기에 이미지 설명을 입력하십시오

의 구성 /etc/network/interfaces외모 벌금 – 수동 구성 eth0를 특징을 (여기 DHCP를 사용하지 않는)

내가 궁금하게 만드는 것은 그 ifconfig -a목록입니다

  • ens160
  • 봐라

내가 기대할 곳

  • eth0
  • 봐라

eth0 장치를 통해 시도

sudo ifup -v eth0

출력 :

...
Cannot find device "eth0"
Failed to bring up eth0.

가상 유선 네트워크 장치 자체는 여전히 VM 자체에서 이전과 같이 구성되어 있습니다.

ip link뿐만 아니라 방송 loens160위치 – ens160단일 구성의 가상 네트워크 장치 VM웨어 구성 MAC 주소를 갖는다.

최신 정보

eth0의 모든 참조 /etc/network/interfaces를 ens160으로 변경하면 문제를 해결할 수 있습니다 .

그러나 이것은 여러 가지 이유로 나에게 잘못 느낍니다.

  1. 이 문제를 이해하고 싶습니다
  2. ens160 대신 eth0을 고수하고 싶습니다.

따라서 누군가 16.04로 업그레이드 한 동일한 서버의 다른 14.04 컴퓨터에서는 발생하지 않은이 변경 사항을 설명 할 수 있습니다.



답변

이유

systemd / udev의 Predictable-Network-Interface-Names로 인해 문제가 발생했습니다.

가능한 해결책

이 소스 에 따르면 다음 중 하나를 수행 할 수 있습니다.

  • 예측할 수없는 커널 이름이 다시 사용되도록 고정 이름 할당을 비활성화합니다. 이를 위해 기본 정책에 대한 udev의 규칙 파일을 마스킹하면됩니다. ln -s / dev / null /etc/udev/rules.d/80-net-setup-link.rules
  • 인터페이스 이름을 “internet0”, “dmz0″또는 “lan0″으로 지정하여 고유 한 수동 이름 지정 체계를 작성합니다. 이를 위해 / etc / systemd / network /에 고유 한 .link 파일을 작성하십시오.이 파일은 명시 적 이름 또는 하나, 일부 또는 모든 인터페이스에 대한 더 나은 이름 지정 체계를 선택합니다. 자세한 내용은 systemd.link (5)를 참조하십시오.
  • 커널 명령 행에서 net.ifnames = 0을 전달합니다.

적용 솔루션

새 파일 10-rename-network.rules을 만들고 /etc/udev/rules.d/다음 내용을 추가했습니다.

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

어디에

  • eth0 = 원하는 네트워크 인터페이스 이름 /etc/network/interfaces
  • ff:ff:ff:ff:ff:ff = 네트워크 장치의 하드웨어 mac 주소

이 작업을 완료 한 후 재부팅하여 변경 사항이 적용되는지 확인하는 것이 좋습니다.


답변

/etc/network/interfaces.d/setup 파일을 다음에서 변경하여 해결했습니다.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

에:

auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp


답변

제 경우에는이 문제가 다리를 세우려고하는 것과 관련이있었습니다 br0. 나는 이것을하는 것을 잊었다.

sudo apt-get install bridge-utils

전에 어댑터를 시작할 수 없었습니다.


답변

다음 위치에있는 지속적 / 일관된 네트워크 인터페이스 이름에 대한 udev 캐시를 삭제 / 수정할 수 있습니다.
/etc/udev/rules.d/70-persistent-net.rules


답변