두 개의 Private Subnet에서 하나의 Private Subnet에서 다른 Private Subnet에 있는 compute를 통해서 외부 인터넷에 접속할 수 있도록 하는 방법입니다.
1) 서로 다른 서브넷에 compuete(Private inatnsce, NAT instance)를 구성합니다.
2) NAT instance의 VNIC 설정에서 “Skip source/destination check” 을 체크합니다.(라우팅시 NAT instance로 라우팅하기 위한 설정입니다.)
3) NAT instance의 터미미널에 접속하여 아래와 같이 “/etc/sysctl.conf” 설정을 변경합니다. (패킹 포워딩을 위한 파리미터 등록 (/etc/sysctl.conf) 수정해서 아래 2개 등록)
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
4) sudo sysctl -p 실행하여 반영
두 개의 Private Subnet에서 하나의 Private Subnet에서 다른 Private Subnet에 있는 compute를 통해서 외부 인터넷에 접속할 수 있도록 하는 방법입니다.
1) NAT Gateway에 Route Rule 추가 (추가된 Secondary VCNI의 Private IP 주소를 Target으로 설정)
2) sysctl.conf 설정 추가 패킹 포워딩을 위한 파리미터 등록 (/etc/sysctl.conf) 수정해서 아래 2개 등록
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
3) sudo sysctl -p 실행하여 반영
4) NAT Instance에 접속하여 Secondary VNIC Device(ens5)로 들어온 트래픽이 백엔드 서브넷 CIDR로 전달되도록 Route Rule 추가 sudo route add -net {백엔드 서브넷 CIDR) gw {VNIC이 속한 Gateway} dev ens5
예시: sudo route add -net 10.0.1.0/24 gw 10.0.20.1 metric 0 dev ens5
두 개의 Private Subnet에서 하나의 Private Subnet에서 다른 Private Subnet에 있는 compute를 통해서 외부 인터넷에 접속할 수 있도록 하는 방법입니다. 그러나 VNIC을 다른 서브넷에 구성하여 in-bound 트래픽과 out-bound 트래픽을 분리하는 방식입니다.
1) NAT Gateway에 Route Rule 추가 (추가된 Secondary VCNI의 Private IP 주소를 Target으로 설정)
2) sysctl.conf 설정 추가 패킹 포워딩을 위한 파리미터 등록 (/etc/sysctl.conf) 수정해서 아래 2개 등록
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
3) sudo sysctl -p 실행하여 반영
4) NAT Instance에 접속하여 Secondary VNIC Device(ens5)로 들어온 트래픽이 백엔드 서브넷 CIDR로 전달되도록 Route Rule 추가 sudo route add -net {백엔드 서브넷 CIDR) gw {VNIC이 속한 Gateway} metric 0 dev ens5
예시: sudo route add -net 10.0.1.0/24 gw 10.0.40.1 metric 0 dev ens5
아래 링크에 secondary VNIC 추가하는 방법이 있습니다. (스크립트 다운로드 후 실행 )
Add secondary VNICs
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Kisu Kim INFRASTRUCTURE
oci compute nate-instacne