原因-路由迴流
當用路由器防火牆等設備將內網服務器發佈到公網上,供外網用戶訪問的過程中出現的一種現象,就是你發現web服務器已經成功發佈了,外網用戶能夠成功訪問,但內網用戶確無法訪問到web服務器,這就是路由迴流。造成路由迴流的原因主要是出口設備路由器或者是防火牆做了NAT/PAT(也被稱作源地址轉換)和端口映射(也被稱爲目標地址轉換)造成的。
組網圖
- 內網用戶與服務器不同網段
- 內網用戶與服務器相同網段
解決方案
內部NAT方案
內網用戶與服務器不同網段
E0/0和E0/2都需要做nat server
int e0/0
nat server protocol tcp global 202.103.1.1 www inside 192.168.2.2 www
int e0/2
nat server protocol tcp global 202.103.1.1 www inside 192.168.2.2 www
nat dns-map www.abc.com 202.103.1.1 tcp #若通過域名訪問添加此配置
內網用戶與服務器相同網段
acl number 3001
rule 0 permit ip source 192.168.1.0 0.0.0.255
int e0/2
ip add 202.103.1.1 255.255.255.0
nat server protocol tcp global 202.103.1.1 www inside 192.168.1.254 www
nat outbound 3001
int e0/0
ip add 192.168.1.1 255.255.255.0
nat server protocol tcp global 202.103.1.1 www inside 192.168.1.254 www
nat outbound 3001 #必須添加這條
nat dns-map www.abc.com 202.103.1.1 tcp #若通過域名訪問添加此配置
內網DNS方案
在內網配置一臺DNS服務器,內網的所有客戶端的DNS的IP都填寫這臺內網的DNS服務器的IP地址,還需要在內網DNS服務器上配置轉發器,轉發器中填寫公網上的運營商DNS服務器的IP地址就可以解決訪問其他網站的問題了。
防火牆DNS Mapping方案
注意不是所有的防火牆都支持路由迴流,配置域名+外網IP+內網IP即可。
路由器DNS Mapping方案
[R1] nat dns-map www.abc.com 192.168.1.100 80 tcp
其他方案
如果內網需要使用域名訪問的用戶不多,則可以在內網機器上的C:\Windows\System32\drivers\etc\hosts
添加以一行記錄,192.168.1.100 www.abc.com
,這樣就可以了。
小結
上述幾種解決方案中,內網DNS解決方案最符合一般人的習慣,安裝配置也是最簡單的,但是需要一臺DNS服務器。
內部NAT解決方案在企業級的路由器或者防火牆上很容實現,但是難度比內網DNS方案略大。
防火牆DNS Mapping和路由器DNS Mapping需要防火牆和路由器支持,目前大多數防火牆和路由器支持,但是購買前請諮詢廠商。