一、NAT概述
NAT技术是用来解决当今IP地址资源枯竭的一种技术,同时也是IPv4到IPv6的过渡技术,绝大多数网络环境中在使用NAT技术。
1、NAT分类
在内外网的边界,流量有出、入两个方向,所以NAT技术包含源地址转换和目标地址转换两类一般情况下,源地址转换主要用于解决内部局域网计算机访问 Internet的场景;而目标地址转换主要用于解决Internet用户访问局域网服务器的场景,目标地址通常被称为服务器地址映射。
华为支持的源地址转换方式有如下几类:
- NAT No-PAT:类似于Cisco的动态转换,只转换源IP地址,不转换端口,属于多对多转换,不能节约公网IP地址,实际情况下使用较少,主要适用于需要上网的用户较少,而公网地址又足够的场景下。
- NAPT( Network Address and Port Translation,网络地址和端口转换):类似于Cisco的PAT转换,NAPT既转换报文的源地址,又转换源端口,转换后的地址不能是外网接口IP地址,属于多对多或多对一转换,可以节约IP地址,使用场景较多,主要适用于内部大量用户需要上网,同时仅有少数几个公网IP地址可用的场景下。
- 出接口地址(Easy-IP):因其转换方式非常简单、所以也称为Easy-IP,和NAPT一样,既转换源IP地址,又转换源端口。区别是出接口地址方式转换后的地址只能是NAT设备外网接口所配置的IP地址,属于多对一转换,可以节约IP地址,主要适用于没有额外的公网地址可用,内部上网用户非常多的场景下,直接通过外网接口本身的IP地址作为转换目标。
- Smart NAT(智能转换):通过预留一个公网地址进行NAPT转换,而其他的公网地址用来进行 NAT No-PAT转换。其主要用于平时上网用户比较少,而申请的公网地址基本可以满足这些少量用户进行 NAT No-PAT转换,但是偶尔会出现上网用户倍增的情况下。
- 三元组NAT:与源IP地址、源端口和协议类型有关的一种转换,将源IP地址和源端口转换为固定公网IP地址和端口,能解决一些特殊应用在普通NAT中无法实现的问题。其主要用于外部用户访问局域网用户的一些P2P应用。
介绍前三种源地址转换。
华为的目标地址转换技术主要是 NAT Server,可以基于IP地址转换,也可以基于 “ IP+端口+协议 ” 进行转换。
先将接口加入区域当中
[SRG]firewall zone trust
[SRG-zone-trust]add int g0/0/1
[SRG-zone-trust]firewall zone dmz
[SRG-zone-dmz]add int g0/0/2
[SRG-zone-dmz]firewall zone untrust
[SRG-zone-untrust]add int g0/0/3
[SRG-zone-untrust]quit
[SRG]firewall p d p interzone trust untrust direction outbound (默认规则,高级别可以无条件访问低级别)
[SRG]firewall p d p interzone trust dmz dir out
[SRG]firewall p d p interzone dmz untrust dir out
[SRG]ip route-s 0.0.0.0 0.0.0.0 192.168.3.2
设置trust到untrust区域的NAT策略:
[SRG]nat-policy interzone trust untrust outbound
策略ID号:
[SRG-nat-policy-interzone-trust-untrust-outbound]policy 1
设置源地址:
[SRG-nat-policy-interzone-trust-untrust-outbound-1]policy source any
启用原地址转换功能:
[SRG-nat-policy-interzone-trust-untrust-outbound-1]action source-nat
设置转换类型为easy-ip,指定转换目标接口:
[SRG-nat-policy-interzone-trust-untrust-outbound-1]easy-ip GigabitEthernet0/0/3
[SRG-nat-policy-interzone-trust-untrust-outbound-1]quit
[SRG-nat-policy-interzone-trust-untrust-outbound]quit
2、防火墙控制策略
[SRG]policy interzone trust untrust outbound
[SRG-policy-interzone-trust-untrust-outbound]policy 1
[SRG-policy-interzone-trust-untrust-outbound-1]policy source 192.168.1.2 0 //源IP地址
[SRG-policy-interzone-trust-untrust-outbound-1]policy destination any //目标地址为所有
[SRG-policy-interzone-trust-untrust-outbound-1]action permit //设置允许/拒绝
[SRG-policy-interzone-trust-untrust-outbound-1]quit
[SRG-policy-interzone-trust-untrust-outbound]policy 2
[SRG-policy-interzone-trust-untrust-outbound-2]policy source 192.168.1.3 0
[SRG-policy-interzone-trust-untrust-outbound-2]policy destination 192.168.4.2 0
[SRG-policy-interzone-trust-untrust-outbound-2]action deny //设置一个拒绝条目,这样最终的实验效果会比较明显一点
[SRG-policy-interzone-trust-untrust-outbound-2]quit
[SRG-policy-interzone-trust-untrust-outbound]quit
3、防火墙配置服务器发布
[SRG]firewall packet-filter default permit all //默认为允许所有
[SRG]nat server protocol tcp global interface g0/0/3 80 inside 192.168.2.2 80 将2.0网段的http服务转换到接口0/0/3的IP地址上面
最终的实验效果是内网能够ping通外网1.2能够访问服务,但是1.3访问不到。
内网的服务都可以访问到dmz区域的服务即2.2的http服务
但是外网的客户机访问不到真实的IP地址,通过g0/0/3的IP地址才可以访问到服务