6개의 네임스페이스를 생성하고 veth 링크를 사용하여 구성했습니다. MAC 주소를 추가하려고 합니다. 하지만 다음과 같은 오류가 표시됩니다.
SIOCSIFHWADDR: Cannot assign requested address
SIOCSIFHWADDR: Cannot assign requested address
SIOCSIFHWADDR: Cannot assign requested address
이것은 내 코드입니다.
네임스페이스 추가
ip netns add ns1
ip netns add ns2
ip netns add ns3
ip netns add ns4
ip netns add ns5
ip netns add ns6
수의사 추가
ip link add eth0 type veth peer name eth1
ip link add eth2 type veth peer name eth3
ip link add eth4 type veth peer name eth5
ip link add eth6 type veth peer name eth7
ip link add eth8 type veth peer name eth9
링크 웨스
ip link set netns ns1 eth0
ip link set netns ns2 eth3
ip link set netns ns3 eth6
ip link set netns ns4 eth9
ip link set netns ns5 eth1
ip link set netns ns5 eth2
ip link set netns ns5 eth4
ip link set netns ns6 eth5
ip link set netns ns6 eth7
ip link set netns ns6 eth8
맥 할당
ip netns exec ns1 ifconfig eth0 hw ether 00:00:00:00:00:00
ip netns exec ns2 ifconfig eth3 hw ether 03:03:03:03:03:03
ip netns exec ns3 ifconfig eth6 hw ether 06:06:06:06:06:06
ip netns exec ns4 ifconfig eth9 hw ether 09:09:09:09:09:09
누구든지 도와줄 수 있나요?
답변1
네임스페이스 문제는 없습니다. veth(가상 이더넷) 유형 문제는 없습니다. 유일한 문제는MAC 주소선택하다:
00:00:00:00:00:00
"설정되지 않음"과 같은 항목을 위해 확실히 예약되어 있으므로 아무런 효과가 없습니다.
다음 주소가 포함된 모든 주소멀티캐스트 비트(첫 번째 옥텟의 최하위 비트) 설정은 카드의 하드웨어 주소일 수 없습니다. 멀티캐스트 주소는목적지주소가 아닌원천, 따라서 카드에 할당하는 것은 의미가 없습니다. 그러니 다음을 누르세요:
03:03:03:03:03:03
09:09:09:09:09:09
남은 유효한 이더넷 MAC 주소:
06:06:06:06:06:06
심지어 있다현지 현황(첫 번째 옥텟의 두 번째 최하위 비트) 세트로, 테스트 및 가상화에 적합합니다(그러나 기술적으로 전혀 필수는 아닙니다).
댓글에서 말했듯이 이미 무작위로 올바르게 생성된 항목을 유지하는 것이 좋습니다. 필요한 경우 나중에 사용할 수 있도록 해당 값을 검색하기만 하면 됩니다(완전한 재현성을 위해 나중에 재사용하는 것도 포함).