有些單位的內網服務器上的只配置了IP地址和子網掩碼,并沒有配默認網關,但從外網上還是可以訪問該服務器,是怎么做到的呢?
對于單位的內網服務器配置了私網IP地址、子網掩碼和默認網關,外網用戶訪問內網服務器的情形,在以前的《華為路由器利用公網IP和NAT接入互聯網典型方式模擬實驗》中寫過關于外用戶訪問內網服務器所需的NAT——華為技術文檔中的NAT Server方式。
內部服務器不配置默認網關的話,則需要在配置NAT Server基礎上,增加源NAT配置——只是和我們經常用的內網訪問外網時用到的源NAT的方向相反。
下面以一個簡單實驗進行模擬,實驗拓撲如圖1所示:
圖1
一、實驗內容
模擬某單位的網絡場景:單位內部是一個簡單的局域網(圖1黃色矩形區),其中服務器Srv1對外提供www服務,該服務器只配置了IP地址:10.1.1.1和子網掩碼:255.255.255.0,未配置默認網關(路由器R1的局域網端口地址:10.1.1.254),如圖2所示:
圖2
單位的路由器R1連接互聯網的外網口,配置了靜態公網IP地址:12.12.12.2。
client1則用來模擬外網用戶(圖1紅色橢圓區)。
本次實驗將主要配置:
1、R1接口IP地址;
2、R1到外網的默認路由;
3、R1上的NAT Server;
4、R1上互聯網用戶訪問內網服務器所需的源NAT。
其中1~3是很多中小單位的常見配置,4是解決內部服務器不配默認網關的情況下外部互聯網用戶也可以訪問的情形。
其原理是:在互聯網用戶client1(源)訪問內網服務器Srv1(目的)時,不僅將IP報文頭的目的IP地址進行了替換,而且將其中的源IP地址也進行了替換——替換后的IP地址與Srv1在同一個網段。當內網服務器Srv1回應外網用戶的訪問請求時,發現自己的地址和目的地址在同一網段,此時Srv1就不會去查找路由表,而是發送ARP廣播報文詢問目的地址對應的mac地址。路由器會將連接內網服務器的接口的MAC地址發給Srv1,Srv1將回應報文發送至路由器,路由器再對其進行后續處理。
二、實驗配置
(一) R1接口IP地址配置
[R1]interface g0/0/0
[R1-GigabitEthe.NET0/0/0]ip address 12.12.12.2 24
[R1-GigabitEthernet0/0/0]interface g0/0/1
[R1-GigabitEthernet0/0/0]ip address 10.1.1.254 24
[R1-GigabitEthernet0/0/1]quit
(二) R1到外網的默認路由配置
[R1]ip route-static 0.0.0.0 0.0.0.0 12.12.12.1
(三) R1上的NAT Server配置
[R1-GigabitEthernet0/0/0]nat server protocol tcp global current-interface www inside 10.1.1.1 www
[R1-GigabitEthernet0/0/0]quit
(四) R1上外網用戶訪問內網服務器所需的源NAT配置
[R1]nat address-group 1 10.1.1.10 10.1.1.10
[R1]acl 3001
[R1-acl-adv-3001]rule 5 permit tcp destination 12.12.12.2 0
[R1-acl-adv-3001]quit
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 3001 address-group 1
注:
這里的關鍵點是:
1. 把外網用戶client1(源)訪問內網服務器Srv1(目的)時的IP報文頭的源地址進行替換時的訪問表的匹配,在進入R1中后Srv1的IP地址還是12.12.12.2——還未被替換成10.1.1.1,因此acl 3001的規則匹配的IP報文的目的是12.12.12.2。
2. 用于源NAT地址池中的IP地址要與Srv1在同一網段。
3. 在接口上應用地址池時是在R1連接內網口的outbound方向。
三、配置驗證
(一) 外網用戶client1訪問單位內部WWW服務器Srv1
用Http Client模擬外網用戶以IP 12.12.12.2 方式訪問單位內部WWW服務器Srv1,如圖3
圖3
可以成功訪問。
(二) 查看R1的接口NAT地址轉換情況
結果如圖4,IP報文頭的源地址和目的地址均被進行了替換。
圖4
外網用戶訪問內網服務器的IP報文頭的源地址和目的地址均被進行了替換。
至此,實驗結束。
以上輸入和描述可能有疏漏、錯誤,歡迎大家在下方評論區留言指正!
另外以上實驗如有幫助,望不吝轉發!