Linux에서 MAC 주소를 변경하는 방법
리눅스에서 MAC 주소 변경하기
MAC 주소는 네트워크에 연결된 기기마다 할당되는 고유한 식별자입니다. 일반적으로는 변경되지 않지만, 필요에 따라 기기에서 MAC 주소를 변경해야 할 때가 있습니다. 예를 들어, 개인 정보 보호를 위해 신원을 숨기거나 네트워크 호환성 문제를 해결하기 위해 MAC 주소를 수정할 수 있습니다. 이 가이드에서는 리눅스 환경에서 MAC 주소를 바꾸는 방법을 자세히 안내합니다. 초보자든 숙련된 리눅스 사용자든 누구나 쉽게 MAC 주소를 변경할 수 있습니다.
MAC 주소란 무엇인가?
MAC 주소(Media Access Control Address)는 네트워크에 연결된 장치를 고유하게 식별하는 데 사용되는 주소입니다. 네트워크에서 컴퓨터, 스마트폰, 프린터 등 다른 장치들과 통신하고 구분하는 데 필수적입니다.
MAC 주소는 48비트 16진수 주소이며, 일반적으로 콜론 또는 하이픈으로 구분된 6개의 두 자리 숫자 또는 문자로 구성됩니다. ‘물리적 주소’ 또는 ‘번인 주소’라고도 불리는데, 이는 MAC 주소가 제조 과정에서 하드웨어에 기록되어 변경이 어렵기 때문입니다. IP 주소와는 달리 쉽게 바뀌지 않습니다.
MAC 주소와 IP 주소의 차이점
네트워크에 연결된 각 기기는 다른 기기 및 네트워크 인터페이스와 통신하기 위해 최소 두 가지 주소가 필요합니다. 하나는 MAC 주소이고 다른 하나는 IP 주소(Internet Protocol Address)입니다. MAC 주소는 장치를 고유하게 식별하는 반면, IP 주소는 네트워크 연결을 식별합니다. IP 주소는 네트워크에서 데이터가 어디로 전송되어야 하는지를 파악하는 데 도움을 줍니다. 또한, IP 주소는 인터넷 서비스 제공업체(ISP)에서 할당하는 반면, MAC 주소는 장치 제조업체에서 할당합니다.
하지만 이 글에서 소개하는 방법을 통해 MAC 주소를 변경할 수 있습니다. IP 주소와 달리 MAC 주소는 기기를 재부팅하면 원래의 주소로 되돌아갑니다.
MAC 주소를 변경해야 하는 이유
리눅스 컴퓨터에서 MAC 주소를 변경하는 데에는 여러 가지 이유가 있을 수 있습니다. MAC 주소를 바꾸면 네트워크 장치에서 사용자를 새로운 사람으로 인식합니다. 이렇게 함으로써 공용 네트워크에서 익명성을 높여 사이버 공격으로부터 자신을 보호할 수 있습니다. 또한, 공항이나 카페 등에서 무료 공용 와이파이에 무제한으로 접속하는 데에도 MAC 주소 변경이 유용할 수 있습니다.
MAC 주소 변경은 불법적인 목적으로도 사용될 수 있습니다. 예를 들어, 관리자의 MAC 주소를 사칭하여 제한된 네트워크에 불법적으로 액세스할 수도 있습니다. 하지만 이러한 행위는 윤리적이지 않으며 권장되지 않습니다.
MAC 주소 변경에 필요한 패키지 설치
리눅스 PC에서 MAC 주소를 변경하는 데 도움이 되는 여러 터미널 도구가 있습니다. 대표적으로 `macchanger`와 `net-tools`가 있습니다. 아래는 이 두 패키지를 설치하는 방법입니다.
데비안 기반 시스템(우분투 등)에서 `macchanger`와 `net-tools`를 설치하려면 다음 명령어를 사용하십시오.
sudo apt install macchanger net-tools
센트OS 기반 시스템에서 패키지를 설치하려면 다음 명령을 사용하십시오.
sudo yum install macchanger net-tools
아치 기반 시스템에서는 다음 명령어를 사용하여 두 패키지를 설치하십시오.
sudo pacman -S macchanger net-tools
macchanger 패키지를 설치하는 동안 시스템 부팅 시마다 MAC 주소를 변경할지 묻는 메시지가 나타납니다. 화살표 키를 사용하여 원하는 옵션을 선택하고 Enter 키를 눌러 확인하십시오.

일시적으로 MAC 주소 변경하는 방법
1단계: 네트워크 장치 확인
MAC 주소를 변경하기 전에 장치 이름과 현재 MAC 주소를 알아야 합니다. 시스템에 있는 모든 네트워크 장치 목록을 보려면 다음 명령어를 실행하십시오.
ifconfig

이전 시스템 또는 오류가 발생하는 경우에는 다음 명령어를 사용하십시오.
ip addr show

명령을 실행하면 출력의 첫 번째 부분에 루프백 주소 정보(lo)가 표시됩니다. 이는 네트워크 문제를 진단하는 데 사용됩니다.
두 번째 부분은 네트워크 인터페이스(예: eth0)에 대한 정보를 보여줍니다. `ether` 레이블 아래에 하드웨어 주소 또는 MAC 주소(예: 08:00:27:05:10:68)가 표시됩니다. `inet`은 IPv4 IP 주소를, `inet6`은 IPv6 IP 주소를 나타냅니다.
2단계: 네트워크 장치 비활성화
네트워크 인터페이스 이름을 확인했다면, MAC 주소를 변경하기 전에 해당 장치의 네트워크 연결을 비활성화해야 합니다. 다음 명령을 사용하여 장치를 비활성화하십시오.
sudo ifconfig <인터페이스_이름> down

이 명령어를 실행하면 인터넷 연결이 끊깁니다. 위 명령어가 작동하지 않으면 `net-tools` 패키지를 다시 설치하거나 다음 명령어를 사용하십시오.
sudo ip link set dev

3단계: MAC 주소 변경
장치의 네트워크 연결을 비활성화한 후 MAC 주소를 변경할 수 있습니다. 다음 명령어를 사용하여 리눅스에서 MAC 주소를 변경하십시오.
sudo ifconfig
다음 명령어를 사용하여 장치를 다시 활성화할 수 있습니다.
sudo ifconfig <인터페이스_이름> up

만약 오류가 발생한다면 다음 명령어를 사용하여 MAC 주소를 변경하고 네트워크 연결을 활성화하십시오.
ip link set dev
ip link set dev
4단계: 변경 사항 확인
리눅스 시스템에서 MAC 주소가 성공적으로 변경되었는지 확인하려면 다음 명령어를 실행하십시오.
ifconfig

만약 오류가 있거나 시스템이 오래된 경우에는 다음 명령어를 사용하십시오.
ip addr show
MAC 주소를 영구적으로 변경하는 방법
1단계: 네트워크 장치 확인
이전 섹션과 마찬가지로 먼저 시스템의 모든 네트워크 장치를 확인하고 인터페이스 이름을 기억해야 합니다. 다음 명령어를 사용하십시오.
ifconfig

네트워크 인터페이스의 현재 MAC 주소를 보려면 다음 명령을 사용하십시오.
sudo macchanger --show <인터페이스 이름>

2단계: 새 MAC 주소 할당
`macchanger` 도구를 사용하여 MAC 주소를 영구적으로 변경할 때, 장치의 네트워크 연결을 비활성화하고 다시 활성화할 필요는 없습니다. 다음 명령어를 사용하여 임의의 MAC 주소를 직접 할당할 수 있습니다.
sudo macchanger -r <인터페이스 이름>

리눅스에서 특정 MAC 주소를 지정하려면 아래 명령어를 사용하십시오. 지정하려는 MAC 주소(두 자리 숫자 또는 콜론으로 구분된 문자 6세트)를 입력해야 합니다. 구문은 다음과 같습니다.
sudo macchanger --mac=
예를 들어, 아래 명령어를 사용하여 인터페이스 `eth0`의 MAC 주소를 `00:00:00:31:33:73`으로 변경했습니다.
sudo macchanger --mac=00:00:00:31:33:73 eth0

3단계: 변경 사항을 영구적으로 적용
1. 시스템이 부팅될 때마다 새 MAC 주소를 얻으려면 `/etc/systemd/system/[email protected]` 파일을 생성해야 합니다. 텍스트 편집기를 사용하여 systemd 단위 파일을 만드십시오. 터미널에 다음 명령어를 입력하십시오.
sudo vim /etc/systemd/system/[email protected]
2. 다음 텍스트를 `[email protected]` 파일에 추가하십시오:
[Unit] Description=changes mac for %I Wants=network.target Before=network.target BindsTo=sys-subsystem-net-devices-%i.device After=sys-subsystem-net-devices-%i.device [Service] Type=oneshot ExecStart=/usr/bin/macchanger -r %I RemainAfterExit=yes [Install] WantedBy=multi-user.target
위 코드는 리눅스 컴퓨터를 부팅할 때마다 네트워크 인터페이스에 새 MAC 주소를 할당합니다. 10번째 줄에 `-r` 대신 `-m` 옵션을 사용하여 특정 MAC 주소를 설정할 수도 있습니다.
ExecStart=/usr/bin/macchanger -m XX:XX:XX:XX:XX:XX %I

3. 다음으로 다음 명령어를 사용하여 방금 생성한 서비스를 활성화하십시오.
sudo systemctl enable macchanger@<인터페이스_이름>.service

이제 설정이 완료되었습니다. 리눅스 컴퓨터는 새 세션으로 부팅할 때마다 자동으로 MAC 주소를 변경합니다.
자주 묻는 질문
MAC 주소는 영구적인가요?
네, MAC 주소는 일반적으로 영구적이며 네트워크 장치 제조업체에서 할당합니다. 하지만 위에 제시된 방법처럼 리눅스 터미널에서 몇 가지 트릭을 사용하여 변경할 수 있습니다.
MAC 주소는 재사용되나요?
사용 가능한 MAC 주소의 수가 제한되어 있기 때문에 제조업체는 MAC 주소를 재사용해야 합니다.
MAC 주소는 얼마나 긴가요?
MAC 주소는 48비트 또는 6바이트로 구성되어 있으며 각 바이트는 2개의 16진수로 표현됩니다. 콜론 또는 하이픈으로 구분된 두 세트로 표시됩니다.
리눅스에서 MAC 주소 수정하기
리눅스에서 MAC 주소를 변경하는 것은 간단하며, 인터넷을 사용하는 동안 개인 정보 보호 및 보안을 개선하는 데 도움이 될 수 있습니다. MAC 주소를 영구적으로 수정하려면 터미널을 사용해야 하지만, 리눅스 배포판에 따라 단계가 약간 다를 수 있습니다. 또한, 리눅스 PC에서 MAC 주소를 변경하는 동안 다른 MAC 주소와 충돌하지 않도록 주의해야 합니다. 충돌이 발생하면 두 주소 모두 네트워크에서 연결이 끊길 수 있습니다. 이 글이 리눅스 PC에서 MAC 주소를 영구적으로 변경하는 데 도움이 되었기를 바랍니다. 질문이 있으시면 언제든지 댓글로 알려주십시오.