NAT
PFC1918标准
PFC1918规定以下为私有网段:
Private IP Address |
---|
10.0.0.0 /8 子网掩码少于标准的ABC类网段,我们称之为超网。 |
172.16.0.0 /12 类似B类网段,但子网掩码少于16–>超网 |
192.168.0.0 /16 类似C类网段,但子网掩码少于24–>超网 |
在公网上无法传递私有网段的数据包(规定遇到访问公网的私网IP直接丢弃)
1 口称为 NAT的内部端口(连接局域网)
2 口称为 NAT的外部端口 (连接公网),转换地址就这里完成。(会创建一个NAT转换表项,通过表项发送),一个公网地址会同时被两个或多个私有地址转换,此时借助了端口号(添加端口号)来区分不同的数据包。
转换地址:
访问外网时:私网地址–>公网地址
访问(返回)内网是:私网地址<–公网地址
静态NAT
Sever1服务器的地址为10.35.35.1(这个地址为私网地址),我们想要访问外网,必须使用NAT 转换成外网进行访问。
具体配置如下:将10.35.35.1转为为51.51.51.2
[R5] int g0/0/0 | 进入所要转发给外网流量的接口 |
---|---|
[R5] nat server global 51.51.51.2 inside 10.35.35.1 | 将公网IP51.51.51.2转换为10.35.35.1的访问外网的地址 |
用server1可以Ping通公网 11.11.11.11 了。
同样 10.35.35.1作为私网,公网也不能直接进行访问。:
如PC11无法直接Ping通10.35.35.1 , 也只能通过访问51.51.51.1间接访问。
动态NAT
实验要求:将所有网络地址转换为 51.51.51.11 – 51.51.51.20 区间范围的IP地址。
实验拓扑如下:
[R5]acl 2000 | 在系统视图下引入工具ACL(先用,不做介绍) 编号 2000 |
---|---|
[R5-acl-basic-2000] rule 10 permit source 10.15.15.0 0.0.0.255 | 编号为10的捕捉 10.15.15.0 24网段的网络 |
tip: 4个255 - 子网掩码 = 0.0.0.255 | 表示网段这里:我们不用子网掩码,用通配符掩码 |
[R5-acl-basic-2000] rule 20 permit source 10.25.25.0 0.0.0.255 | |
[R5-acl-basic-2000] rule 30 permit source 10.35.35.0 0.0.0.255 | |
[R5-acl-basic-2000] rule 40 permit source 10.45.45.0 0.0.0.255 | |
[R5-acl-basic-2000] rule 50 permit source 192.168.51.0 0.0.0.255 | |
[R5-acl-basic-2000] rule 60 permit source 192.168.52.0 0.0.0.255 | |
[R5]nat address-group 1 51.51.51.11 51.51.51.20 | 设置转换地址群1 |
[R5] int g0/0/0 | 进入NAT外部端口 |
[R5-GigabitEthernet0/0/0] nat outbound 2000 address-group 1 | 将编号2000的ACL所抓取的流量的源IP转换为地址群1里的IP地址 |
我们尝试用PC3 ping 11.11.11.11
可通过查看NAT转换表项(速度要快,表项存在时间较短)得知转换情况:
[R5] display nat session all | 查看转换表项的命令 |
---|---|
我们尝试用PC3 ping 11.11.11.11
可通过抓取数据包得知转换情况:
细节优化
刚刚我们设置了多个编号去抓取我们需要的网络流量,但设置多个条目容易出错。抓取的是网络,只要我们能把这些网络汇总(类似于汇总路由),就能大大减少我们的工作量以及错误。
由于拓扑要求的是将内网的地址都转换到我们设置好的一个地址群地址内,所以我们可以用一个或两个表项就可以汇总。
VLAN 15、25、35、45 都可规划为 10.0.0.0 /8 再将子网掩码转换为子网通配符就好。
还有路由器与交换机的两条 规划为 192.168.0.0 /16 即可
[R5-acl-basic-2000] rule 10 permit sorce 10.0.0.0 0.255.255.255 | |
---|---|
[R5-acl-basic-2000] rule 20 permit sorce 192.168.0.0 0.0.255.255 |
6个表项减少到2个,要偷笑了。
思科NAT配置
R5(config) int g0/0 | 不管是静态NAT还是动态NAT开始都要设置端口 |
---|---|
R5 (config-if) ip nat outinside | 连接外网的要设置 为 outsinde 端口 |
R5(config) int g0/1 / R5(config) int g0/2 | 连接内网的(1口和2口)需要设置为 inside端口 |
R5 (config-if) ip nat ininside | 不然无法完成地址转换 |
Eassy IP
华为版
:就是多个IP地址转换成同一个接口的地址(而这个接口是链连接外网的接口)
[AR4] acl 2000 | |
---|---|
[AR4-acl-basic-2000] rule permit source 10.0.0.0 0.255.255.255 | 创建ACL抓取流量 |
[AR4-acl-basic-2000] quit | |
[AR4] int g0/0/0 | 进入端口 |
[AR4-G0/0/0] nat outbound | 实现端口NAT转换-Easy IP |
思科版
Easy IP 的ACL调用 | |
ip nat inside source list 1 interface s0/0/0 | 将ACL抓取的流量都转换成 s0/0/0 地址的 |