NAT

1.NAT是什么

  • NAT (Network Address Translation) 又称为网络地址转换,用于实现私有网络和公有网络之间的互访
  • 公有网络地址( 以下简称公网地址)是指在互联网上全球唯一的IP地址。2019年11月26日, 是人类互联网时代值得纪念的一- 天,全球近43亿个IPv4地址已正式耗尽
  • 私有网络地址(以下简称私网地址)是指内部网络或主机的IP地址,IANA (互联网数字分配机构)规定将下列的IP地址保留用作私网地址,不在Internet(互联网).上被分配,可在一个单位或公司内部使用

RFC1918中规定私有地址如下:
A类私有地址: 10.0.0.0~10.255.255.255 /8
B类私有地址: 172.16.0.0~172.31.255.255 /16
c类私有地址: 192.168.0.0~192.168.255.255 /24
公网地址不够用需要NAT解决,需要将公网地址转换成私网地址供更多人使用

2.NAT功能

NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机

  1. 宽带分享:这是NAT主机的最大功能
  2. 安全防护:NAT之内的PC联机到Internet.上面时,他所显示的IP是NAT主机的公网IP,所以client端的PC就具有一定程度的安全了,外界在进行portscan (端口扫描)的时候,就侦测不到源client端的PC

3.NAT优缺点

优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用( 比如VPN)

4.NAT作用工作原理

  1. NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
  2. NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发

image.png
NAT数据包从内网到外网时,会转换源IP地址,由私网IP地址转换成 公网IP地址
NAT数据包从外网到内网时,会转换的目的IP地址,由公网IP地址转换成私网IP地址

5.NAT 静态 动态

5.1静态

  1. 静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用
  2. 内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址:外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址

静态配置

image.png

1.全局模式下设置静态NAT

[R1]int g0/0/0 进入g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24 配置IP地址及子网掩码
[R1-GigabitEthernet0/0/0]un sh 启动接口
[R1-GigabitEthernet0/0/0]q 退出接口
[R1]nat static global 20.20.20.20 inside 192.168.1.10 添加PC1到20.20.20.20的地址转换
[R1-GigabitEthernet0/0/0]int g0/0/1 进入g0/0/1外网口
[R1-GigabitEthernet0/0/1]ip add 13.0.0.1 24 配置IP地址及子网掩码
[R1-GigabitEthernet0/0/1]un sh 启动接口
[R1-GigabitEthernet0/0/1]nat static en 启动静态nat

2.接口上设置静态NAT

[R1]int g0/0/0 进入g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24 配置IP地址及子网掩码
[R1-GigabitEthernet0/0/0]un sh 启动接口
[R1-GigabitEthernet0/0/0]int g0/0/1 进入g0/0/1外网口
[R1-GigabitEthernet0/0/1]ip add 13.0.0.1 24 配置IP地址及子网掩码
[R1-GigabitEthernet0/0/1]un sh 启动接口
[R1-GigabitEthernet0/0/1]nat static global 20.20.20.20 inside 192.168.1.10 添加PC1到20.20.20.20的地址转换

5.2动态

多个私网IP地址对应多个公网IP地址,基于地址池一对一映射
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池

动态配置

[R1]acl 2000 创建设置ACL2000
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-basic-2000]q 退出
[R1]nat address-group 1 20.0.0.100 20.0.0.200
新建一个名为1的nat地址池
[R1]int g0/0/1 进入g0/0/1口外网口
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
将ACL2000匹配的数据转换为改接口的IP地址作为源地址(no pat 不做端口转换,只做IP地址转换默认为pat)

测试

长ping 13.0.0.1 -t
wireshark抓包R1
image.png
image.png

6.PAT多路复用 PAT NAPT Easyip NAT server

6.1PAT端口多路复用

PAT又称为NAPT (Network Address Port
Translation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。

PAT作用

1.改变数据包的ip地址和端口号:
2.能够大量节约公网IP地址。
PAT的类型有以下:
1.动态PAT,包括NAPT和Easy IP: NAT是一对一转换 NAPT 多对一转换
2.静态PAT,包括NAT Server.

1.NAPT

多个私网Ip地址:对应固定外网IP地址(比如200.1.1.10),配置方法与动态NAT类似

配置

[R1]nat address-group 1 200.1.1.10 200.1.1.10 配置使用一个固定IP
[R1]acl 2000 创建ACL2000
[R1-acl-2000]rule permit source 192.168.10.0 0.0.0.255
允许源地址为192.168.10.0/24网段的数据通过
或者
[R1-acl-2000]rule permit source any 允许所有通过
[R1-acl- 2000]int g0/0/1 进入g0/0/1外网口
[Rl-GigabitEthernet0/0/1]nat outbound 2000 address-group 1将ACL2000设置下外网口出口方向地址转换

内网地址 端口 公网地址 不同端口

测试

pc1长ping 13.0.0.1 -t
在r1中输 dis nat session all
或者用wireshark抓包R1

image.png
image.png

2.EasyIp

多个私网IP地址对应路由器外网接口公网IP地址

配置

[R1-acl-adv-3000] 创建ACL3000
[R1-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255
配置允许192.168.1.0/24段通过
[R1-acl-adv-3000]q 退出ACL3000
[R1]int g0/0/1 进入g0/0/1外网口
[R1-GigabitEthernet0/0/1]nat outbound 3000
当acl3000匹配的源IP数据到达此接口时,转换为该接口的IP地址:做为源地址

测试

pc1长ping 13.0.0.1 -t
在r1中输 dis nat session all
或者用wireshark抓包R1
image.png

image.png

3.NAT server

端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问

配置

image.png
R1]int g0/0/0 进入g0/0/0
[R1-GigabitEthernet0/0/0]ip add 13.0.0.1 24 配置IP地址及子网掩码
[R1-GigabitEthernet0/0/0]un sh 启动接口
[R1-GigabitEthernet0/0/0]int g0/0/1 进入g0/0/1
[R1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 配置IP地址及子网掩码
[R1-GigabitEthernet0/0/1]q 退出g0/0/1口
[R1]int g0/0/0 进入g0/0/0(对于server1来说的外网口)
[R1-GigabitEthernet0/0/0]nat server protocol tcp global current-interface 8080 inside 192.168.1.10 www 在连接公网的接口,上将私网服务器地址与端口和外网接口做一对NAT映射绑定
或者
nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www
在连接公网的接口上将私网服务器地址与端口和公网地址做一对NAT映射绑定

8080可以用www代替
其他协议

image.png

测试

在server 1上选择个文件启动httpserver
image.png
点击client 1的httpclient 的获取,得出以下图即为成功
image.png

  • 27
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值