NAT協議大家都不會感到陌生,它的基本作用是實現私網主機訪問公網(不加密)的一種方式。NAT通過使用少量的公有IP 地址代表較多的私有IP 地址的方式,將有助於減緩可用的IP地址空間的枯竭。今天給大家介紹NAT的另外一種使用——NAT hairpin。
NAT hairpin功能用於實現位於內網側的用戶之間或內網側的用戶與服務器之間通過NAT公網地址進行訪問的需求。使能NAT hairpin的內網側接口上會對報文同時進行源地址和目的地址的轉換。它支持兩種組網模式:
P2P:位於內網側的用戶之間通過動態分配的NAT地址互訪。
C/S:位於內網側的用戶使用靜態配置的NAT地址訪問內網服務器。
我們來分析一個實際的工程案例,拓撲圖如下。

項目需求如下:
某公司內部網絡中有一臺FTP服務器,地址為192.168.1.4/24。該公司擁有兩個外網IP地址:202.100.1.1(NAT公網接口)和202.100.1.3。外網主機可以通過202.100.1.2訪問內網中的FTP服務器。
內網主機也可以通過202.38.1.2訪問內網中的FTP服務器。
配置思路:
此項目是一個典型的NAT hairpin的C/S模式。在配置好IP地址後,首先要在NAT設備上配置NAT Server,使公網PC2可以通過公網地址202.100.1.3訪問私網FTP服務器。其次PC需要正常訪問互聯網,使用Easy IP方式。最後在NAT設備上開啟NAT hairpin功能。
配置步驟:
1、 配置IP地址及FTP-Server的ftp服務,此處省略。
2、 NAT設備配置nat server,使公網PC2通過公網地址202.100.1.3訪問私網FTP服務器。

PC2測試ftp連接:
3、 NAT設備配置Easy IP,使私網PC可以訪問公網。
PC訪問PC2,並查看natsession會話表。
4、 未配置NAThairpin測試PC通過202.100.1.3訪問ftp服務器。
結果為PC無法訪問
5、 在私網接口配置NAThairpin,測試PC訪問ftp服務器
PC通過公網地址202.100.1.3訪問FTP-server
查看NAT設備的session會話表,結果如下:
閱讀更多 王海軍老師 的文章