簡介: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