IT 정보/리눅스

🔒 실무 팁(고급): 리눅스 'ip netns' 활용한 네트워크 격리 테스트 환경 구축

DONOT 2025. 5. 17. 14:41
하나의 물리 서버에서 여러 개의 격리된 네트워크 환경 구현하기
Linux Network Namespaces
리눅스 네트워크 네임스페이스(ip netns)를 활용해 완벽히 격리된 가상 네트워크 환경
단일 서버 내에 구축하는 고급 실전 팁입니다. 네트워크 설정 테스트, 보안 환경 시뮬레이션에 유용합니다.

구현 코드 예시
# 네트워크 네임스페이스 생성
sudo ip netns add net1
sudo ip netns add net2

가상 이더넷 쌍(veth) 생성

sudo ip link add veth1 type veth peer name veth2

각 네임스페이스에 인터페이스 할당

sudo ip link set veth1 netns net1
sudo ip link set veth2 netns net2

인터페이스 설정 및 활성화

sudo ip netns exec net1 ip addr add 10.0.0.1/24 dev veth1
sudo ip netns exec net2 ip addr add 10.0.0.2/24 dev veth2
sudo ip netns exec net1 ip link set veth1 up
sudo ip netns exec net2 ip link set veth2 up

네임스페이스 간 통신 테스트

sudo ip netns exec net1 ping 10.0.0.2

라우터 역할의 추가 네임스페이스 구성

sudo ip netns add router
sudo ip link add veth1r type veth peer name veth1g
sudo ip link add veth2r type veth peer name veth2g
sudo ip link set veth1g netns net1
sudo ip link set veth1r netns router
sudo ip link set veth2g netns net2
sudo ip link set veth2r netns router

NAT 및 포워딩 설정

sudo ip netns exec router sysctl -w net.ipv4.ip_forward=1
sudo ip netns exec router iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE




실무 적용 포인트

  • 복잡한 네트워크 설정을 물리 장비 없이 테스트
  • 네트워크 보안 솔루션 프로토타이핑 및 개발
  • 컨테이너 네트워킹 원리 이해 및 트러블슈팅

네트워크 네임스페이스로 복잡한 네트워크 환경을 자유롭게 시뮬레이션하세요!
반응형