사설 네트워크에서 인터넷 액세스를 위해 NAT 구성
이 튜토리얼은 클래식 인프라 사용에 대해 설명합니다. 대부분의 워크로드는 IBM Cloud® Virtual Private Cloud 리소스를 사용하여 구현할 수 있습니다. IBM Cloud VPC를 사용하여 공유 퍼블릭 클라우드 인프라에서 사용자 고유의 프라이빗 클라우드와 같은 컴퓨팅 환경을 작성할 수 있습니다. VPC는 엔터프라이즈에 다른 모든 퍼블릭 클라우드 테넌트와 논리적으로 격리된 가상 네트워크를 정의하고 제어하여 퍼블릭 클라우드에 클라우드에 안전한 비공개 장소를 작성할 수 있는 기능을 제공합니다. 특히, 가상 서버 인스턴스, 보안 그룹, 네트워크 ACL 및 퍼블릭 게이트웨이를 제공합니다.
이 튜토리얼에서는 비용이 발생할 수 있습니다. Cost Estimator를 사용하여 예상 사용량을 기반으로 비용 추정값을 생성하십시오.
웹 기반 IT 애플리케이션 및 서비스가 주류가 되면서, 이제 격리되어 존재하는 애플리케이션은 거의 없습니다. 개발자들은 인터넷에서 서비스(이것이 오픈 소스 애플리케이션 코드 및 업데이트든, 또는 REST API를 통해 애플리케이션 기능을 제공하는 '서드파티' 서비스든 관계없이)에 액세스하는 것을 당연하게 여기게 되었습니다. 네트워크 주소 변환(NAT) 위장은 사설 네트워크에서 인터넷 호스팅되는 서비스에 대한 액세스를 보호하는 데 일반적으로 사용되는 접근법입니다. NAT 위장에서 사설 IP 주소는 아웃바운드 공용 인터페이스의, 다대일 관계를 가진 IP 주소로 변환되어 사설 IP 주소를 외부의 시선으로부터 보호합니다.
이 튜토리얼에서는 IBM Cloud 사설 네트워크의 보안된 서브넷에 연결하는 Virtual Router Appliance(VRA)에서의 네트워크 주소 변환(NAT) 위장 설정을 제공합니다. 이는 보안 사설 네트워크를 사용하여 워크로드 격리 튜토리얼을 기반으로 하며, 여기에 아웃바운드 트래픽을 보안하기 위해 소스 주소가 난독화되고 방화벽 규칙이 사용되는 소스 NAT(SNAT) 구성이 추가됩니다. 더 복잡한 NAT 구성은 보충 VRA 문서에 있습니다.
목표
- Virtual Router Appliance(VRA)에서 소스 네트워크 주소 변환(SNAT) 설정
- 인터넷 액세스를 위한 방화벽 규칙 설정
- 필요한 인터넷 서비스를 기록합니다.
- NAT을 설정합니다.
- 인터넷 방화벽 구역 및 규칙을 작성합니다.
시작하기 전에
이 튜토리얼은 보안 사설 네트워크를 사용하여 워크로드 격리 튜토리얼에서 작성된 보안 사설 네트워크 격납장치의 호스트가 공용 인터넷 서비스에 액세스할 수 있도록 합니다. 이 튜토리얼을 먼저 완료해야 합니다.
필요한 인터넷 서비스 기록
첫 번째 단계는 공용 인터넷에서 액세스할 서비스를 식별하고 아웃바운드 트래픽과 이에 대응하는 인터넷으로부터의 인바운드 트래픽을 위해 사용으로 설정해야 하는 포트를 기록하는 것입니다. 이 포트 목록은 이후 단계의 방화벽 규칙에 필요합니다.
http 및 https 포트가 대부분의 요구사항을 만족시키므로, 이 예에서는 이들 포트만 사용으로 설정됩니다. DNS 및 NTP 서비스는 IBM Cloud 사설 네트워크로부터 제공됩니다. 이러한 서비스, 그리고 SMTP(포트 25) 또는 MySQL(포트 3306)과 같은 기타 서비스가 필요한 경우에는 추가 방화벽 규칙이 필요합니다. 두 기본 포트 규칙은 다음과 같습니다.
- 포트 80(http)
- 포트 443(https)
서드파티 서비스가 허용되는 소스 주소 목록의 정의를 지원하는지 확인하십시오. 지원하는 경우에는 서비스에 대한 액세스를 제한하도록 서드파티 서비스를 구성하는 데 VRA의 공인 IP 주소가 필요합니다.
인터넷에 대한 NAT 위장
NAT 위장을 사용하여 APP 구역에 있는 호스트의 외부 인터넷 액세스를 구성하려면 다음 지시사항을 따르십시오.
-
VRA에 SSH로 접속하여 [edit](구성)모드로 전환하십시오.
SSH vyatta@<VRA Private IP Address> configure -
이전 VRA 프로비저닝 튜토리얼에서 앱 영역 서브넷/VLAN에 대해 결정한 것과 동일한 <서브넷 게이트웨이 IP>/
을 지정하여 VRA에 SNAT 규칙을 생성합니다. set service nat source rule 1000 description 'pass traffic to the Internet' set service nat source rule 1000 outbound-interface 'dp0bond1' set service nat source rule 1000 source address <Subnet Gateway IP>/<CIDR> set service nat source rule 1000 translation address masquerade commit
방화벽 작성
-
APP-TO-OUTSIDE에 대한 방화벽 규칙을 작성하십시오.
set security firewall name APP-TO-OUTSIDE default-action drop set security firewall name APP-TO-OUTSIDE description 'APP traffic to the Internet' set security firewall name APP-TO-OUTSIDE default-log set security firewall name APP-TO-OUTSIDE rule 90 protocol tcp set security firewall name APP-TO-OUTSIDE rule 90 action accept set security firewall name APP-TO-OUTSIDE rule 90 destination port 80 set security firewall name APP-TO-OUTSIDE rule 100 protocol tcp set security firewall name APP-TO-OUTSIDE rule 100 action accept set security firewall name APP-TO-OUTSIDE rule 100 destination port 443 set security firewall name APP-TO-OUTSIDE rule 200 protocol icmp set security firewall name APP-TO-OUTSIDE rule 200 icmp type 8 set security firewall name APP-TO-OUTSIDE rule 200 action accept commit -
방화벽 규칙 OUTSIDE-TO-APP을 작성하십시오.
set security firewall name OUTSIDE-TO-APP default-action drop set security firewall name OUTSIDE-TO-APP description 'Internet traffic to APP' set security firewall name OUTSIDE-TO-APP default-log set security firewall name OUTSIDE-TO-APP rule 100 protocol tcp set security firewall name OUTSIDE-TO-APP rule 100 action accept set security firewall name OUTSIDE-TO-APP rule 100 destination port 443 set security firewall name OUTSIDE-TO-APP rule 90 protocol tcp set security firewall name OUTSIDE-TO-APP rule 90 action accept set security firewall name OUTSIDE-TO-APP rule 90 destination port 80 set security firewall name OUTSIDE-TO-APP rule 200 protocol icmp set security firewall name OUTSIDE-TO-APP rule 200 icmp type 8 set security firewall name OUTSIDE-TO-APP rule 200 action accept commit
구역 작성 및 규칙 적용
-
외부 인터넷에 대한 액세스를 제어하는 데 필요한 구역인 OUTSIDE를 작성하십시오.
set security zone-policy zone OUTSIDE default-action drop set security zone-policy zone OUTSIDE interface dp0bond1 set security zone-policy zone OUTSIDE description 'External Internet' -
인터넷과의 트래픽을 제어하기 위한 방화벽을 지정하십시오.
set security zone-policy zone APP to OUTSIDE firewall APP-TO-OUTSIDE set security zone-policy zone OUTSIDE to APP firewall OUTSIDE-TO-APP commit -
APP 구역의 VSI가 이제 인터넷 상의 서비스에 액세스할 수 있는지 유효성 검증하십시오. SSH를 사용하여 로컬 VSI에 로그인하십시오.
ssh root@<VSI Private IP>ping 및 curl을 사용하여 인터넷 사이트에 대한 ICMP 및 TCP 액세스를 유효성 검증하십시오.
ping 8.8.8.8 curl www.google.com
자원 제거
이 튜토리얼에서 작성된 리소스를 제거하기 위한 단계입니다.
VRA는 월별 유료 플랜을 기반으로 합니다. 취소해도 환불이 되지 않습니다. 다음 달에 이 VRA가 다시 필요하지 않은 경우에만 취소하는 것이 좋습니다. 이중 VRA 고가용성 클러스터가 필요한 경우 게이트웨이 세부사항 페이지에서 이 단일 VRA를 업그레이드할 수 있습니다.
- 모든 Virtual Server 또는 Bare Metal Server를 취소하십시오.
- VRA를 취소하십시오.
- VLAN 취소