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の仕組み:
例を見てみる前に、Elastic IPの仕組みを見てみましょう。
...
各インスタンスには、内部IPアドレスと内部IPアドレスに変換される外部(パブリック)IPアドレスがあることに注意してください。両方の外部IPが同じ内部IPに変換されると、着信パケットは正常に到着しますが、発信パケットを分類すること(つまり発信パケットに割り当てられた外部IPアドレスを決定すること)は非常に困難です。したがって、各インスタンスは特定の時点で単一の外部IPアドレスに制限されます。
ウィキペディア(参考として):
Elastic IP Address Amazon Elastic IP
AmazonのElastic IP Address機能は、既存のデータセンター固定IPアドレスと似ていますが、1つの主な違いがあります。ユーザーは、ネットワーク管理者の助けを借りたり、DNSがバインディングを伝播するのを待たなくても、Elastic IPアドレスをすべての仮想マシンインスタンスにプログラムでマッピングできます。この意味で、Elastic 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