Linux 가상 네트워크 장치---Veth 쌍 상세 설명

Veth는 Virtual Ethernet Device의 약자로 Linux 가상 네트워크 인터페이스 장치 쌍입니다. 가장 일반적으로 사용되는 기능은 서로 다른 Linux 네트워크 이름 공간을 연결하여 두 이름 공간 간의 통신을 허용하는 것입니다. 네트워크 케이블을 사용하여 두 대의 컴퓨터(두 네임스페이스)를 기본 연결에 연결하는 것으로 간단히 veth 쌍을 이해할 수 있습니다. 이런 식으로 우리는 veth 쌍의 한쪽 끝이 다운되면 다른 쪽 끝도 다운된다는 것을 쉽게 이해할 수 있습니다.

아래에서는 Linux 호스트를 사용하여 두 개의 네임스페이스를 만들고 한 쌍의 veth 쌍을 사용하여 두 네임스페이스를 IP 네트워크와 연결하여 veth를 사용하는 방법을 설명합니다.

여기에 이미지 설명 삽입

1. 다음 명령을 사용하여 veth 쌍을 생성할 수 있습니다. veth0----veth1

veth0-veth1의 가상 이더넷 장치 쌍을 만듭니다.

sudo ip link add veth0 type veth peer name veth1

2. 두 개의 네임스페이스 네임스페이스를 생성한 후 다음 명령을 사용하여 두 개의 veth 장치를 각각 두 개의 네임스페이스 ns0 및 ns1로 이동하고 연결할 수 있습니다.

ns0과 ns1 두 개의 네임스페이스를 만들고 veth0을 ns0의 네트워크 카드로 설정하고 veth1을 ns1의 네트워크 카드로 설정합니다.

sudo ip netns add ns0
sudo ip netns add ns1
sudo ip link set veth0 netns ns0
sudo ip link set veth1 netns ns1

1+2 또는 다음 명령어를 사용하여 네임스페이스 생성 후 두 네임스페이스에 veth0, veth2를 직접 생성하고 두 네임스페이스를 직접 연결

이 단계는 위의 두 단계와 동일하며 ns0 및 ns1 네임스페이스와 veth0-veth1 가상 이더넷 장치 쌍을 직접 생성하고 veth0을 ns0의 네트워크 카드로 설정하고 veth1을 ns1의 네트워크 카드로 설정합니다.

sudo ip netns add ns0
sudo ip netns add ns1
sudo ip link add veth0 netns ns0 type veth peer veth1 netns ns1

3. veth0 및 veth1 활성화

veth0-veth1 가상 이더넷 장치 쌍을 활성화하고 양쪽을 활성화하도록 주의하십시오(네트워크 케이블을 연결하는 것과 동일).

sudo ip netns exec ns0 ip link set veth0 up
sudo ip netns exec ns1 ip link set veth1 up

4. 두 개의 네임스페이스 ns0 및 ns1에서 veth를 봅니다.

ip netns exec ns0 + 실행할 명령을 ns0에서 지정한 명령을 실행하는 형태로 ip link show 명령을 실행하면 ns0에서 네트워크 링크 상태를 볼 수 있습니다.

sudo ip netns exec ns0 ip link show
sudo ip netns exec ns1 ip link show

5. ns0 및 ns1의 네트워크 구성

ip netns exec ns0 + 실행할 명령을 ns0에 지정한 명령을 실행하는 형식으로 ip addr add 명령을 실행하여 ns0에 veth0에 대한 IP 주소를 구성합니다. 동시에 그에 따라 ns1을 작동합니다. 구성이 완료되면 ns0 및 ns1 아래에 기본 경로가 자동으로 생성됩니다.

sudo ip netns exec ns0 ip addr add 192.168.0.2/24 dev veth0
sudo ip netns exec ns1 ip addr add 192.168.0.3/24 dev veth1

6. ns0 및 ns1의 IP 주소 및 경로 보기

ns0에 있는 veth0 네트워크 카드의 IP 주소는 192.168.0.2이고 ns1에 있는 veth1 네트워크 카드의 IP 주소는 192.168.0.3이며 기본 경로는 ns0 및 ns1 네임스페이스 모두에서 생성되는 것을 볼 수 있습니다.

sudo ip netns exec ns0 ip addr show
sudo ip netns exec ns1 ip addr show
sudo ip netns exec ns0 ip route show
sudo ip netns exec ns1 ip route show

7. ns0 및 ns1 전에 네트워크 연결 확인

ip netns exec ns0 + 실행할 명령어를 ns0에 지정한 명령어를 실행하는 형태로 ping 명령어를 실행하여 ns0과 ns1 사이의 ip 네트워크 연결을 확인한다.

xxx@xx-PC:~$ sudo ip netns exec ns0 ping 192.168.0.3
PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from 192.168.0.3: icmp_seq=3 ttl=64 time=0.050 ms

Supongo que te gusta

Origin blog.csdn.net/meihualing/article/details/131142740
Recomendado
Clasificación