什么是NAT?

NAT的由来

IPv4地址只有32位,最多只有42.9亿个地址,去掉保留地址,组播地址,能用的地址只有30多亿左右,在当下数以万计的主机,IPV4的数量是是完全不够用的,虽然后面有了IPV6,但是当下IPV4还是主流,于是就诞生了NAT(Network Address Translation)网络地址转换

NAT的定义

NAT是将私有IP地址通过边界路由转换成外网IP地址,在边界路由的NAT地址转换表记录下这个转换映射记录,当外部数据返回时,路由使用NAT技术查询NAT转换表,再将目标地址替换成内网用户IP地址。

使用cisco实现NAT(简易模型)

拓扑图
上图为简单的拓扑图用于演示
如上图配置好各个IP的接口
然后为PC机配置DHCP,打开内网路由器R1

1
2
3
4
5
6
7
8
9
10
Router>en //进入特权模式
Router#conf t //进入配置
Router(config)#hostname R1 将Router重命名为R1
R1(config)#int f0/0 配置f0/0接口,此接口是链接PC机的
R1(config-if)#ip address 192.168.10.1 255.255.255.0 //配置接口IP
R1(config-if)#no sh //激活接口
R0(config)#ip dhcp pool DHCP //配置 DHCP 的地址池名字:DHCP
R0(dhcp-config)#network 192.168.10.0 255.255.255.0 //地址池的网络
R0(dhcp-config)#default-router 192.168.10.1 //分配IP地址的网关
R0(dhcp-config)#dns-server 192.168.1.254 //分配IP地址DNS,最后一位为范围最大是254

使PC机自动获取IP
PCPC

配置NAT

第一步:
定义内外网,告诉设备什么口链接外网,什么口链接内网(链接PC的口是内网,链接R2的口是外网)

1
2
3
4
5
R1(config)#int s0/3/0 //外网接口
R1(config-if)#ip nat outside //告诉设备这是外网接口
R1(config-if)#ex
R1(config)#int f0/0 //内网接口
R1(config-if)#ip nat inside //告诉设备这是内网接口

第二步:
内网的什么数据需要上网?
1
R1(config)#access-list 1 permit 192.168.10.0 0.0.0.255

第三步:
配置NAT,进行私有IP地址转化为共有IP地址
R1(config)#ip nat inside source list 1 interface s/0/3/0 overload
第四步:
访问公网资源
1
2
3
R1(config)#ip route 0.0.0.0 0.0.0.0 202.101.1.2(最后这个IP为下一站地址)
也可以这样写,将下一站地址改为接口
R1(config)#ip route 0.0.0.0 0.0.0.0 s0/3/0

配置完毕测试家用机是否能连接到服务器
PC