Cisco NAT --- 從內網用公網IP地址訪問內網服務器


https://blog.csdn.net/delicioustian/article/details/49205889?locationNum=9

好吧,我承認這個標題挺難讀 , 從一會兒內網一會兒公網一會兒又內網的。

但是這確實一個很實在的問題。如果你用的是ASA或其他防火牆,可以直接

跳過,這東西對防火牆來說實現起來太容易。我們的目標還是思科的路由器。

 

不過這個功能對於思科的路由器來說僅僅只是可以實現,效果不是太好,有

些副作用,比如效率問題,所以前些日子,南通的丁博士問我這個問題的時候,

我建議他修改網站代碼,不要寫死域名,仍然通過內網IP地址訪問。

 

 

 

如圖所示: 內網的一台電腦需要通過互聯網的DNS訪問內網的一台服務器.

當公司內部無DNS或PC的DNS設置不是公司內部的DNS服務器時,就無法

通過域名來訪問這個服務器。

換句話說就是 192.168.1.100可以直接訪問10.1.1.100,但192.168.1.100

無法訪問218.2.2.2 。

 

為了達成通過192.168.1.100 直接訪問218.2.2.2 , 我們得利用一點小技巧。

英文叫:NAT Hairpinning 或者 NAT loopback 或者 NAT on-a-stick.

有一個思科官方的文檔可參考   http://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/6505-nat-on-stick.html

美食有舌尖上的中國,路由有NAT上的拐棍。。

其實現原理的確像一個拐棍一樣: 包進入以后,從自己先轉換成一個地址,

然后再從這個地址訪問互聯網地址,再通過自己拐回來。。

 

關心一下配置,R2 g0/1 為內網口  , g 0/0為外網口。為了實現內網用戶上網

以及外網用戶訪問服務器,先在g0/0,g0/1上啟用地址轉換。

#

int g 0/0

ip add 218.2.2.2/30

ip nat enable  

int g 0/1

ip add 10.0.1.1/30

ip nat enable

ip add 4.4.4.1/24  #在內網口上加一個子地址

no ip redirects   #禁止路由器發送重定向包

#

#建一個NAT地支池,跟剛才加的子地址在同一個子網

ip nat pool stickpool 4.4.4.2 4.4.4.254 prefix-length 24

#定義一個ACL,抓出內網訪問的設備地址

access-l 10 permit 192.168.1.0   0.0.0.255

#開始拐了。。

ip nat source list 10 pool stickpool overload

#定義一個ACL,允許外網用戶訪問內網的10.1.1.100

access-l 101 permit tcp any host 10.1.1.100 eq 80

#拐回去了。。
ip nat source static tcp 10.1.1.100 80 218.2.2.2 80 extendable

ip nat source list 101 int g 0/1 overload

 

大功告成,測試OK,內網用戶也可以通過218.2.2.2:80訪問了。

直接用外網DNS毫無問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM