NAT(Network Address Translation)是将 IP 报头中的 IP 地址转换为另一个 IP 地址的过程。主要俩好处:
• 有效避免来自外网的攻击,可以很大程度上提高网络安全性。
• 控制内网主机访问外网,同时也可以控制外网主机访问内网,解决了内网和外网不能互通的问题。
1.实验介绍及拓扑
-
R1 和 R2 之间的网络属于企业内部网络,使用私网 IPv4 地址。
-
R1 模拟客户端,R2 作为 R1 的网关,同时也是连接公网的出口路由器。
-
R3 模拟公网。
2.掌握内容及配置思路
#配置动态NAT
#配置Easy IP
#配置NAT Server
3.配置步骤
3.1基本配置
# 接口 IP 地址和路由配置、
# 配置 R1 和 R3 的 telnet 功能(用于后续实验验证)
# 测试当前联通性
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| R1 | R2 | R3 |
| sys sys R1 int g0/0/0 ip add 192.168.1.1 24 ip route-static 0.0.0.0 0 192.168.1.254 | sys sys R2 int g0/0/0 ip add 192.168.1.254 24 int g0/0/1 ip add 1.2.3.4 24 # ip route-static 0.0.0.0 0 1.2.3.254 | sys sys R3 int g0/0/1 ip add 1.2.3.254 24 |
| user-interface vty 0 4 authentication-mode aaa quit aaa local-user huawei password cipher Huawei@123 local-user huawei service-type telnet local-user huawei privilege level 3 | | user-interface vty 0 4 authentication-mode aaa quit aaa local-user huawei password cipher Huawei@123 local-user huawei service-type telnet local-user huawei privilege level 3 |
测试连通性
[R1]ping 1.2.3.254
[R2]ping 1.2.3.254
因为当前R3没有配置到192.168.1.0/24网段的路由,R1无法访问R3。
实际情况下,R3这种运营商路由器也禁止配置到私网IP网段的路由
3.2出口路由器配置动态NAT
#假设该公司获得了1.2.3.10 至1.2.3.20 这段公网IP,然后配置动态NAT地址池
# 配置 NAT 地址池
# 配置 ACL
# 出口路由器 R2 的 G0/0/1匹配acl2000并调用动态 NAT
|----------------------------------------------|------------------------------------------------------------------------------------------------|
| R2 | |
| nat address-group 1 1.2.3.10 1.2.3.20 | |
| acl 2000 rule 5 permit source any | |
| int g0/0/1 nat outbound 2000 address-group 1 | #nat outbound使关联命令,关联acl和nat #当地址池中地址的数量足够时,可以在命令后添加no-pat参 数,表示使用一对一的地址转换,只转换数据报文的地址而不转换端口信息。 |
#测试连通性
[R1]ping 1.2.3.254
R1 通过telnet 远程登录到R3(模拟TCP 流量)
<R1>telnet 1.2.3.254
这里还排错了,显示不支持认证模式,所以需要再R3vty接口增加aaa模式
查看R2 上的NAT 会话表
[R2]display nat session all
尽管此时R3没有到R1的路由条目,但是由于转换后的源地址为1.2.3.11,R3会将数据回复给该地址,R2收到后会根据NAT会话表中的数据重新转换为R1的地址并转发。所以此时R1可以主动发起到R3的访问。
3.3配置Easy NAT(非常简单)
#假设出口路由器R2 的G0/0/1 不是固定IP 地址(而是通过DHCP 动态获取或PPPoE 拨号获取),此时需要配置Easy IP。(家庭路由器上网一般就是这种方式)
#直接在接口配置nat出向并调用acl
[R2]
interface GigabitEthernet 0/0/1
undo nat outbound 2000 address-group 1
nat outbound 2000
[R1]ping 1.2.3.254
R1 通过 telnet 远程登录到 R3(模拟 TCP 流量)
3.4 配置NAT Server
假设 R1 要向公网提供网络服务(用 telnet 模拟),由于 R1没有公网 IP 地址,故需要在 R2 的出接口上配置 NAT Server。即外网要访问内网某服务器地址,故需要在R2 的出接口上配置NAT Server,做一对一映射,将出口路由器外网口映射成内网某服务器地址
#直接配置映射
[R2]
interface G0/0/1
nat server protocol tcp global current-interface 2323 inside 192.168.1.1 telnet
nat server命令用来定义一个内部服务器的映射表,外部用户可以通过地址和端口转换来访问内部服务器的某项服务。配置内部服务器可以使外部网络主动访问私网中的服务器。当外部网络向内部服务器的外部地址(global-address)发起连接请求时,NAT将该请求的目的地址替换为私网地址(inside-address)后,转发给私网内的服务器。
#验证
# R3 通过telnet 远程登录到R1
# 查看R2 上的NAT 会话表
这里目的端口应该是2323,转换口新端口应该是23 。
转换成功了,但是现象不对
4.验证
略