스푸핑된 MAC 주소와 함께 iproute2 "ip link" 명령을 사용하여 가상 네트워크 인터페이스 생성

스푸핑된 MAC 주소와 함께 iproute2 "ip link" 명령을 사용하여 가상 네트워크 인터페이스 생성

다음 ifconfig명령과 유사한 가상 인터페이스를 만들려면 어떻게 해야 합니까?

$ sudo ifconfig eth1 hw ether 00:01:02:aa:bb:cc  
SIOCSIFHWADDR: No such device  

이것은 작동하지 않습니다. DHCP 서버 구성을 테스트하기 위해 MAC 주소를 설정하고 싶습니다.

iproute2ip link 명령을 사용하여 제품군 에서 어떻게 이를 수행합니까 ?

$ sudo ip link add type veth  

이것은 작동하지만 MAC 주소를 무작위로 할당합니다. 이는 여전히 유용하지만, dhcpd내가 설정한 클래스를 서버가 어떻게 처리하는지 확인하기 위해 일부 특정 MAC 주소로 내 서버를 테스트하고 싶습니다 .

내 현재 설정 1 :

$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 60:eb:69:1b:a0:88 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.93/24 brd 172.16.0.255 scope global eth0
    inet6 fe80::62eb:69ff:fe1b:a088/64 scope link 
       valid_lft forever preferred_lft forever
7: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
8: veth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 3a:50:38:2e:24:c4 brd ff:ff:ff:ff:ff:ff

[1]: 이 설정은 위 명령을 실행한 결과가 아닙니다. 특히 존재하기 때문에 이런 식으로 번호가 매겨진 / ip link add type veth쌍이 생성되었을 것입니다 .veth1@veth2veth2@veth1veth0

답변1

DHCP 서버 구성을 테스트하기 위해 MAC 주소를 설정하고 싶습니다.

(적어도?) 이를 달성할 수 있는 두 가지 방법이 있습니다..

가장 간단하고 직관적이며,하지만 매우 위험한 방법, 수정하는 것입니다물리적 인터페이스의 그러나 그러기 위해서는인터페이스를 내려놔야 해그러므로 그것은 가장 안전한 방법은 아니며, 확실히원격으로 작동하는 경우 매우 위험한 방법! 호스트 등에 물리적으로 액세스할 수 있는 경우 옵션이 될 수 있습니다.

보다 안전한 방법은적절한 mac 주소를 사용하여 물리적 인터페이스에 연결하십시오. 물리적 인터페이스의 mac 주소를 변경하는 데 사용하는 것과 유사한 명령을 사용하여 언제든지 이 mac 주소를 변경할 수 있습니다. 이는 예를 들어 많은 인터페이스를 생성/삭제할 필요 없이 여러 IP/MAC 커플을 테스트하는 데 편리합니다.

예를 들어 네트워크가 물리적 링크에서 다른 mac 주소 사용을 금지하는 경우 네트워크의 보안 조치에 따라 macvlan 링크와의 연결이 끊어질 위험이 있기 때문에 "더 안전하다"고 말합니다. 어떤 경우에는 호스트가 연결된 네트워크 장치가 보안을 강화하고 있다고 간주하여 링크를 중단할 수도 있습니다.

다음 명령에는 다음이 필요합니다.리눅스에서의 유틸리티.

원격 호스트에서 다음 명령을 사용하기 전에 위의 텍스트를 읽으십시오!

macvlan 링크를 추가하려면 다음을 사용할 수 있습니다.

ip link add link eth0 type macvlan

해당 이름의 인터페이스가 존재하지 않는 경우와 같이 첫 번째 숫자가 있는 macvlanX위치에 인터페이스 이름이 지정됩니다 .X

vif0다음과 같은 것을 사용하여 생성 시 인터페이스 이름을 지정할 수 있습니다( 예:

ip link add name vif0 link eth0 type macvlan

라는 인터페이스를 갖습니다 vif0.

인터페이스가 있으면 다음을 00:11:22:33:44:55사용하여 mac 주소를 변경할 수 있습니다(예:).

ip link set address 00:11:22:33:44:55 dev macvlan0

이 동일한 명령을 사용하여 다른 인터페이스의 mac 주소를 변경할 수 있습니다. 이것은 물리적 링크의 mac 주소를 변경하는 데 사용할 수 있는 것입니다.

물론 macvlan 링크를 추가하고 해당 주소를 한 번에 설정할 수 있습니다.

ip link add name vif0 address 00:11:22:33:44:55 link eth0 type macvlan

mac 주소가 구성되면 인터페이스를 설정하는 것을 잊지 마십시오. 인터페이스 이름은 다음과 같습니다 vif0.

ip link set dev vif0 up

해당 명령의 일부 부분은 옵션이므로 다른 순서로 입력할 수 있고, 다른 부분은 구문의 일부이므로 올바른 위치에 입력해야 합니다. 또한, 의미를 훼손하지 않는 한 일부 부분은 생략될 수 있습니다 . 1 . 예를 들어 위의 명령에서는 dev생략할 수 있습니다.

생성된 macvlan의 기본 유형은 물리적 인터페이스와 가상 인터페이스 간의 직접 통신을 방지하는 VEPA입니다. 이 사용 사례에 적합해야 합니다. 기타 모드를 사용할 수 있습니다. 참조이 RedHat "가상 네트워킹을 위한 Linux 인터페이스 소개"의 macvlan에 대한 장.

도움이 되길 바랍니다... ...여기 지나가는 사람이 또 있어요.


1: 예를 들어 인터페이스 이름을 지정하는 것이 (매우) 좋지 않은 경우 생략할 수 없습니다 dev.

답변2

시도해 보셨나요?

ip link add type veth addr 00:01:02:aa:bb:cc

또는

ip link set dev veth0 addr 00:01:02:aa:bb:cc

답변3

VLAN 인터페이스 생성 ip 링크 추가 이름 ${VLAN 인터페이스 이름} 링크 ${상위 인터페이스 이름} 유형 vlan id ${tag} 예: ip 링크 추가 이름 eth0.110 링크 eth0 유형 vlan id 110

http://baturin.org/docs/iproute2/#Create%20a%20VLAN%20인터페이스

관련 정보