网络地址转换(NAT)

345 阅读7分钟

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

B类私有地址:172.16.0.0~172.31.255.255

C类私有地址:192.168.0.0~192.168.255.255 

 

1.NAT的工作原理****

NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信

NAT外部的主机无法主动跟位于MAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发

image.png

image.png

image.png

image.png

2.NAT功能****

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

 

1.宽带分享:这是NAT主机的最大功能。

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

优点:节省公有合法Ip地址、处理地址重叠、增强灵活性、安全性

缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN)

 

3.静态NAT****

静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。

内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址:外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址:。

有2种配置方法:

全局模式


全局模式下设置静态NAT

[R1]nat static global 8.8.8.8 inside 192.168.10.10

[R1 ]int g0/0/1        外网口

[R1-GigabitEthernet0/0/1]nat static enable      在网口上启动nat static enable功能

 

直接在接口上声明nat static

[R1]int g0/0/1        外网口

[R1-GigabitEthernet0/0/1]nat static global 8.8.8.8 inside 192.168.10.10

[R1]dis nat static

查看NAT静态配置信息

image.png


全局

PC1

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24

[R1-GigabitEthernet0/0/0]un sh

[R1-GigabitEthernet0/0/0]int g0/0/1

[R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24

[R1-GigabitEthernet0/0/1]un sh

[R1-GigabitEthernet0/0/1]q

[R1]nat static global 20.0.0.1 inside 192.168.1.10  (20.0.0.1可随意)

[R1-GigabitEthernet0/0/1]nat static enable

[R1-GigabitEthernet0/0/1]q

[R1]dis nat static

接口

PC2

[R1]int g0/0/1

[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24

[R1-GigabitEthernet0/0/0]un sh

[R1]int g0/0/1

[R1-GigabitEthernet0/0/1]ip add 12.0.0.124

[R1-GigabitEthernet0/0/1]un sh

[R1-GigabitEthernet0/0/1]nat static global 8.8.8.8 inside 192.168.1.20

image.png

image.png

image.png 动态NAT:多个私网IP地址对应多个公网IP地址,基于地址池一对一映射


1、配置外部网口和内部网口的IP地址

2、定义合法IP地址池

[R1] nat address-group 1 212.0.0.100 212.0.0.200     新建一个名为1的nat地址池

3、定义访问控制列表

[R1]acl 2000     创建ACL,允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过

[R1-acl-basic-2000]rule permit source 192.168.20.0 0.0.0.255

[R1-acl-basic-2000]rule permit source 11.0.0.0 0.0.0.255

4、在外网口上设置动态IP地址转换

[R1-acl-basic-2000]int g0/0/1     外网口

[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat

将ACL

2000匹配的数据转换为该接口的IP地址作为源地址(no pat不做端口转换,只做IP地址转换,默认为pat)

[R1]dis nat outbound    查看NAT Outbound的信息

 


[R1]nat address-group 1 20.0.0.100 20.0.0.200

[R1]acl 2000

[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

[R1]int g0/0/1

[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat

PAT端口多路复用****

 

PAT又称为NAPT (Network Address PortTranslation)

它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同

私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能

够共享同一地址。

PAT有以下作用:

1.改变数据包的ip地址和端口号

2.能够大量节约公网IP地址。

PAT的类型有以下:

1.动态PAT,包括NAPT和Easy IP:

2.静态PAT,包括NAT server。

 

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

1、配置外部网口和内部网口的IP地址

2、定义合法IP地址池

[R1]nat address-group 1 200.1.1.10 200.1.1.10    使用一个固定IP

3、定义访问控制列表

[R1]acl 2000     允许源地址为192.168. 30.0/24网段的数据通过

[R1-acl-adv-2000]rule permit source 192.168.30.0 0.0.0.255

4、在外网口上设置IP地址转换

[R1-acl-basic-2000]int g0/0/1     外网口

[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1

 

 EasyIp:多个私网IP地址对应外网接口公网IP地址(比如12.0.0.1)

1、配置外部网口和内部网口的IP地址

2、定义合法IP地址池

由于直接实验外网口IP地址所以不用再定义IP地址池

3、定义访问控制列表

[R1]acl 3000     允许源地址为192.168.30.0/24网段的数据通过

[R1-acl-adv-3000]rule permit ip source 192.168.30.0 0.0.0.255

4、在外网口上设置IP地址转换

[R1]int g0/0/1        外网口

[R1-GigabitEthernet0/0/1]nat outbound 3000

当ac13000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址

[R1]display nat session all            查看NAT的流表信息

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

[R1]int g0/0/1

[R1-GigabitEthernet0/0/1]nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www

在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定

[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 800 inside 10.1.1.1 www

在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定

[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp

端口为21可以直接使用关键字"ftp"代替


[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24

[R1-GigabitEthernet0/0/0]int g0/0/1

[R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24

[R1-GigabitEthernet0/0/1]q

[R1]nat address-group 1 20.0.0.1 20.0.0.1

[R1]acl  2000

[R1-acl-basic-2000]rule permit source any

 [R1-acl-basic-2000]q

[R1]int g0/0/1

[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1

[R1-GigabitEthernet0/0/1]q

[R1]dis nat session all   (跟踪)

 

 

 

 


[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24

[R1-GigabitEthernet0/0/0]int g0/0/1

[R1-GigabitEthernet0/0/1]ip add 12.0.0.1   24

[R1-GigabitEthernet0/0/1]q

[R1]acl 2000

[R1-acl-basic-2000]rule permit source any

[R1-acl-basic-2000]q

[R1]int g0/0/1

[R1-GigabitEthernet0/0/1]nat outbound 2000

[R1]dis nat session all

image.png


[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]ip add 12.0.0.1 24

[R1-GigabitEthernet0/0/0]int g0/0/1

[R1-GigabitEthernet0/0/1jip add 192.168.20.1 24

[R1-GigabitEthernet0/0/1]q

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0)]nat server protocol tcp global current-interface 8080 inside

接上面 192.168.20.20 80

image.png


来自作者正在迷途的原创作品 GoodMai 好买网