• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
가이드

[헤놀로지 정보] 물리적MAC 및 동적 MAC에 대하여...

TheSTREET 661

4

8

NIC 의 MAC 에 대하여 서술합니다

 

NIC는 Network interface Controller 의 약어로서 흔히 말하는 네트워크 카드 (WIFI 모듈 및 랜모듈등) 을 일컫는 말입니다.

각 NIC 는 제조사 (Intel,Realtek 등) 에 등록된 MAC (Media Access Control) address 가 존재합니다.

이는 12자리 16진수의 숫자로 NIC 의 펌웨어에 존재 하며 OS 에서 사용될 네트워크 레이어정보에 필수로 들어가는 주소입니다.

 

그러면 여기서 두가지 MAC 존재합니다.

  1. 물리적 MAC (Physical MAC)
  2. 동적 MAC (Dynamic MAC)

이 두개는 큰 차이를 보입니다.

물리적 맥어드레스 부터 알아봅시다.

 

  - 물리적 MAC Address (Physical MAC Address)

 

물리적 맥은 ..처음에 서술하였듯이 ... 각 랜카드의 제조사에서 그 랜카드에 존재하는 BIOS (EEPROM등) 에 들어가져있는

맥어드레스 입니다. 물리적 맥 어드레스는 현실에 비유하자면 여러분들이 실제로 거주하는 집주소 로 비교할수있습니다.

 

 - 동적 MAC Address (Dynamic MAC Address)

 

동적맥 어드레스는 말그대로 NIC 펌웨어에 있는 물리적 맥어드래스가 아니라 소프트웨어적으로 변경되는 맥어드레스를 뜻합니다.

현실에 비유하자면 A라는 주소에 실거주를 하나 B라는 주소로 허위로 전입신고하요 B라는 주소로 거주하는 거죠

하지만 실제로 는 A라는 주소에 살고있는거죠.

 

 

이 두개의 차이입니다.

 

자 그런데 이게 왜 헤놀로지에서 알아둬야하나?

user-config.json 에서

NIC 갯수 변수 밑에

"mac1","mac2","mac3" 이 존재합니다.

 

문제는 한개만 있을때는 문제가 안됩니다.

다중에서 문제가 터지는데..

헤놀로지에서 드라이버를 로드하였을때 PCIE 버스 순서대로 eth0 을 잡습니다.

PCI 00:00 , 00:01 이런 식으로요

문제는 mac 옵션과 NIC 인식되는 순서대로 어드래스를 인식시키는겁니다.

예를 들어

mac1 000000000001

mac2 000000000002

mac3 000000000003

옵션을 주었다고 가정하고 

nic1 010000000000 (PCI 02:00)

nic2 010000000001 (PCI 02:01)

nic3 0F000000000A (PCI 01:00)

의 물리적 맥어드레스를 가졌다고 하면  맥어드레스 가 서로 다르기때문에

Mshell  등의 부트로더들은 nic1 = mac1 를 먹이는데 부트로더가 구동을 할때 달라서 소프트웨어적으로 맥어드레스를

교체 하게됩니다.

 

근데 여기서 리눅스에서 하드웨어 PCI 할당 순서에 따라 eth0 을 먹인다고 했는데 여기서 문제가 터집니다.

즉 mac 에 리얼 어드레스를 먹였다하여도 , 장치의 순서에따라 달라지기 때문에 PCI 01:00 이 nic1 이 되어버립니다.

mac1(물리적맥) = nic1 (실제로는 nic3) 

mac2(물리적맥) = nic2 (실제로는 nic1)

mac3(물리적맥) = nic3 (실제로는 nic2) 

각자 물리적인 맥어드레스가 존재하기에, 공유기에서는 IP할당등 문제가 발생하게되어버립니다..(네트워크 저하 및 뻗는 루프백현상)

 

 또한  NIC 에서 동적맥어드레스 기능을 지원을 안할경우 장애가 일으킬수도 있습니다.

그래서 헤놀로지 올리실때

Mshell 에서 화면 상단 우측에 보시면 네트워크 정보가 뜨는데 

거기뜨는 드라이버 순서대로 mac의 옵션을 먹여주면 됩니다.

신고공유스크랩
8
2등
현정사랑 2023.08.15. 03:36

방금 테스트 해봤는데 제경우엔 Mshell for TCRP에서 맥 주소 가져오는 것으로 하면
1. 인텔 내장랜 2.5G,
2. 인텔 내장랜 1G
3. 외장 멜라녹스 40G
4. 외장 멜라녹스 40G 의 순서로 잡히길래 위에서 설명해주신대로 인식되는 순으로

"mac1": "D85~~~A9", 인텔 1기가
"mac2": "000~~~60", 멜라녹스 CX354A-FCBT
"mac3": "000~~~61", 멜라녹스 CX354A-FCBT
"mac4": "D85~~~A8", 인텔 2.5기가 순으로 바꿨더니 제대로 동작하네요.

조금전까지 순서가 꼬였을때는 2.5G 포트와 40G 1개포트를 연결하면 네트워크 감지가 안되거나 SMB 멀티채널이 동작하지 않는등 문제가 있었습니다. 공유기쪽은 어차피 1G(아파트가 오래되서 인터넷이 500Mㅜㅜ)로 연결되어 있었고 40G도 한포트만 써도 대역폭이 남는 상황이라 대충 쓰고있었는데 이제 모든 네트워크가 정상적으로 동작하니 좋네요.

그런데 네트워크나 헤놀을 잘모르다보니 한가지 의문이 생겼습니다.
헤놀 7.0.1 버전을 쓸때
"mac1": "D85~~~A8", 인텔 2.5기가랜은 그때 드라이버가 없어서 포기했습니다.
"mac2": "D85~~~A9", 인텔 1기가랜
"mac3": "000~~~60", 멜라녹스 CX354A-FCBT
"mac4": "000~~~61", 멜라녹스 CX354A-FCBT
위와 같이 설정해서 문제 없이 쓰고 있었습니다.
7.2 버전에서 맥주소 가져오는 기능을 쓰면 내장랜 맥 주소 빠른것, 외장랜 순으로 자동으로 가져오는것 같은데 제가 7.0.1 쓸때와 같은 순서로 설정이 되네요.
7.0.1 버전일때는 문제없이 되던게 7.2에서 문제가 되는게 버전이 올라가면서 드라이버 잡는 방식이 바뀐건가요?

TheSTREET 글쓴이 2023.08.15. 09:45
현정사랑
리눅스 커널 버전업함에 따라 ... 하드웨어 감지 방식이 바뀐듯합니다.
현정사랑 2023.08.15. 11:59

한가지가 아직 해결이 안되었네요.
"mac1": "D85~~~A9", 인텔 1기가
"mac2": "000~~~60", 멜라녹스 CX354A-FCBT
"mac3": "000~~~61", 멜라녹스 CX354A-FCBT
"mac4": "D85~~~A8", 인텔 2.5기가 순으로 하니 전부 되었다고 생각했는데 재부팅하니
제어판-네트워크에서는 mac1~4가 연결됨 이라고 표시되는데 로그에는 [LAN3] link up이 안뜨길래 ip scanner로 검색하니 mac3이 연결되어 있고 mac2가 연결 안되있네요.... mac2에 PING 찍어봐도 반응이 없네요.
DAC 케이블을 뺏다가 그대로 다시 꽂으니 정상적으로 인식되고 PING도 반응하네요.
아무래도 mac2와 mac3도 순서를 바꿔서 해봐야할것 같습니다.

 

"mac2": "000~~~60", 멜라녹스 CX354A-FCBT
"mac3": "000~~~61", 멜라녹스 CX354A-FCBT 순서를 바꾸니 증상은 여전하네요. 

케이블 분리했다 다시 연결하면 1포트만 제대로 동작합니다.

 

로더 빌드할때 순서는 

e100e

mlx4_core

ige 순이라 위처럼 했는데 다시 순서를 바꿔야할지 모르겠습니다..

 

 

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 63 달소 23.05.29.01:57 25276 +24
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 26911 +23
잡담 시놀로지 포토스, 서베일런스, 그리고 PLEX 1 헬로 1일 전16:52 240 +1
질문 지금 시점에서 7세대 나스는 아이들 전력소비가 큰가요? 7 나와너 3일 전17:35 427 +1
정보 해놀 DSM 7.2.1-69057 Update 5로 업데이트 한 이후의 AME 3.1 활성화 관련 14 FantomD 3일 전12:47 492 +5
57 가이드
normal
Nicona 23.08.02.21:20 3418 +11
56 가이드
image
사일 23.06.29.03:13 958 +10
55 가이드
normal
펜타네스트 23.10.25.12:30 1441 +10
54 가이드
image
달소 24.03.09.20:57 775 +9
53 가이드
image
달소 22.01.18.22:51 6911 +9
52 가이드
image
kmw_ 23.11.04.20:28 847 +8
51 가이드
normal
블랙앤해적 24.03.10.14:25 426 +7
50 가이드
image
달소 24.03.10.10:06 308 +7
49 가이드
image
EXP 24.01.06.06:43 653 +7
48 가이드
image
행복하세 23.11.06.15:49 1015 +7
47 가이드
normal
riverflow 24.02.16.13:34 996 +6
46 가이드
image
GEA4 23.11.28.15:32 1441 +6
45 가이드
image
달소 23.09.03.19:54 6557 +6
44 가이드
image
블랙앤해적 24.01.05.13:32 530 +5
43 가이드
normal
Nicona 23.07.30.11:11 2073 +5
42 가이드
image
Otario 23.06.13.06:31 479 +5
41 가이드
normal
화정큐삼 24.01.30.21:35 372 +4
가이드
normal
TheSTREET 23.08.14.23:22 661 +4
39 가이드
image
달소 23.10.06.17:22 868 +4
38 가이드
image
CAD 24.03.20.09:47 509 +4