一、背景介绍
NAT地址转换是生产环境中用的最多的一种技术,除了能缓解ipv4地址不够外,还能有效保护内网真实服务器的地址,nat从流向的角度可以分为snat和dnat,本章对以下几种情况分别进行说明,拓扑如下图所示:
二、SNAT使用地址池方式
此种方式是定义一个地址池,内网地址访问外网时在网关接口进行源地址转换,转换后的源地址为地址池中的地址,同时可以通过no-pat选项决定是否开启端口复用
- 先进行基础配置
[R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 12.0.0.1 24
[R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 12.0.0.2 24 [R2-GigabitEthernet0/0/0]int g0/0/1 [R2-GigabitEthernet0/0/1]ip add 23.0.0.1 24
[R3]int g0/0/1 [R3-GigabitEthernet0/0/1]ip add 23.0.0.2 24
- 此时R1没有去往R3的路由所有要在R1上添加去往R3的静态路由
[R1]ip route-static 23.0.0.0 24 12.0.0.02
- 设置一个地址池,内网访问外网时会转化为地址池中的地址,此时再定义一个acl允许R1所在网段12.0.0.0/24流量通过
[R2]nat address-group 1 23.0.0.10 23.0.0.20 [R2]acl 2000 [R2-acl-basic-2000]rule 5 permit source 12.0.0.0 0.0.0.255
- 在R2的外网接口上调用nat地址转换及acl,no-pat则是不进行基于端口的转发
[R2]int g0/0/1 [R2-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
- 此时在到R2的外网接口抓包,能看到内网12.0.0.0/24地址已经转换为外网的23.0.0.0/24网段地址
三、SNAT使用easy ip方式
尽管上面2种方法都可以进行地址转换,但还是需要浪费至少一个额外的公网IP地址,现实场景下,大多数小企业结构拓扑更像如下:
上图中只有一个公网IP地址,内网所有的访问在经过边界路由时都转化成23.0.0.2/24这个外网地址,华为产品管此场景成为easy ip,他的前4步配置与上面示例完全一样,只有在第5步端口调用时使用不同的命令[R2]int g0/0/1 [R2-GigabitEthernet0/0/1]nat outbound 2000
此时源地址就会转换为R2上g0/0/1口的地址,通过outbound表能查看
四、DNAT一对一方式
- 基础配置
[R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.0.100 24 [R1-GigabitEthernet0/0/0]q [R1]ip route-static 23.0.0.0 24 192.168.0.1
[R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 192.168.0.1 24 [R2-GigabitEthernet0/0/0]int g0/0/1 [R2-GigabitEthernet0/0/1]ip add 23.0.0.2 24
[R3]int g0/0/1 [R3-GigabitEthernet0/0/1]ip add 23.0.0.3 24
- 为R1开通虚拟终端,模拟telnet服务器
[R1]user-interface vty 0 4 [R1-ui-vty0-4]set authentication password cipher huawei [R1-ui-vty0-4]user privilege level 15
- R2上配置映射地址,此时要注意对外提供telnet服务的地址不能和外口地址冲突
[R2-GigabitEthernet0/0/1]nat static global 23.0.0.10 inside 192.168.0.100
可以通过映射命令查看静态转换地址表
- 在R3的用户模式下进行telnet登录测试
<R3>telnet 23.0.0.10 23
五、DNAT一对多方式
上面介绍了DNAT场景下通过static命令进行全地址映射,如果指向映射某个特定的端口,在边界路由的外口上使用以下命令:
[R2-GigabitEthernet0/0/1]nat server protocol tcp global 23.0.0.10 2323 inside 192.168.0.100 23
六、总结
- 外网口SNAT场景下使用outbound命令,使用使用端口复用技术取决于参数no-pat(默认启用复用)
- 外网口static命令用于一对一的DNAT转换,server命令用于一对多的DNAT转换
- static属于全地址映射,实际中不常用;server是特定端口进行映射,常用
原文地址:https://blog.51cto.com/arkling/2466529
时间: 2024-11-02 10:18:53