Chinaunix首页 | 论坛 | 博客
  • 博客访问: 299911
  • 博文数量: 84
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 16:46
文章分类

全部博文(84)

文章存档

2017年(2)

2016年(4)

2015年(78)

我的朋友

分类: 网络与安全

2016-10-19 17:00:52

在一些特殊网络环境里,出于对网络安全或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

(设置NAT映射地址池为1.1.1.2)


acl number 2000

 rule 0 permit source 192.168.1.0 0.255.255.255

 rule 1 deny

(设置访问服务器的源地址为192.168.1.0 255.255.255.0)


 interface Ethernet0/0/1

 ip address 1.1.1.1 255.255.255.255.255.255.240

 nat outbound 2000 address-group 1

(在R1上的互联端口上配置NAT规则,将acl 2000配置的源地址网段转换成1.1.1.2后访问出去)

步骤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

(将外部服务器地址10.1.1.1的tcp连接映射成内网地址192.168.1.2)

 nat server protocol icmp global 192.168.1.2 inside 10.1.1.1

(将外部服务器地址10.1.1.1的icmp连接映射成内网地址192.168.1.2)

3

步骤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

阅读(2324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~