天天看點

NAT總結

簡介: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,如需轉載請自行聯系原作者

繼續閱讀