Cisco

IOS Nated 埠轉發

  • April 4, 2013

我有帶有 ios C1900 軟體 (C1900-UNIVERSALK9-M) 版本 15.2(4)M1 的 cisco ios 路由器。我已經設置了帶有埠過載的 Nat(一個公共 IP)。並且有一個靜態映射:

ip nat source static tcp 192.168.1.42 7780 interface GigabitEthernet0/0 80

如果我嘗試從其他 isp 訪問 Web 伺服器,則效果很好。(GE0/0 - 外部介面,GE0/1 - 內部介面)所以當流量從 GE0/0 到 GE0/1 時。

但是當我想從內部網路(GE0/1)訪問它時,數據包不會到達目標主機。為此連接創建了 NVI nat 表條目,但數據包未到達 192.168.1.42:7780。那麼 nat 外部地址是否有可能作為內部 nat 池的埠轉發?

編輯: Src ip 來自本地子網,即 192.168.1.100,但我正在訪問分配給 GE0/0 外部 WAN 介面的 wan 地址,即 88.88.88.88,因此流量通過路由器。

你的源IP是什麼?如果您從與伺服器位於同一子網中的某處訪問 192.168.1.42,則流量將永遠不會到達路由器,也不會進行 NAT。

此外,您可能會在這裡混合您的技術。您給出的命令使用新型 NVI NAT 並將所有支持 NAT 的介面視為內部介面。但是您指的是外部介面,就好像您已經定義了它們一樣。

你能給我們你的 NAT 語句、ACL 和介面的配置嗎?

您將遇到的第一個問題是將數據包轉發從網路伺服器返回到客戶端。想像以下流程:

Source IP 192.168.1.100  Source Port 64000
Destination IP 88.88.88.88  Destination port 7780

此數據包到達路由器並更改為以下內容

Source IP 192.168.1.100 Source Port 64000
Destination IP 192.168.1.42 Destination Port 80

然後這個數據包被發送到伺服器,伺服器將嘗試回复 192.168.1.100 !這將繞過路由器(第 2 層),因此客戶端將看到回複數據包:

Source IP 192.168.1.42 Source Port 80
Destination IP 192.168.1.100 Source Port 64000

這是一個問題 - 客戶端期望源是 88.88.88.88 !這可以通過伺服器上的路由強制所有本地流量通過路由器來解決 - 但這會影響大量流量,我不會真正推薦它。如果您將 Webeserver 放在路由器上的不同介面(或 VLAN)上,您可能會更容易做到這一點……

引用自:https://serverfault.com/questions/495319