저는 사용자 정의 커널 4.4.21(라이브 환경과 관련된 사소한 변경 사항)과 함께 SuSE 12.2를 사용하고 있습니다.
MAC 주소 변경 중에 인터페이스를 종료/업해야 합니까? 나는 이것이 실제로 필요하지 않다는 것을 관찰했습니다(활성화된 인터페이스에서 변경이 성공하므로 종료할 필요가 없습니다).
그러나 인터넷의 대부분의 예에서는 인터페이스를 종료한 다음 MAC 주소를 변경한 다음 다시 시작하는 것이 좋습니다. 예:Howtogeek.com. 이 프로세스가 문서에 설명되어 있나요?
답변1
인터페이스의 MAC 주소 변경은 하드웨어 및 드라이버에 따라 다릅니다. 인터페이스가 나타나면 인터페이스가 실행 중인 동안 인터페이스 상태를 업데이트하기 위해 더 많은 작업을 수행해야 합니다. 일부 드라이버는 아직 이를 지원하지 않거나 인터페이스의 하드웨어가 그러한 기능을 허용하지 않기 때문입니다.
인터페이스에서 이 기능을 차별화하는 현대적인 방법은 priv_flag입니다.IFF_LIVE_ADDR_CHANGE
커널 3.6에 나타납니다. 이전에 이를 달성할 수 있는 다른 메커니즘이 있었는지, 이전에도 가능했는지는 모르겠습니다. 이전 커널을 실행하고 무엇이 작동하는지 확인할 수 있습니다.
이를 소개하는 패치는 다음과 같습니다.
2012-06-30net: iface가 런타임에 mac을 변경할 수 있도록 지시하는 새로운 priv_flag를 도입합니다.
priv_flag를 도입
IFF_LIVE_ADDR_CHANGE
하고 이를 사용하여 eth_mac_addr()에서 netif_running() 검사를 비활성화합니다.
예상할 수 있듯이 이 기능은 몇 가지 간단한 가상 장치 뒤에 추가되었습니다.가짜상호 작용:
2012-06-30virtio_net: IFF_LIVE_ADDR_CHANGE
priv_flag 사용
2012-06-30팀: IFF_LIVE_ADDR_CHANGE
priv_flag 사용
2012-06-30가상: IFF_LIVE_ADDR_CHANGE
priv_flag 사용
시간이 지남에 따라 이 기능을 추가하는 각 드라이버의 몇 가지 예는 다음과 같습니다.
2014-06-10gre: 장치 시작 시 MAC 주소 변경 허용
2018-07-03r8169: MAC 주소 변경 사항 수정
아주 오래된 것이 있습니다3Com 토네이도네트워크 카드에서는 이를 허용하지 않지만 여전히 다음을 수행할 수 있습니다.
# uname -r
4.19.0-0.bpo.6-686-pae
# ethtool -i eth1|grep driver
driver: 3c59x
# lspci|grep 3Com
02:0c.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
# ip link set dev eth1 address 02:00:00:00:00:01
RTNETLINK answers: Device or resource busy
# ip link set dev eth1 down
# ip link set dev eth1 address 02:00:00:00:00:01
# ip link set dev eth1 up
# ip link show dev eth1
2: eth1: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 02:00:00:00:00:01 brd ff:ff:ff:ff:ff:ff
따라서 MAC 주소를 변경하기 위해 인터페이스를 종료하라는 권장 사항이 여기에도 여전히 적용됩니다.
답변2
먼저, 문제를 해결하려면 다음을 수행해야 합니다.표시된 새 설정이 적용되었는지 확인하세요.. ifconfig
일부 명령이 무엇을 말할지 믿지 말고 테스트해 보세요. 예를 들어 tcpdump
네트워크 인터페이스에서 들어오는 트래픽을 사용하거나 스니핑하는 경우입니다 Wireshark
.
더 큰 질문은 MAC 주소를 변경해야 하는 이유입니다.
걱정이 되신다면은둔, 이는 완전히 합리적인 이유입니다. 그런데 그러면 바꿔야지앞으로네트워크 서비스가 시작됩니다. 자동화를 달성하는 방법에는 여러 가지가 있습니다.
생각해 보면 컴퓨터가 이미 네트워크에 DHCP 요청을 보내고 있을 수도 있습니다(예: 이더넷 케이블이 연결되어 있는 경우).실제 MAC 주소를 공개하세요. 따라서 이후에 MAC 주소를 변경하더라도 이전(실제) 주소가 유출되었을 수 있다는(어딘가에 기록되었을 수 있음) 사실은 바뀌지 않습니다.
네트워크 관리자에게는 이미 MAC 주소를 무작위로 지정할 수 있는 옵션이 있습니다. 아니면 일반 /etc/network/interfaces
파일을 사용해도 됩니다. 지시문이 pre-up
이를 처리할 것입니다.
예시 보기이 게시물자세한 내용은.
개인 정보 보호가 목표라면 ifdown
MAC 주소를 수동으로 변경하는 것은 아마도 좋은 생각이 아닐 것입니다.ifup
마지막으로, 일반적인 DHCP 요청에는 MAC 주소뿐만 아니라 호스트 이름과 다양한 식별자가 포함되어 있으며 그 중 일부는 상수이거나 고유할 수 있다는 점을 기억하는 것이 중요합니다. 따라서 단순히 MAC 주소를 변경하는 것만으로는 익명성을 확보하기에 충분하지 않을 수 있습니다.