HD 포트 뒤에 eth0이 없습니다.

HD 포트 뒤에 eth0이 없습니다.

스테이징 서버의 하드 드라이브를 다른 호환 가능한 하드웨어(64비트, 동일한 프로세서 "세대", 노트북 -> 데스크탑) 구성으로 이동한 후 네트워크가 시작되지 않습니다.

구체적으로:

  • ifconfig만 표시lo
  • sudo service networking restart보여주다:

-

stop: unknown instance:
networking stop/waiting

분명히 시스템 및/또는 커널의 어떤 부분이 새 하드웨어 설정에 맞게 잘못 구성되어 있습니다.

무엇이 잘못되었는지 감지하고 활성화하려면 어떻게 해야 합니까 eth0?

문제의 시스템은 Ubuntu 14.04 Server 배포판이지만 문제가 널리 퍼져 있는 것으로 의심됩니다.

답변1

Linux 시스템을 복제할 때 주의해야 할 사항 중 하나는 영구 네트워크 장치에 대한 udev의 명명 규칙입니다.

udev는 이 파일을 생성하고 업데이트 /etc/udev/rules.d/70-persistent-net.rules하여 MAC 주소를 인터페이스 이름에 매핑할 수 있습니다. 이는 스크립트를 통해 수행됩니다 /lib/udev/write_net_rules. 각 MAC 주소(일부 예외 있음, 참고자료 참조 /lib/udev/rules.d/75-persistent-net-generator.rules)는 기본적으로 eth라는 인터페이스에 매핑됩니다.N, 어디N0부터 시작해서 올라갑니다. 한 가지 예:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:de:ad:be:ef",ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

매핑을 변경하려면 항목을 편집하고아니요이 파일에서 자동으로 제거됩니다. 인터페이스 이름은 다음과 같습니다.안정적인추가 NIC를 추가하거나 불필요한 NIC를 제거하는 경우에도 마찬가지입니다. 반면, 발견한 대로 복제를 통해 이 파일을 다른 시스템에 복사하면 새 하드웨어에 대한 인터페이스는 다음과 같습니다.다음에 추가이 파일의 경우 eth1, eth2 등과 같이 사용 가능한 첫 번째 인터페이스 이름을 사용하면 eth0은 새 시스템에 존재하지 않는 MAC 주소를 참조합니다.

디스크를 마이그레이션한 경우 이전 하드웨어 인터페이스가 포함된 행을 주석 처리하고 새 하드웨어로 인해 추가된 오류 항목을 원하는 인터페이스 이름으로 편집(또는 삭제)한 다음 재부팅할 수 있습니다. 처음에는 디스크를 이전 하드웨어로 다시 이동할 때 쉽게 복원할 수 있도록 주석 처리를 제안했지만 @Guido van Steen은 더 간단한 솔루션을 제공했습니다. 파일을 70-persistent-net.rules다른 것으로 mv합니다(그러나 새 이름 아래에 있는 경우 주의하십시오). 새로운 이름으로) 같은 디렉토리에! ) 다시 시작하세요.

답변2

@mark-plotnick의 의견에 따르면: 새 하드웨어에는 Mac 주소가 다릅니다. 이전 Mac 주소는 여전히 에 하드코딩되어 있습니다 /etc/udev/rules.d/70-persistent-net.rules. 파일 이름을 바꾸면 됩니다. 이 경우 재부팅하면 새 MAC 주소를 사용하여 파일이 다시 생성됩니다.

관련 정보