EIP를 사용하여 Amazon EC2에서 Asterisk를 실행할 때 Asterisk에 대한 NAT 구성은 무엇입니까?
[general]
nat=yes
externip=xxx.yyy.zzz.vvv
localnet=192.168.0.0/255.255.0.0 ; RFC 1918 addresses
localnet=10.0.0.0/255.0.0.0 ; Also RFC1918
localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation
localnet=169.254.0.0/255.255.0.0 ; Zero conf local network
확실히,EIC는 NAT를 사용합니다.:
EC2 인스턴스가 VPC의 프라이빗 서브넷에 있는 경우 아웃바운드 연결에 NAT를 사용할 수 있습니다. 외부 세계에서는 해당 IP 주소를 NAT의 IP 주소로 간주하지만 NAT의 IP 주소는 결코 인스턴스의 퍼블릭 IP 주소가 "되지" 않습니다.
일반적인 이해생태학적 IP 작동 방식:
예시를 살펴보기 전에 탄력적 IP의 작동 방식을 검토해 보겠습니다.
...
각 인스턴스에는 내부 IP 주소와 내부 IP 주소로 변환되는 외부(공용) IP 주소가 있다는 점을 기억하세요. 두 외부 IP가 모두 동일한 내부 IP로 변환되면 인바운드 패킷은 성공적으로 도착하지만 나가는 패킷을 분류하는 것(즉, 나가는 패킷에 할당된 외부 IP 주소를 결정하는 것)은 매우 어렵습니다. 따라서 각 인스턴스는 특정 시점에 단일 외부 IP 주소로 제한됩니다.
위키피디아(참고로):
탄력적 IP 주소 Amazon 탄력적 IP
Amazon의 탄력적 IP 주소 기능은 기존 데이터 센터 고정 IP 주소와 유사하지만 한 가지 주요 차이점이 있습니다. 사용자는 네트워크 관리자의 도움을 받거나 DNS가 바인딩을 전파할 때까지 기다리지 않고도 탄력적 IP 주소를 모든 가상 머신 인스턴스에 프로그래밍 방식으로 매핑할 수 있습니다. 이러한 의미에서 탄력적 IP 주소는 가상 머신 인스턴스가 아닌 계정에 속합니다. 이는 명시적으로 삭제될 때까지 존재하며 인스턴스와 연결되지 않은 경우에도 계정과 연결된 상태를 유지합니다.
구체적인 세부정보 살펴보기SIP 및 별표에 대한 배경:
1.3. 다양한 유형의 NAT 및 방화벽.
특정 NAT 또는 방화벽 구현은 다음과 같은 다양한 방식으로 UDP를 처리할 수 있습니다.
1.3.1 풀콘 NAT
Full-cone NAT는 동일한 내부 IP 주소 및 포트에서 들어오는 모든 요청을 동일한 외부 IP 주소 및 포트로 매핑하는 NAT입니다. 또한 모든 외부 호스트는 매핑된 외부 주소로 패킷을 보내 내부 호스트로 패킷을 보낼 수 있습니다.
1.3.2 제한된 원뿔:
Restricted Con NAT는 동일한 내부 IP 주소와 포트에서 들어오는 모든 요청을 동일한 외부 IP 주소와 포트로 매핑하는 방식입니다. 풀콘 NAT와 달리 외부 호스트(IP 주소 X)는 내부 호스트가 이전에 IP 주소 X로 패킷을 보낸 경우에만 내부 호스트로 패킷을 보낼 수 있습니다.
1.3.3 포트 제한 콘:
포트 제한 콘 NAT는 제한 콘 NAT와 유사하지만 제한 사항에는 포트 번호가 포함됩니다.
구체적으로, 외부 호스트는 내부 호스트가 이전에 IP 주소 X와 포트 P로 패킷을 보낸 경우에만 소스 IP 주소 X와 소스 포트 P를 가진 패킷을 내부 호스트로 보낼 수 있습니다.
1.3.4 대칭형 NAT:
대칭형 NAT는 동일한 내부 IP 주소 및 포트에서 들어오는 모든 요청을 동일한 외부 IP 주소 및 포트에 대한 특정 대상 IP 주소 및 포트로 매핑하는 방법입니다. 동일한 호스트가 동일한 소스 주소와 포트를 사용하여 패킷을 보내지만 다른 대상으로 보내는 경우 다른 매핑이 사용됩니다. 또한 패킷을 수신한 외부 호스트만 UDP 패킷을 내부 호스트로 다시 보낼 수 있습니다.
EIC가 "풀콘" NAT를 사용하는 것 같습니다. 그렇다면 NAT의 별표 설정은 무엇입니까?
답변1
외부 IP를 외부 IP로 설정해야 합니다.
Localnet이 로컬 네트워크로 설정되어 있습니다(ifconfig로 확인).
틀림없이
nat=comedia,force_rport
(nat=yes는 최신 버전에서는 작동하지 않습니다).
; nat = no ; Do no special NAT handling other than RFC3581
; nat = force_rport ; Pretend there was an rport parameter even if there wasn't
; nat = comedia ; Send media to the port Asterisk received it from regardless
; ; of where the SDP says to send it.
; nat = auto_force_rport ; Set the force_rport option if Asterisk detects NAT (default)
; nat = auto_comedia ; Set the comedia option if Asterisk detects NAT