● namespace 생성 & 확인
# 생성
ip netns add ns1
ip netns add ns2
# 확인
ip netns list
● 가상의 Bridge 생성
ip link add bridge1 type bridge
ip link add bridge2 type bridge
● Bridge 확인
# 설치
yum install -y epel-release
yum install -y bridge-utils
# 확인
brctl show
● 가상의 링크 생성
ip link add ns1-veth type veth peer name ns1-veth-br
ip link add ns2-veth type veth peer name ns2-veth-br
● 각 namespace를 링크에 연결
ip link set ns1-veth netns ns1
ip link set ns2-veth netns ns2
ip link set ns1-veth-br master bridge1
ip link set ns2-veth-br master bridge2
● IP 설정 & 인터페이스 활성화
# IP 설정
ip netns exec ns1 ip addr add 10.10.10.10/24 dev ns1-veth
ip netns exec ns2 ip addr add 20.20.20.20/24 dev ns2-veth
ip addr add 10.10.10.1/24 dev bridge1
ip addr add 20.20.20.1/24 dev bridge2
# bridge & 연결된 namespace : 같은 네트워크 대역으로 맞춰주기
# 인터페이스 활성화
ip link set bridge1 up
ip link set bridge2 up
ip link set ns1-veth-br up
ip link set ns2-veth-br up
ip netns exec ns1 ip link set ns1-veth up
ip netns exec ns2 ip link set ns2-veth up
● 통신 확인
ip netns exec ns1 ping [IP주소] -c 5
● 라우팅 테이블 추가
ip netns exec ns1 ip route add default via 10.10.10.1
ip netns exec ns2 ip route add default via 20.20.20.1
● 본인 IP가 아니어도 패킷을 버리지 않도록 설정
sysctl -w net.ipv4.ip_forward=1
● NAT 설정
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 20.20.20.0/24 -j MASQUERADE
# 확인
iptables -t nat -L
'CLOUD > Docker&Kubernetes' 카테고리의 다른 글
[Kubernetes/CentOS] 쿠버네티스 환경 구축하기 (0) | 2023.04.21 |
---|---|
[Docker/Linux] 도커 네트워크 확인하기 (0) | 2023.04.20 |
[Docker/Linux] 가상 네트워크 설정하기 (0) | 2023.04.20 |
[Docker/Pycharm] Nginx - Gunicorn - MySQL 3계층 연동하기 (0) | 2023.04.19 |
[Docker/Linux] 컨테이너 개발하기 (0) | 2023.04.19 |