복제 된 Linux 시스템 및 /etc/udev/rules.d/70-persistent-net.rules


9

Ubuntu 시스템을 설정하고에 정의 eth0를 포함하여 시스템을 올바르게 구성했습니다 /etc/network/interfaces. 그런 다음 해당 시스템을 이미지화하여 새 시스템에서 복제했습니다.

처음으로 시스템을 부팅했을 때 모든 것이 좋았지 만 몇 번 재부팅하면 네트워크 구성 시간이 초과되었습니다. 로그인했을 때 eth0사용할 수 없다는 것을 알았습니다 .

나의 초기 연구 나 시도 할 수 있도록 ifdown -a하고 ifup -a있는 나는 뚜렷한 효과를 몇 번했다.

연구 /etc/udev/rules.d/70-persistent-net.rules결과에 따르면, 새 시스템의 MAC 주소가 eth1을 생성했음을 발견했습니다. 좋은 생각이지만 내가 원하는 것은 아닙니다.

지금 막 부팅했을 때, /etc/udev/rules.d/70-persistent-net.rules이제 6 개의 다른 HW 주소에 대한 6 개의 항목이 있다는 것을 알았습니다 . 하나의 인터페이스 만 있기 때문에 이상합니다.

내 질문은 : ifup -a어떻게 든 새로운 MAC 주소를 만들었습니까? 그렇지 않다면, 이것이 어떻게 발생했는지에 대한 생각이 있습니까? /etc/udev/rules.d/70-persistent-net.rules현재 HW 주소의 이름을 변경 eth0했는데 작동하는 것 같지만 재부팅시 주소가 다시 변경되지 않는다고 확신 할 수 있습니까?


이 Q의 향후 방문자 : 이것은 VM이 아니며 OP가 새로운 하드웨어에 복제 한 물리적 시스템입니다!
slm

답변:


7

가상 머신 (VM)을 복제 할 때 가끔 CentOS에서 이와 동일한 문제가 발생했습니다. 문제는 원래 VM이 이더넷 장치를 설정하기 위해이 파일에 항목을 넣는 것에서 비롯됩니다 eth0.

샘플 .rules 파일

# 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.

# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

문제는 첫 번째 VM을 복제 할 때 못생긴 머리를 키우므로 KVM과 같은 일부 가상화 기술에서 새 MAC 주소가 만들어집니다. 이 새 MAC 주소는에서 복제 된 VM을 부팅하고 새 이더넷 장치로 볼 때 자동으로 감지 /lib/udev/write_net_rules되므로 두 번째 항목이 위 파일에 추가됩니다.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

나는 보통 70-persistent-net.rules편집기 에서이 파일을 열고 새로운 MAC 주소가 eth0장치에 할당 되고 재부팅 되도록 행을 통합합니다 .

...
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

편집 # 1

OP는 다음과 같은 새로운 정보로 문제를 추적했습니다.

품목 # 1 : 흠. 맥 주소와 관련된 플렉스 라이센스로 소프트웨어를 실행하고 있기 때문에 제 경우에는 효과가 없습니다. 끊임없이 변화하는 주소는 상기 소프트웨어를 쓸모 없게 만든다.

@Zobal-Flex에 익숙합니다. VM이므로 VM의 MAC을 변경할 수 있습니다 (VM 소프트웨어-VirtualBox, KVM 등).

노트: Flex는 Flexera 에서 제공하는 라이센스 기술입니다 . 그들은 GlobeTrotter Software라고 불 렸습니다. 이 기술을 사용하면 소프트웨어를 물리적 호스트에 연결하거나 중앙 서버에서 라이센스를 "토큰"으로 관리하여 클라이언트가 일정 기간 동안 토큰을 확인할 수 있습니다. 라이센스는 일반적으로 호스트에 연결되며이 호스트는 일반적으로 명령을 사용하여 찾을 수있는 고유 번호로 식별됩니다 hostid.

예를 들면 다음과 같습니다.

$ hostid
a8c0c801

항목 # 2 : 제 경우에는 VM이 ​​아닙니다. 하나의 물리적 시스템을 다른 물리적 시스템에 복제했습니다.

내가 대답 한 것 : 그렇다면 유일한 옵션은 새 시스템의 MAC 주소를 다른 시스템의 MAC 주소와 동일하게 변경하는 것입니다. 이 두 시스템이 동일한 네트워크에 존재할 수 없으면 서로 충돌합니다. 또한 Flex 라이센스는 일반적으로 MAC을 사용하지 않으며 명령을 사용하여 식별 할 수있는 숫자를 사용합니다 hostid.

참고 문헌


흠. 맥 주소와 관련된 플렉스 라이센스로 소프트웨어를 실행하고 있기 때문에 제 경우에는 효과가 없습니다. 끊임없이 변화하는 주소는 소프트웨어를 쓸모 없게
만든다

@Zobal-Flex에 익숙합니다. VM이므로 VM의 MAC을 변경할 수 있습니다 (VM 소프트웨어-VirtualBox, KVM 등).
slm

제 경우에는 VM이 ​​아닙니다. 하나의 물리적 시스템을 다른 물리적 시스템에 복제했습니다.
Zobal

@Zobal-유일한 옵션은 새 시스템의 MAC 주소를 다른 시스템의 MAC 주소와 동일하게 변경하는 것입니다. 이 두 시스템이 동일한 네트워크에 존재할 수 없으면 서로 충돌합니다. 또한 Flex 라이센스는 일반적으로 MAC을 사용하지 않으며 명령을 사용하여 식별 할 수있는 숫자를 사용합니다 hostid.
slm

flex 라이센스는 소프트웨어를 특정 컴퓨터에 연결하기 위해 만든 라이센스이며,이 경우에는 MAC을 사용합니다. 새로운 개발 : UBUNTU를 처음부터 다시 (이미지가 아닌) 다시 설치했으며 동일한 동작을 얻었습니다. 실제로 더러운 종료시에만 나타납니다 (전원이 끊깁니다). 이견있는 사람?
Zobal

0

hostid는 서버의 IP 주소만큼 고유합니다.
귀하의 예에서 hostid는 a8c0c801이고 서버의 IP 주소는 192.168.1.200입니까?
A8C0 C801-> C0A8 01C8
C0 : 192
A8 : 168
01 : 1
C8 : 200

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.