랜카드의 MAC 어드레스가 변할수가 있나요?
글쓴이: powell / 작성시간: 금, 2009/09/25 - 4:07오후
며칠 전 이베이에서 Linksys의 WAG160N 모뎀을 사서 MAC 필터 설정과 기타 설정을 하고 썼었읍니다.
PC에는 넷기어의 USB 무선랜을 꽂아 씁니다. ADSL 포트랑 PC랑 거리가 좀 있어서요.
며칠간 이대로 잘 쓰다가 어제 갑자기 ADSL에 접속이 안되는겁니다.설정이 꼬였나 싶어서 일단 모뎀을 리셋 하고 백업받아둔 설정파일을 올리니 그래도 접속이 안되길래 백업받은 설정파일을 텍스트로 열어서 보다가 기분이 이상해서 MAC 필터링 부분에서 셋팅된 제 PC의 무선랜 카드의 MAC 어드레스와 ipconfig/all 해서 나온 MAC 어드레스를 비교해 봤더니...xx:xx:2f:xx:xx:xx가 xx:xx:1b:xx:xx:xx로 변해 있더군요...-_-;;;
일단 새 MAC 어드레스를 필터에 추가해 주니 잘 연결은 되는데 찜찜합니다.
왜 그동안은 xx:xx:2f:xx:xx:xx로 MAC 어드레스가 되어 있다가 바뀐걸까요?
며칠을 그렇게 잘 쓰고 밤에는 늘 끄고 자는지라 원래 잘못 넣었다면 곧바로 접속이 안되거나 했어야 할텐데 말이죠...
MAC 어드레스가 변할수가 있나요?
Forums:
저도 MAC Address는
저도 MAC Address는 공장에서 찍어 나올 때 고정된 것!
이라고 생각해 왔습니다만, 고칠 수 있더군요.
참고 : http://kldp.org/node/36045
예전에 교수님께 "IPv6에 대응하기 위해서는 MAC Address도 마찬가지로 늘어나야 하지 않을까요?"
라고 질문했던 기억이 납니다. (답변이 뭐였는지 잘 기억이.... ㅠ.ㅠ)
http://wiki.kldp.org/wiki.php/superwisdom
드라이버 단에서 수정이 가능하군요...
음...이 현상이 발생하기 전에 드라이버 에러가 한번 나서 재설치가 된적이 있는지라...
드라이버가 재설치 되면서 MAC이 바뀌는 일이 생길수가 있겠군요.
답변 감사합니다...^^
HW (eeprom???) 에
HW (eeprom???) 에 기록되는것이 원본이고,
리눅스에서는 커널에서 SW 적으로 바꿀 수 있고,
기기에 따라 HW 의 mac 을 바꿀 수 있는게 있지만,
의도적으로 바꾸지 않는 한 재설치 같은 방법으로 바뀌지는 않을것 같은데요.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/
https://xenosi.de/
바뀌지 않습니다.
좀 더 단정적으로 특별한 장비를 사용하지 않는 한 바꿀 수 없기 때문에 컴퓨터 내에서는 '절대 바뀌지 않는다'
라고 알고 계셔도 됩니다.
각 커뮤니티나 서적에서 또는 유틸리티에서(보통 넷트웍설정 유틸리티는 이것을 포함하고 있죠 꼭 리눅스뿐만 아니라도)
언급되는 맥어드레스 변경은 부팅시 이더넷 장치의 바이어스에서 시스템의 주 메모리에 복사된 것을 변경하는
것입니다.
랜카드는 가만 있는데 시스템 메모리값만 갖고 주물럭거리는 것이지요.......
좀 더 설명드리고 싶지만 제가 여러 글에서 설명드렸고 길어지기 때문에 일단 변경되지 않는다 로 알고 계시면
됩니다.
예전의 RFC 1700 과 최근의 IEEE 문서(아래링크)
http://www.iana.org/assignments/ethernet-numbers
는 괜히 존재하지 않습니다.롬라이터(정식으로 이렇게 부르는지는 모르겠습니다.....온라인 게임중이라 ㅎㅎ)등 장비를 사용해서
하드코딩으로 변경하게 되면 이 주소체계를 위반하는 것이 되고 그 랜카드는 범용으로 사용될 시 충돌 혹은 에러를 일으킬 수
있습니다.
=========================
매일막걸리 한 병 = 상태메롱
=========================
매일막걸리 한 병 = 상태메롱
그냥 초기화시
그냥 초기화시 플래쉬에서 로딩하는 값이구요. 드라이버에서 쉽게 바꿀 수 있습니다. 절대 바뀌지 않을리가;;;
한 번 더 못을 박아드리죠 바뀌지 않습니다.
드라이버 및 관련 유틸리티(보통 어댑터를 만드는 곳에서 함께 제공하는 프로그램) 자체가 시스템의 커널에 리턴하는 값을
주물럭거리는 것입니다.이 역시 시스템의 메모리에 복사된 값이지 랜카드의 롬에 있는 값이 아닙니다.
즉 근본적으로 변경하기 위해서는 운영체제 이전에 랜카드의 롬에 직접 접근하여야 합니다.
대표적으로 롬라이터 장비를 이용하는 방법을 언급한 것이고요....
임베디드 시스템이나 온보드 랜카드시스템에서 시스템 바이어스가 랜카드의 바이어스를 포함하고 있고 그런 변경
바이어스를 제조사가 제공할 경우 가능할 것으로 보입니다만 제가 이런 시스템을 들어본 적이 없습니다.
음....제가 100% 모든 시스템을 알 수 없으니까 꼭 그렇다고 볼 수는 없지만 간단하게 시스템 부팅하면서 CMOS 셋업 화면에
들어가서 그 메뉴에서 만약 맥어드레스를 바꾸게 되어있는 시스템이 아니라면 그 이외의 변경방법은 모두
논리적인것이다..........정도로 알고 계셔도 좋을 것 같습니다.
이는 윈도우든 리눅스든 뭐가 되었든 공통입니다.운영체제 이전에 변경할 수 있는 방법이 존재해야 하기 때문에
'거의 절대로 변하지 않는다.'
라고 알고 계셔도 된다고 말씀드린 것입니다.
만약 이 글이 완전 엉터리라면 제가 알콜중독이겠군요.
게임중독에다 알콜중독이라........
=========================
매일막걸리 한 병 = 상태메롱
=========================
매일막걸리 한 병 = 상태메롱
롬은 아니고 보통
롬은 아니고 보통 플래쉬에 들어있고, 보통은 펌웨어 업데이트나 전용 툴을 사용해서 바꿀 수 있습니다. 근데 이건 그냥 초기 기본값일 뿐이고, 거의 대부분의 nic에선 드라이버에서 임의의 값으로 컨트롤러의 mac 주소를 세팅할 수 있습니다. 부팅중 네트웍 인터페이스 올라오기전에 자동으로 설정하게 하면 되구요. 결과적으론 mac 그냥 아무값이나 쓸 수 있습니다.
아 그리고 그냥 시스템 메모리 값이 아니에요. 컨트롤러가 실제로 패킷을 보내고 받을 때 주는 주소가 바뀝니다. 컨트롤러에 따라 PCI config space나 io영역에 매핑되어있는 값을 바꾸는거구요. 패킷 덤프 툴로 확인해보세요. 그리고 mac주소 가끔씩 쫑 납니다. 뭐 별로 그렇게 엄격하게 잘 관리되지 않아요. -_-;;
그게 메모리의 값입니다.
이더넷 헤더 포맷을 만드는것 ------> 시스템의 커널이 만듭니다.당연히 드라이버나 유틸리티등으로 조작된
메모리내의 값을 사용하여 출발지 주소를 써 넣습니다.
수신시는 무자비모드가 아닐시 랜카드는 자신의 롬에 심어진 값과 같거나 맥 브로드캐스트일 경우(기타 IEEE 이더넷의 VLAN 과 같은
논리적인 확장을 고려하지 말고)에만 패킷을 시스템의 메모리로 복사합니다.
tcpdump 등으로 본다는 것은 무자비모드라는 말이며 결국 랜카드는 어떤 목적지 주소를 가졌든 간에 이것을 커널영역으로
전송하게 되고 따라서 tcpdump 와 같은 툴로 메모리의 값을 읽을 수 있는 것이고 그 때 커널영역의 변조된 맥어드레스와 같은 주소가
눈에 보이므로 실제로 랜카드 내부의 값이 바뀌었구나 라고 생각할 수 있습니다만
아닙니다.
무자비모드가 아니라면 맥어드레스변조는 송신시만 영향을 끼치며
수신시는 랜카드에 의해 드랍됩니다.
즉 무자비모드가 아닌 환경에서 맥스푸핑은 의미가 없습니다 보내기는 하되 받을 수 없기 때문에.
그냥 시스템 메모리 값이 아니에요. 컨트롤러가 실제로 패킷을 보내고 받을 때 주는 주소가 바뀝니다.
========>이 말 또한 틀린 말입니다.
맥주소 기반의 방화벽 기능을 가진 넷트웍장비가 아닐 경우 모든 평범한 이더넷 장치는 출발지 맥주소를
검사하지 않으며,출발지 주소는 시스템의 커널이 만들어 넣는 값을 그대로 사용합니다.
사실 동기비트와 뒤의 체크섬을 제외하면 이더넷 헤더및 이더넷 데이타......즉 모든 맥헤더와 데이타를
시스템의 커널이 만듭니다.랜카드 컨트롤러는 커널이 만들어준 것을 외부 연결장치와 협의된 클럭으로
재생성할 뿐이죠.
그러나 수신시는 무자비모드가 아니면 이더넷 헤더를 뜯어서 목적지 주소가 자신 또는 이더넷 브로드캐스트
일 경우에 일치하는지 검사합니다.(멀티캐스트도 있습니다만)이 2가지 경우가 아니면 1차적으로 랜카드에 의해
드랍됩니다.
시스템은 일체 이에 관여하지 않고 관여할 수도 없습니다.
이런 설명을 잘 하지 않는 이유가 보통의 시스템이 아무리 하잘것 없는 것이라도 모니터링 툴을 필요로 하기
때문에 무자비모드입니다.따라서 많은 문서가 무자비모드임을 전제하고 설명하는 것이지요.
=========================
매일막걸리 한 병 = 상태메롱
=========================
매일막걸리 한 병 = 상태메롱
promiscuous를 무작위도
promiscuous를 무작위도 아니고 무자비로 번역하는 게 일반적인가요? ifconfig으로 ether 주소를 바꾸면 arp에서 새 주소를 사용하게 되고 다른 기계들에서도 당연히 바뀐 주소로 보냅니다. 보내는 쪽에서 mac 주소를 tcpdump로 확인해보시고 그 패킷이 mac 주소 바뀐 기계로 promiscuous mode 아닌 상태에서 들어오는지 확인해보세요. 부팅할 때 로딩되는 거나 나중에 드라이버에서 바꾸는 거나 똑같아요.
아 그리고 시스템이 phy레벨 필터링에 많이 관여해요. multicast 패킷들 받아야지요;;;
제가 컴을 갖게 되면 확인하죠
사실 컴보다 막걸리가 우선입니다만.....이 답변을 끝으로 저는 더 이상 이 문제에 대해 말하지 않겠습니다.
영어를 못하는걸 넘어서 싫어합니다 찾아보기도 싫고요.
저는 promiscuous 모드가 아닐시 IEEE 확장이나 VLAN 등을 고려하지 않고 고전적이고 원칙적인 이더넷처리에
있어서 주소일치/멀티/브로드캐스팅/기타 벤더예약값(이 부분은 언급하지 않았는데 있습니다.) 등이 아닐경우
랜카드단에서 드랍된다 하였고 님은 아니라고 하십니다.
여기서 분명한 차이가 나며
802.3 + 802.2 를 완벽히 지원하면서 또 벤더 고유의 기능까지 여럿있을 경우까지 고려하면 promiscuous
모드 하나로 모든 것을 설명할 수는 없습니다.그렇기에 고전적인 처리원칙만으로 제한했던 것이고요
자잘한 부분들을 제외하고 님과 저는 분명하게 내용에서 차이가 납니다.
일반적으로 현직에 있거나 하다못해 집에 컴이라도 있는경우 여유있게 계속적으로 자기 주장을 펼칠 수
있겠습니다만 전 PC방에서밖에 컴을 접하지 못하며 게다가 맥주소를 바꾼다고 할 때 어디까지 바뀌느냐
하는게 정작 중요하지도 않습니다.
음.....
여러말을 하고싶습니다만 드라이버에서 맥어드레스를 바꿀 때 랜카드에 심어진 값이 바뀐다면
제게는 정말 치욕적인 사실이군요...뭐 그렇다고 해서 누군가에게 이익이 되지는 않겠습니다만 심리적으로
자결을 하고싶을겁니다.
=========================
매일막걸리 한 병 = 상태메롱
=========================
매일막걸리 한 병 = 상태메롱
그렇게 심각해질
그렇게 심각해질 필요는 없지않을까요. 막걸리 맛있게 드세요. 저도 맥주나 먹어야겠습니다.
꽃게 100m
꽃게 100m 랜카드(RTL8139) MAC 구워 봤습니다.
제조사에서 주는 유틸이 있습니다 랜카드 꽂은 뒤 그 유틸 돌리면 랜카드를 원하는 MAC으로 구워버릴 수 있죠. 아무에게나 주지는 않는데, 회사내에 회로 설계 하시는 분이 그 랜카드 제조사와 잘 알고 있는 사이여서 그 유틸 써봤죠. 아주 쉽습니다.
물론 드라이버에서 랜카드에 심어진 MAC 셋팅을 바꾸는 기능은 거의 없다고 봐야죠.
MAC을 마음대로 셋팅할수 있도록 하면 MAC충돌나서 네트웍 먹통되는 문제 터지고 이거 알아내기도 어렵기 때문에 공식적으로 시장에 출하하는 상품이라면 제조사에서도 아무렇게나 셋팅 하지 않아요. [하지만 맘만 먹으면 얼마든지 집어넣을 수는 있고, 사적으로 맘대로 셋팅해서 쓰면 쫑나건 말건 사용자 책임이니 그런데까지 신경은 안씁니다.]
리눅스는 ifconfig로 랜카드에 심어 있는 MAC을 무시하고 임의의 MAC을 셋팅해서 쓸 수 있습니다. 이건 랜카드에 심어진 MAC을 바꾸는건 아니고 랜카드에 심어진 원본 MAC이 아닌 강제셋팅한 MAC을 쓰는거죠. 재부팅하면 다시 랜카드 원래 MAC으로 돌아 옵니다.
Written By the Black Knight of Destruction
Written By the Black Knight of Destruction
뭐 맥주소는 변경
뭐 맥주소는 변경 가능하다, 불가능하다 단언하기는 어려운 것이 제품 구현에 따라 다를 수 있겠네요.
하지만 적어도 저희 회사에서 출시하는 상용 임베디드 시스템은 MAC 주소를 바꿀 수 있습니다.
비휘발성 플래시에 기록되는 값이니 자체 SW 툴로 write/read 다 가능하고 재부팅후에도 남아 있습니다.
고객은 당연히 콘솔 모드 접근이 불가능하니 아예 접근도 못하지만요.
ggeagle 님이 잘못 알고 계시는듯 하군요
랜카드의 HW mac 주소는 일반적으로 못바꾸는 것이 맞지만
윈도우에서도 장치관리자 네트워크 카드 등록정보를 보면 Network Address를 마음대로 바꿀수 있습니다
윈도우 부팅시마다 적용되는 값이므로 실 운용상 mac이 바뀌었다고 보는게 맞죠
저렇게 해놓고 외부에서 네트워크 패킷을 모니터링을 해보면 검증되는 것이니 논란이 있을만한것은 아닌듯 합니다.
-------------------------------------------------------------------------------
이 댓글(comment)의 수정 및 삭제를 위해 이 글에 답글(reply)을 쓰지 말아 주십시요.
의견이 있으시면 원 글에 댓글(comment)로 써 주세요.
-------------------------------------------------------------------------------
이 댓글(comment)의 수정 및 삭제를 위해 이 글에 답글(reply)을 쓰지 말아 주십시요.
의견이 있으시면 원 글에 댓글(comment)로 써 주세요.
일부 메인보드는
CMOS 들어가서 변경이 가능하더군요.
요즘은 사전 뜻 그대로 ROM은 별로 없고 거의 다시쓰기가 가능해서 그런가 봅니다.
<- 이거면 안 되는 게 없어~
정품 소프트웨어 사용 캠패인
<- 이거면 안 되는 게 없어~
정품 소프트웨어 사용 캠패인
댓글 달기