簡介:NAT是用來解決IPV4位址不夠用而提出的概念,它的作用有兩個:
*解決IP位址短缺
*隐藏内網的IP,讓外網的使用者無法查到内網的IP,有效保護内網安全
NAT分為3中,靜态NAT 動态NAT PAT
NAT,内網位址永久的被影射為外部合法的網絡位址,是一對一的,一般用于實作外網對内網中某個裝置的通路。如HTTP,FTP等
如圖:
左邊為内網,R1為邊界Router,R1,R2之間跑RIP路由協定,HTTP 釋出WEB服務,
則R1上的配置為:
全局下: ip nat inside source static 192.168.1.1 12.0.0.1
F0/1接口下:ip nat inside
F0/0接口下:ip nat outside
這樣外部的客戶就可以通路内部伺服器釋出的HTTP服務了。
注意:R1上不宣告192.168.1.0網段。
動态NAT:公網IP不是固定的,是随機的,公網用公網池,私網用ACL,這樣就聯系起來了。
注意,如果隻有一個公網,則就變成PAT了。
配置和靜态累死,接口下:ip nat inside
ip nat outside
建立公網位址池:ip nat pool aa 12.0.0.1 12.0.0.3 netmask 255.255.255.0 假設有4個公網IP,
建立私網ACL: access-list 1 permit 192.168.1.0 0.0.0.255 私網為192.168.1.0網段。
将池和ACL聯系起來: ip nat inside source list 1 pool aa.再這裡可以加 overload 表示允許多個内網IP公用一個公司IP.
PAT:把内部私有IP映射到外部公網IP的不同端口上。
接口下:ip nat inside
ip nat outside
内部私有位址的ACL:全局 access-list 1 permit any
全局 ip nat inside source list 1 s0/0 overload s0/0為公網的接口
DNAT SNAT 這兩個NAT和上述NAT不一樣,常見于LINUX系統中,
DNAT :當内部需要提供對外服務時(如對外釋出web網站),外部位址發起主動連接配接,由路由器或者防火牆上的網關接收這個連接配接,然後将連接配接轉換到内部,此過程是由帶有公網IP的網關替代内部服務來接收外部的連接配接,然後在内部做位址轉換,此轉換稱為DNAT,主要用于内部服務對外釋出
SNAT: 内部位址要通路公網上的服務時(如web通路),内部位址會主動發起連接配接,由路由器或者防火牆上的網關對内部位址做個位址轉換,将内部位址的私有IP轉換為公網的公有IP,網關的這個位址轉換稱為SNAT,主要用于内部共享IP通路外部。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-dest 10.0.0.85
上述是在linux上做的DNAT,将内部的10.0.0.85上的HTTP服務釋出給外部。外部來的通路先PREROUTING。
DNAT:iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.250.從eth0出去的通路原位址全轉換成192.168.0.250.内部出去的後POSTROUTING
本文轉自 369藍寶 51CTO部落格,原文連結:http://blog.51cto.com/3739387/1370874,如需轉載請自行聯系原作者