如何在一台路由器上实现双向NAT

作者:清风拂面 | 创建时间: 2023-03-30
在一些特殊网络环境里,出于对网络安全或IP地址使用的角度考虑,往往会使用NAT技术进行IP地址转换。如果两个不同单位进行联网,彼此需要隐藏自己内部的IP地址,也不希望直接和对方的IP进行通讯(避免将对方IP网段的路由加到自己网内,保持网内路...
如何在一台路由器上实现双向NAT

示例说明

示例: 实现目标:单位A的网内用户(192.168.1.0网段)需要访问单位B的服务器(10.1.1.1),并实现双向NAT。 联网要求:单位A的内网结构和IP地址需要对外隐藏(单位B不能看到单位A的网内IP地址,只能看到NAT转换后的1.1.1.2地址),同时单位A的内网设备不需要添加单位B的IP网段的路由,只需要访问转换到内网的192.168.1.2这个地址,确保网内的路由干净。

网络拓扑:

IP地址说明: 单位A内网IP:192.168.1.0/24 单位A的路由器R1地址:局域口IP为192.168.1.1,广域口IP为1.1.1.1 单位B服务器IP:10.1.1.1 单位B的路由器R2地址:局域口IP为10.1.1.254,广域口IP为1.1.1.14 R1路由器上内部映射到外部的地址为1.1.1.2,外部映射到内部的地址为192.168.1.2

操作方法

步骤1:在R1路由器上将内网192.168.1.0网段NAT映射成1.1.1.2后访问服务器,这样单位B的设备收到的数据包的IP地址都是1.1.1.2,从而隐藏了单位A内网的真实地址。 nat address-group 1 1.1.1.2 1.1.1.2 acl number 2000 rule 0 permit source 192.168.1.0 0.255.255.255 rule 1 deny interface Ethernet0/0/1 ip address 1.1.1.1 255.255.255.255.255.255.240 nat outbound 2000 address-group 1

步骤2:在R1上把对方服务器10.1.1.1NAT翻译成内部地址192.168.1.2,供内部地址访问,这样单位A的内部用户访问192.168.1.2就等于访问对方的10.1.1.1的服务器 interface Ethernet0/0/0 ip address 192.168.1.1 255.255.255.0 nat server protocol tcp global 192.168.1.2 any inside 10.1.1.1 any nat server protocol icmp global 192.168.1.2 inside 10.1.1.1

步骤3:配置路由 在路由器R1上添加至对方服务器的路由 ip route 10.1.1.1 255.255.255.255 1.1.1.14

验证

在路由器R1上打开debug调试功能,从单位A的内网ping映射后的服务器地址192.168.1.2,观察debug信息 *0.1018668881 Quidway NAT/8/debug: (Ethernet0/0/0-in  :)Pro : ICMP (     192.168.1.10:  758 -   192.168.1.2:  758) ------> (     192.168.1.10:  758 -   10.1.1.1:  758) *0.1018668881 Quidway NAT/8/debug: (Ethernet0/0/1-out :)Pro : ICMP ID : 38234 (     192.168.1.10:  758 -   10.1.1.1:  758) ------> (     1.1.1.2:12290 -        10.1.1.1:  758) *0.1018668881 Quidway NAT/8/debug: (Ethernet0/0/1-in  :)Pro : ICMP ID : 38234 (      10.1.1.1:  758 -      1.1.1.2:12290) ------> (      10.1.1.1:  758 -      192.168.1.10:  758) *0.1018668881 Quidway NAT/8/debug: (Ethernet0/0/0-out :)Pro : ICMP ID : 38234 (      10.1.1.1:  758 -      192.168.1.10:  758) ------> (     192.168.1.2:  758 -    192.168.1.10:  758) 从debug调试信息可以看出,E0/0/0接口收到一个192.168.1.10访问192.168.1.2的请求被转换成访问10.1.1.1的请求;接下来在E0/0/1接口输出时将192.168.1.10访问10.1.1.1的请求转换成1.1.1.2访问10.1.1.1的请求,这时数据包被两次翻译后发送给服务器。服务器响应的数据包返回到R1路由器,这时E0/0/1接口收到一个10.1.1.1到1.1.1.2的请求,并转换成10.1.1.1到192.168.1.10的请求,然后在内网口E0/0/0上将10.1.1.1到192.168.1.10的请求转换成192.168.1.2到192.168.1.10的请求。 至此,一个完整的数据包来回传输的交互过程实现。

温馨提示

本例中内网地址向外映射为1.1.1.2这个单独的地址,一般情况广域网互联为30位掩码,所以可以把内网地址映射成路由器出口地址
H3C路由器做NAT时,必须把nat server接口与nat outbond接口上的快转功能关闭。命令是undo ip fast-forwarding
点击展开全文

更多推荐