Linux VM에서 MAC 주소를 변경하는 올바른 방법은 무엇입니까?


13

우분투 VM (virtualbox)에서 MAC 주소를 변경하려고했지만 부팅 중에 많은 오류가 발생하고 인터넷에 연결되지 않았습니다.

그런 다음 인터페이스 이름이 eth1로 바뀌는 것을 보았으므로 / etc / network / interfaces를 편집하여 eth0을 eth1로 변경하고 재부팅 (네트워크를 다시 시작하는 방법을 몰랐 음)했으며 부팅 속도가 빨라졌으며 인터넷이 제대로 작동했습니다.

그러나 이제 로그인 할 때마다 아무 말도하지 않는 1 ~ 2 개의 오류 메시지가 표시되며,보고 할 것인지 묻는 메시지 만 표시됩니다.

MAC 주소를 변경하여 이러한 문제를 피할 수있는 적절한 방법이 있는지 궁금합니다.


1
Mac 주소 변경, VM 등의 여러 가지 요소가 있습니다. Mac을 변경하려는 이유를 설명해 주시면 최상의 솔루션을 찾는 데 도움이 될 수 있습니다 ( meta.stackexchange.com/questions/66377/what-is-the-xy-problem )
Paul

@Paul 저는 다른 프로그램이 어떻게 활동을 추적하고 어떻게하는지, 피하는 법을 배우려고 노력하고 있습니다. 예 : IP, 쿠키, 브라우저 지문 등 이제 일부 프로그램이 MAC 주소 변경에 어떻게 반응하는지 알고 싶습니다.
HappyDeveloper

답변:


15

VirtualBox의 고급 네트워크 설정에서이 작업을 수행하는 경우 "올바른"방법을 사용하여 MAC 주소를 변경했을 가능성이 큽니다. 그러나 Zuul의 다른 답변과 같은 임시 변경은 너무 많은 추가 문제를 일으키지 않고 MAC을 변경하기 때문에 목적에 가장 적합 할 수 있지만 재부팅 후에도 지속되지는 않습니다.

VirtualBox에서 변경해도 재부팅 후에도 문제는 없지만 문제는입니다 udev. 이것은 하드웨어를 살펴보고 해당 하드웨어를 설정하는 프로세스입니다 /dev(또는 필요한 다른 작업). 기본적으로하는 것 중 하나는 네트워크 인터페이스 카드 [nics]의 영구 이름을 유지하는 것입니다. 이는 여러 개의 /etc/network/interfacesnic 을 사용하는 경우 항상 동일한 ethX 이름을 갖기를 원하므로 구성이 각 부팅에 올바른 nic을 대상으로하기 때문입니다. OS는 매번 동일한 지점에 물리적으로 존재하는 것에 의존 할 수 없습니다. 예를 들어 이동하거나 일부 시스템은 부팅 할 때마다 동일한 순서로 물리적 연결을보고하지 않습니다.

따라서 udev네트워크 카드의 MAC 주소를 기반으로하는 지속성 규칙을 사용합니다. 알려진 MAC 주소를 가진 eth1에 대한 항목이 있고 다른 MAC 주소를 가진 카드가 나타나면 인터페이스에 다른 ethX 장치 이름을 할당합니다.

이를 방지하려면 udev규칙 을 업데이트하면 됩니다. 편집하다:

vi /etc/udev/rules.d/70-persistent-net.rules

현재 MAC이있는 라인을 찾으십시오.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

여기서 MAC 주소를 VirtualBox 설정에서 선택한 새 주소로 변경하면 다음 부팅시 동일한 ethX dev 번호가 유지됩니다.

가장 좋은 순서는 여기에서 먼저 편집 한 다음 VM을 종료 한 다음 VB MAC 설정을 편집 한 다음 부팅하는 것입니다.


파일을 수동으로 편집해도 효과가 없었지만이 파일을 모두 제거 할 수 있으며 재부팅 후 파일이 자동으로 생성된다는 것을 기억했습니다. 그리고 실제로 파일 위치를 보여주기 위해 : 1 +1 작동했습니다.
에두아르 루카

@Paul 그렇다면 하나의 물리적 시스템에서 다른 유형의 MAC 시스템으로 다른 시스템으로 Linux 시스템을 복제하고 그러한 문제가 발생하지 않는 이유는 무엇입니까?
arney

1
@arney MAC 주소 변경 뿐만 아니라 다른 NIC이기 때문이라고 생각합니다 . Paul이 언급 한 파일에서 다음을 볼 수 있습니다 ATTR{dev_id}=="0x0".. 이것은 달라야한다.
MarioDS

@arney 당신이 옳다고 생각합니다. nic가 존재하지 않으면 udev 규칙이 적용되지 않습니다. 새 컴퓨터 인 경우와 동일합니다. 오류가 없으면 말하기가 어렵습니다. 그러나 지속성 규칙을 삭제하면 udev 인 경우 도움이됩니다.

8

ifconfig 를 사용하여 간단한 4 단계로 MAC 주소를 변경할 수 있습니다 .

터미널을 엽니 다 (키보드 단축키 : ctrl + alt+ t)

  1. 현재 mac 주소를 찾으십시오.

    ifconfig | grep HWaddr
    
  2. 인터페이스를 종료 합니다eth0 다음 단계를 위해) :

    ifconfig eth0 down
    
  3. 새로운 맥 주소를 설정하십시오 :

    ifconfig eth0 hw ether 00:1E:68:35:FF:91
    
  4. 플래그는 인터페이스가 활성화되도록합니다.

    ifconfig eth0 up
    

이제 인터페이스 맥 주소를 다시 확인할 수 있습니다 :

ifconfig eth0 |grep HWaddr

참고 : 48 비트 16 진 주소를 MAC 주소로 선택할 수 있습니다.


완전성을 위해 2 단계와 3 단계를 한 줄로 결합 할 수 있습니다.

ifconfig eth0 down hw ether 00:00:00:00:00:01

@DownVoter : 내 답변에 문제가 있다면, 그것을 개선 할 수 있도록 의견이 먼 길을 갈 것입니다! Tks.
Zuul
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.