동일한 물리적 장치(eth1)에 두 개의 서로 다른 MAC 및 IP 주소를 구성해야 합니다.
하지만 기본/전역 네임스페이스에 macvlan 인터페이스를 구성하고 거기에 VLAN을 구성하면. 태그를 지정(ping)하지 않고 외부 호스트에서 VLAN IP 주소를 직접 ping할 수 있습니다. 그러나 반면에 태그된 핑은 작동하지 않습니다. 비전역/비기본 네임스페이스에서 네트워크 구성을 설정할 때도 동일한 일이 발생합니다.
ip addr add 169.254.255.126/16 dev eth1
ip link set dev eth1 up
# ping 169.254.255.126 # PING from external host is working: fine
ip link add macvlan link eth1 type macvlan mode bridge
ip addr add 169.254.255.127/16 dev macvlan
ip link set dev macvlan up
# ping 169.254.255.127 # PING from external host is working: fine
ip link add link macvlan name vlan2 type vlan id 2
ip addr add 169.254.255.128/16 dev vlan2
ip link set dev vlan2 up
# ping 169.254.255.128 # PING from external host works without vlan tag: FAIL
# ping 169.254.255.128 -I VLAN2 # no PING response external host with vlan tag: FAIL
그렇다면 전역/기본 네임스페이스의 동일한 물리적 인터페이스에 두 개의 가상 인터페이스(다른 MAC+IP)를 설정하여 실제 장치처럼 작동하려면 어떻게 해야 합니까?
선택사항: 전역 옵션 없이 네임스페이스를 허용할 수 있습니다.
참고: 커널 5.4가 있는 UBUNTU 18.04와 커널 4.9가 있는 임베디드 빌드 루트 시스템에서 테스트했습니다(두 번 모두 동일한 결과).
답변1
몇 가지 테스트와 추가 조사 끝에 문제는 동일한 네트워크 영역의 여러 IP 주소를 여러 네트워크 인터페이스에 배치하려고 한다는 것이었습니다.
이것이 제대로 작동하려면 비전역 네임스페이스가 필요합니다.
그럼 여기서 이 질문을 마무리하겠습니다. 감사해요