NAT地址转换
实验拓扑
静态nat
静态NAT是一种直接将内部IP地址和端口映射到公共IP地址和端口的方式,映射关系是固定不变的,适用于提供服务的设备上。例如,当用户需要访问内部服务器时,静态NAT可以将请求转发至正确的内部服务器,让外部用户能够正常访问。
实验背景 :
申请到两个公网ip 200.1.1.1 和200.1.1.3 ,通过静态nat的方式访问到R3
配置思路:
- 设置IP地址
- 配置路由
- 配置静态nat 将内网IP地址映射到公网ip
R1
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip a 192.168.1.1 24
[R1-GigabitEthernet0/0/1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip a 200.1.1.1 24
//设置静态nat 映射到内网 静态nat的IP地址不能与端口ip一致 想做静态nat必须最低要有两个公网ip
[R1-GigabitEthernet0/0/0]nat static global 200.1.1.3 inside 192.168.1.4
[R1-GigabitEthernet0/0/0]q
[R1]dis nat static
Static Nat Information:
Interface : GigabitEthernet0/0/0
Global IP/Port : 200.1.1.3/----
Inside IP/Port : 192.168.1.4/----
Protocol : ----
VPN instance-name : ----
Acl number : ----
Netmask : 255.255.255.255
Description : ----
Total : 1
[R1]
R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip a 200.1.1.2 24
R3 此处必须配置路由
[R3-GigabitEthernet0/0/0]ip a 192.168.1.4 24
[R3-GigabitEthernet0/0/0]q
[R3]ip route-static 0.0.0.0 0 192.168.1.1
测试
[R3]ping 200.1.1.2
PING 200.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 200.1.1.2: bytes=56 Sequence=1 ttl=254 time=40 ms
Reply from 200.1.1.2: bytes=56 Sequence=2 ttl=254 time=40 ms
Reply from 200.1.1.2: bytes=56 Sequence=3 ttl=254 time=30 ms
Reply from 200.1.1.2: bytes=56 Sequence=4 ttl=254 time=40 ms
Reply from 200.1.1.2: bytes=56 Sequence=5 ttl=254 time=50 ms
--- 200.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/40/50 ms
------------------------------------------------------------------------------
[R2]ping 200.1.1.3
PING 200.1.1.3: 56 data bytes, press CTRL_C to break
Request time out
Reply from 200.1.1.3: bytes=56 Sequence=2 ttl=254 time=50 ms
Reply from 200.1.1.3: bytes=56 Sequence=3 ttl=254 time=40 ms
Reply from 200.1.1.3: bytes=56 Sequence=4 ttl=254 time=50 ms
Reply from 200.1.1.3: bytes=56 Sequence=5 ttl=254 time=50 ms
--- 200.1.1.3 ping statistics ---
5 packet(s) transmitted
4 packet(s) received
20.00% packet loss
round-trip min/avg/max = 40/47/50 ms
至此静态nat实验结束
动态nat
动态NAT是一种将多个内部IP地址映射到较少数量的公共IP地址上的方式,并且这些映射关系是动态变化的。动态NAT通常用于小型企业或家庭网络中,以便在有限数量的公共IP地址下提供服务。
实验背景
公司申请到一批公网ip 200.1.1.10~200.1.1.20
配置思路:
- 为接口配置IP地址
- 配置公网地址池(不加端口地址)
- 配置acl规则,该规则定义了那些主机能映射公网
- 配置动态nat,将符合acl规则的主机自动映射到地址池的ip中
- 测试
R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip a 200.1.1.1 24
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip a 192.168.1.1 24
[R1-GigabitEthernet0/0/1]q
[R1]nat address-group 1 200.1.1.10 200.1.1.20
[R1]acl 2000
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
[R1-acl-basic-2000]int g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip a 200.1.1.2 24
R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip a 192.168.1.4 24
[R3]ip route-static 0.0.0.0 0 192.168.1.1
抓包测试
网络地址端口转换NAPT
NAPT是一种特殊的动态NAT,它同时还可以映射内部计算机使用的端口号。这样,多个内部计算机可以通过一个公共IP地址来访问Internet。NAPT最常见的应用就是在家庭网络或小型企业网络中使用,以便让多个设备使用同一个公有IP地址来访问Internet。
实验思路:
- 就是通过端口映射实现地址复用
- 修改type为 pat
这里沿用动态nat实验的拓扑
R1
[R1-GigabitEthernet0/0/0]undo nat outbound 2000 address-group 1 no-pat
[R1]undo nat address-group 1
把之前的nat配置undo掉重新配置
[R1]nat address-group 1 200.1.1.10 200.1.1.10 //配置地址池
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1 // 配置napt
[R1-GigabitEthernet0/0/0]q
[R1]dis nat ou
NAT Outbound Information:
--------------------------------------------------------------------------
Interface Acl Address-group/IP/Interface Type
--------------------------------------------------------------------------
GigabitEthernet0/0/0 2000 1 pat
--------------------------------------------------------------------------
Total : 1
抓包测试
easyIP
Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
**Easy IP适用于不具各固定公网IP地址的场景:如通过DHCP. PPPoE摄号获取地址的私有网线出口,可以直接使用获取到的动志地址进行转换. **
这里我们继续沿用napt的拓扑和一些配置
[R1-GigabitEthernet0/0/0]undo nat outbound 2000 address-group 1
[R1-GigabitEthernet0/0/0]q
[R1]undo nat address-group 1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]nat outbound 2000
[R1-GigabitEthernet0/0/0]q
[R1]dis nat outbound
NAT Outbound Information:
--------------------------------------------------------------------------
Interface Acl Address-group/IP/Interface Type
--------------------------------------------------------------------------
GigabitEthernet0/0/0 2000 200.1.1.1 easyip
--------------------------------------------------------------------------
Total : 1
[R1]
抓包测试
NATserver
NAT Server(NAT服务器),NAT具有“屏蔽”内部主机的作用(所谓的屏蔽就是外部主机无法访问内部主机),但有时内网需要向外网提供服务,比如提供WWW服务或者FTP服务。这种情况下需要内网的服务器不被“屏蔽”,外网用户可以随时访问内网服务器。
所以,NAT Server可以很好地解决这个问题,当外网用户访问内网服务器时,它通过事先配置好的“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,将服务器的“公网IP地址+端口号”根据映射关系替换成对应的“私网IP地址+端口号”。
这里沿用上一个实验的拓扑图和一些配置
R1
//global后面的为公网访问服务的IP和端口号(不可以与已确定端口号冲突)
//inside后面为服务器地址
//23就是telnet,协议类型为tcp
[R1-GigabitEthernet0/0/0]nat server protocol tcp global current-interface 23 inside 192.168.1.4 23
Warning:The port 23 is well-known port. If you continue it may cause function failure.
Are you sure to continue?[Y/N]:y
R3
[R3-aaa]local-user www privilege level 15 password cipher 123123
Info: Add a new user.
[R3-aaa]local-user www service-type telnet
[R3]user-interface vty 0 4
[R3-ui-vty0-4]authentication-mode aaa
通过R2远程成功
遇到问题先别慌 捋一捋思路 试着自己排错!