公网地址的由来
个人/企业–>ISP运营商–>CNNIC中国互联网络信息中心–>APNIC(Asia Pacific Network Information Centre)亚太地址网络信息中心–>IANA互联网数字分配机构 (早在2012年IP地址就已经分配完了)
NAT好处
- 有效避免了来自外网的攻击,大大提高了网络安全性
- 控制内网访问外网,同时也控制了外网访问内网,解决了内网和外网通信的问题
静态NAT配置(一对一)
如果希望一台主机专用某个公网地址,或者想要外网访问内网服务器时,可以使用静态NAT
静态NAT不能有效缓解公网地址短缺的问题
命令 | 备注 |
---|---|
nat static enable | 开启NAT静态功能 |
nat static global 公网地址 inside 私网地址 | 创建静态NAT |
display nat static | 查看静态NAT的配置 |
1 | #OFFICE |
查看静态NAT配置
使用pc1 ping pc4
在OFFICE路由g0/0/0口抓包,可以看到从192.168.100.253发过来的包已经转换为12.0.0.10 发送给2.0.0.1
动态NAT和PAT配置
动态NAT(多对多)
动态NAT基于地址池来实现私有地址和公有地址的转换
- 动态NAT定义了地址池,规定一个范围的地址可以供主机转换
- 动态NAT地址池中的地址用尽后,只能等待被占用的地址被释放,其他主机才能使用它来访问公网
- 动态NAT也不能有效缓解公网地址短缺的问题
命令 | 备注 |
---|---|
acl 2000 | 创建一个基本ACL |
rule 5 deny/permit source 192.168.1.0 0.0.0.255 | 配置ACL的规则:拒绝或允许源地址为192.168.1.0/24网段内的所有流量 |
acl 3000 | 创建一个高级ACL |
rule 5 deny/permit tcp source 192.168.1.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq 80 | 配置ACL的规则:拒绝或允许源地址为192.168.1.0/24网段内到8.8.8.8 的http流量 |
traffic-fifter inbound/outbound acl 2000 | 在接口调用ACL过滤流量 |
display acl 2000 | 验证ACL |
display traffic-filter applied-record | 查看设备上所有基于ACL调用情况 |
命令 | 备注 |
---|---|
nat address-group 编号 公网地址范围 | 配置NAT地址池 |
nat outbound acl 编号 address-group 编号 [no-pat] | 关联一个ACL和一个NAT地址池 ACL用来匹配能够转换的源地址 |
no-pat | 只转换地址而不转换端口 |
display nat address-group | 查看NAT地址池配置信息 |
display nat outbound | 查看动态NAT配置信息 |
dis nat session all | 查看NAT转换表 |
动态NAT配置
1 | #OFFICE |
由于动态NAT地址池中的地址用尽后,只能等待被占用的地址被释放,其他主机才能使用它来访问公网,所以我们地址池里5个地址用完了后就会看到有丢包的现象,有地址被释放后才能用于用于转换
PS:使用ICMP时地址会变换,是没有端口的,但是有标识,可以根据标识来分辨,如下图
NAPT(多对一)
NAPT允许多个内部地址映射到统一个公有地址的不同端口
NPAT(Network Address Port Translation),也称为NAT-PT或PAT,网络地址端口转换,允许多个私网地址映射到同一个公网地址的不同端口。
通常适用于大型企业网络(申请多个固定的公网地址)
NAPT需要定义地址池,不能直接使用出接口的地址
有效的缓解了公网地址短缺的问题
命令 | 备注 |
---|---|
nat address-group 编号 公网地址范围 | 配置NAT地址池 |
nat outbound acl 编号 address-group 编号 no-pat | 配置调用ACL关联地址池 |
nat outbound acl 编号 address-group 编号 | 配置NAPT |
display nat address-group | 验证NAT地址池配置信息 |
display nat outbound | 验证动态NAT配置信息 |
1 | #OFFICE |
可以看到我们用于NAT转换的只有12.0.0.100这一个地址,多台主机同时上网也不会丢包
Easy IP
Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口
- 直接使用出接口的地址做转换
- Easy IP适用于小规模居于网中的主机访问Internet的场景
- 如:家庭、小型网吧、小型办公室中,这些地方内部主机不多,出接口可以通过拨号方式获取一个临时公网IP地址
- 有效的缓解了公网地址紧缺和不固定的公网地址转换问题
命令 | 备注 |
---|---|
nat outbound [acl 编号] | 配置Easy IP 关联出站接口和ACL |
1 | # OFFICE |
NAT服务器(端口映射)
- NAT具有“屏蔽”内部主机的作用,但有时内网需要向外网提供服务
- 当外网用户访问内网服务器时,出口设备通过事先配置好的“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,将服务器的“公网IP地址和端口号”根据映射关系替换成对应的“私网IP地址+端口号”
- NAT服务器的公网IP地址和端口中,端口可以更改,提供安全性
命令 | 备注 |
---|---|
nat server protocol tcp/udp global current-interface/公网地址 端口 inside 私网地址 端口 | 配置NAT服务器 |
display nat server | 验证NAT服务器 |
1 | # OFFICE |
- 配置拓扑图中的内网Server1,开启HttpServer服务
- 在OFFICE路由器出口将192.168.100.2:80 映射为出接口(12.0.0.1:8888)
- 在外网Client1中使用HttpClient访问http://12.0.0.1:8888