NAT 网络地址转换:
主要作用:通过地址转换实现私有网络和公有网络之间的相互访问
通过NAT还能实现的功能:
共享公网IP和带宽,节约公网IP;隐藏内网主机的真实地址,起到一定的安全防护作用
NAT的工作过程:
- 数据包从内网发往外网时,NAT会将数据包的源IP由私网地址转换成公网地址;
- 当响应的数据包要从公网返回到内网时,NAT会将数据包的目的IP由公网地址转换成私网地址
NAT使用场景与配置:
1)内网客户端主动访问外网服务器
静态NAT:私网IP和公网IP是一对一的关系,并且需要预先做好一对一的映射绑定
nat static global <自定义公网IP> inside <私网IP>
动态NAT:私网IP和公网IP是一对一的关系,需要先自定义一个公网IP地址池,私网IP在地址转换时会轮询地址池中的每个公网IP
NATP:私网IP和公网IP是多对一的关系,公网IP地址池只自定义一个公网IP,所有私网IP在地址转换时只会转换为一个自定义的公网IP
easyip:私网IP和公网IP是多对一的关系,直接使用NAT设备的外网接口的公网IP,所有私网IP在地址转换时只会转换为NAT设备的外网接口的公网IP
2)外网客户端访问位于内网的服务器
Nat Server:私网IP和公网IP是多对一的关系,一个公网IP和不同的端口可以转换成的私网IP和端口
先修改从公网发送到内网的数据包的目的IP地址,Nat Server会将数据包的目的IP由公网地址转换成私网地址
再修改从内网返回到外网的响应数据包的源IP地址,Nat Server会将数据包的源IP由私网地址转换成公网地址
nat server protocol tcp global <自定义公网IP> <外网端口> inside <私网IP> <内网端口> #比如访问 9.9.9.9:8080 --> 192.168.10.100:80
nat server protocol tcp global current-interface <外网端口> inside <私网IP> <内网端口> #比如访问 接口IP:8080 --> 192.168.10.100:80
静态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静态配置信息
动态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的信息
PAT端口多路复用
PAT又称为NAPT(Network Address Port Translation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。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 ###使用一个固定IP3、定义访问控制列表
[R1]acl 2000 ###允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-adv-2000]rule permit source 192.168.30.0 0.0.0.2554、在外网口上设置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.2554、在外网口上设置IP地址转换
[R1]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 3000 ###当acl3000匹配的源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 8080 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”代替
ACL的工作原则:
可以在一个路由器接口的一个方向配置一个ACL;
一个ACL可以配置多条规则;
规则匹配时是从上往下依次匹配,匹配到即停止,华为设备默认的规则为放通所有数据包
例:ping 12.0.0.120 -S 192.168.100.100
规则一:放通 源地址为 192.168.10.0/24 网段的地址
规则二:拒绝 目的地址为 12.0.0.0/24 网段的地址
规则三:拒绝 源地址为 10.0.0.0/8 网段的地址
默认放通所有
华为ACL的类型:
- 基本ACL(ID范围为2000~2999):只匹配源IP
- 高级ACL(ID范围为3000~3999):可以根据 协议类型 源IP 目的IP 源端口 目的端口 匹配
- 二层ACL(ID范围为4000~4999):可以根据 源MAC 目的MAC 二层协议--
例:
配置服务器
配置主机
The device is running!
<Huawei>sys //进入
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R1 //设置名字
[R1]und
[R1]undo if
[R1]undo in
[R1]undo info-center e
[R1]undo info-center enable //关闭提示
Info: Information center is disabled.
[R1]
[R1]
[R1]int g0/0/0 //进入g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24 //配置IP地址
[R1-GigabitEthernet0/0/0]un sh //保存
Info: Interface GigabitEthernet0/0/0 is not shutdown.
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24 //配置IP地址
[R1-GigabitEthernet0/0/1]un sh //保存
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[R1-GigabitEthernet0/0/1]
R1-GigabitEthernet0/0/1]
[R1-GigabitEthernet0/0/1]
[R1-GigabitEthernet0/0/1]q //退出
[R1]dis ip int b //查看ip配置信息
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 3
The number of interface that is DOWN in Protocol is 1
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 192.168.10.1/24 up up
GigabitEthernet0/0/1 12.0.0.1/24 up up
GigabitEthernet0/0/2 unassigned down down
NULL0 unassigned up up(s)
[R1]
可以ping通
抓包 加一个路由器和主机
配置新加入的pc2
[R1]nat st
[R1]nat static g
[R1]nat static global 8.8.8.8 in
[R1]nat static global 8.8.8.8 inside 192.168.10.10 //8.8.8.8为公网地址192.168.10.10为主机地址 公网ip和子网ip映射
[R1]dis cu
[R1]dis current-configuration //查看
[V200R003C00]
#
sysname R1
#
snmp-agent local-engineid 800007DB03000000000000
snmp-agent
#
clock timezone China-Standard-Time minus 08:00:00
#
portal local-server load portalpage.zip
#
drop illegal-mac alarm
#
undo info-center enable
#
set cpu-usage threshold 80 restore 75
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$
---- More ----
g0/0/1为数据包出口
[R1]int g0/0/1 //进入g0/0/1
[R1-GigabitEthernet0/0/1]
[R1-GigabitEthernet0/0/1]
[R1-GigabitEthernet0/0/1]
[R1-GigabitEthernet0/0/1]nat st
[R1-GigabitEthernet0/0/1]nat static en
[R1-GigabitEthernet0/0/1]nat static enable //启用nat服务
ping12.0.0.12
抓包内网0/0/0
抓包公网0/0/1
数据包从内网发往外网时,NAT会将数据包的源IP由私网地址转换成公网地址; 当响应的数据包要从公网返回到内网时,NAT会将数据包的目的IP由公网地址转换成私网地址