Linux防火牆NAT之SIP 網路拓撲講解,natsip

來源:互聯網
上載者:User

Linux防火牆NAT之SIP 網路拓撲講解,natsip

環境:

防火牆 - Ubuntu Server 17.10.

SIP - Yate用戶端,Asterisk伺服器

網路拓撲:

1)防火牆配置IP,開啟轉寄:

   ifconfig enp2s0 192.168.1.131   ifconfig enp3s0 192.168.100.1      echo 1 > /proc/sys/net/ipv4/ip_forward

2)載入nf_nat_sip模組建立expectations:

modprobe nf_nat_sip

3)配置FORWARD鏈,僅接收192.168.1.0/24網段的建立資料流和已建立或關聯的資料流:

   iptables -t filter -P FORWARD DROP   iptables -t filter -A FORWARD -s 192.168.1.0/24 -j ACCEPT   iptables -t filter -A FORWARD -p udp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT   iptables -t filter -A FORWARD -j LOG

4)使能conntrack的SIP helper:

   echo 1 > /proc/sys/net/netfilter/nf_conntrack_helper   或者:   iptables -t raw -A PREROUTING -p udp -m udp --dport 5060 -j CT --helper sip

5) 配置SNAT:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.100.1

6)檢查conntrack建立情況:

root@localhost:~# conntrack  -Ludp      17 28 src=192.168.1.104 dst=192.168.100.100 sport=20551 dport=15061 src=192.168.100.100 dst=192.168.100.1 sport=15061 dport=20551 mark=0 use=1udp      17 179 src=192.168.1.104 dst=192.168.100.100 sport=20550 dport=15060 src=192.168.100.100 dst=192.168.100.1 sport=15060 dport=20550 [ASSURED] mark=0 use=1udp      17 3596 src=192.168.1.104 dst=192.168.100.100 sport=65309 dport=5060 src=192.168.100.100 dst=192.168.100.1 sport=5060 dport=65309 [ASSURED] mark=0 helper=sip use=3root@localhost:~#

建立了一條dport等於5060的主session和一條RTP(dport等於20550)、一條RTCP的子session。

或者配置DNAT:

iptables -t nat -A PREROUTING -d 192.168.1.131 -i enp2s0 -j DNAT --to-destination 192.168.100.100

再次檢查conntrack建立情況:

root@localhost:~# conntrack -Ludp      17 179 src=192.168.1.104 dst=192.168.1.131 sport=29448 dport=16988 src=192.168.100.100 dst=192.168.1.104 sport=16988 dport=29448 [ASSURED] mark=0 use=1udp      17 3595 src=192.168.1.104 dst=192.168.1.131 sport=53966 dport=5060 src=192.168.100.100 dst=192.168.1.104 sport=5060 dport=53966 [ASSURED] mark=0 helper=sip use=3udp      17 27 src=192.168.1.104 dst=192.168.1.131 sport=29449 dport=16989 src=192.168.100.100 dst=192.168.1.104 sport=16989 dport=29449 mark=0 use=1root@localhost:~#

測試間隔必須清空conntrack -D,以免殘留connection對新串連造成影響。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.