1️⃣ 네임스페이스 생성
ip netns add red
ip netns add blue
2️⃣ 리스트 확인
ip netns list
3️⃣ 네임스페이스 내부에서 명령어 실행
ip netns exec red ip link
ip -n red link
ip netns exec red arp # 네임스페이스 내부 ARP 테이블 조회 명령어
ip netns exec red route
lo (loopback)만 존재ip link add veth-red type veth peer name veth-blue
ip link set veth-red netns red
ip link set veth-blue netns blue
ip netns exec red ip addr add 192.168.15.1/24 dev veth-red
ip netns exec blue ip addr add 192.168.15.2/24 dev veth-blue
ip netns exec red ip link set veth-red up
ip netns exec blue ip link set veth-blue up
ip netns exec red ping 192.168.15.2
ip netns exec red arp # 해당 호스트의 ARP 테이블 조회
ip netns exec blue arp
✅ → Namespace 간 통신 성공
ip link add v-net-0 type bridge
ip link # 추가된 v-switch 인터페이스 확인 가능, default는 DOWN 되어있음 고로 up 명령어 실행
ip link set v-net-0 up
ip -n red del veth-red # 기존 케이블 삭제, 기존 링크를 삭제하면 반대쪽 통신의 끝도 자동으로 삭제됨
ip link add veth-red type veth peer name veth-red-br # 가상 스위치에 설정할 가상 인터페이스 생성
ip link add veth-blue type veth peer name veth-blue-br
ip link set veth-red netns red
ip link set veth-blue netns blue
ip link set veth-red-br master v-net0
ip link set veth-blue-br master v-net0
ip netns exec red ip addr add 192.168.15.1 dev veth-red
ip netns exec blue ip addr add 192.168.15.2 dev veth-blue
ip netns exec red ip link set veth-red up
ip -n blue link set veth-blue up
ip addr add 192.168.15.5/24 dev v-net-0
# 네임스페이스 내부가 아닌 호스트와 통신하기 위한 IP를 가상 스위치에 부여
# 192.168.15.5는 네임스페이스에서 호스트와 통신이 가능한
# 가상 스위치의 게이트웨이이고 호스트는 게이트웨이 역할을 하여 외부 네트워크인
# 192.168.1.0 (LAN) 과 통신 가능
# 외부 네트워크에는 192.168.1.3 IP를 가진 호스트가 따로 존재한다고 가정
ping 192.168.15.1 → red 네임스페이스로 연결됨ip netns exec red ip route add default via 192.168.15.5
iptables -t nat -A POSTROUTING -s 192.168.15.0/24 -j MASQUERADE
ip netns exec red ping 8.8.8.8
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.15.1:80
http://<호스트IP>:8080 → 네임스페이스의 웹 서비스로 연결| 기능 | 도구 |
|---|---|
| 네임스페이스 생성 | ip netns add |
| 가상 인터페이스 연결 | ip link add type veth |
| 브릿지 생성 및 연결 | ip link add type bridge |
| 네임스페이스간 통신 | 브릿지 + veth |
| 외부 연결 | IP Masquerade + Routing |
| 외부에서 내부로 포워딩 | iptables DNAT (Port Forward) |