防火墙的地址转换技术
NAT(network address translate)是一个变换数据包封装ip地址的技术【NAT可以将已经封装好的数据包,进行IP地址的暂时性修改】
出现的最开始的原因是IP地址不够用。
ipv4两个大类:
- 公网ip
- 私网ip
从技术层面来说 .产生的最主要原因是
- 帮助私网IP地址IP的用户可以访问公网(主要)
- 隐藏网络架构,保护安全
SNAT和DNAT ,双向NAT
- SNAT: 修改数据包SIP地址以及Sport技术
- 源NAT:一般用于内网用户上公网
- DNAT: 修改数据包DIP地址以及Dport技术
- 目的NAT:一般用于两个私网地址相同时一方已经配置snat后另一方配置
- 但是由于nat-server比dnat配置简单所以直接就配置nat-server了~
最早的NAT:
- 静态NAT
- 手动书写私网IP地址和公网IP地址和公网IP地址的映射关系;
- 静态IP和共网IP的映射是1:1映射
- 动态NAT(no-pat)
- 本质上还是1:1映射
- NAPT (network address port translate)网络地址及端口转换
- 不仅转换IP还要转换端口。
- 需要在现在的基础上再加上端口号 ;
- 也就是指定同一IP的不同端口
- 会在防火墙上生成一个映射表,上面记录这由私网ip转换到公网IP的映射关系
- NAPT由多个公网IP构成地址池;
- 所以easyIP适用于只有一个公网IP的情况(非专线环境下,地址一般不会变动)
|
NAPT |
easyIP |
|---|---|
|
多个公网IP(做成地址池) |
只有一个公网IP |
|
非专线环境下,地址一般不会变动 |
|
|
将租借的公网Ip配置在出口的 |
什么时专线环境;什么是非专线环境呢?
|
专线环境 |
非专线环境 |
|---|---|
|
这个公网IP就租借给你了,不会说突然回收 |
可能检测到其它P业务突然中断或,就会重新分配一个新的IP |
那么如何在防火墙上配置NAT技术呢?
我们首先将所谓的“百度”看作直接部署在公网上的服务器
在基础网络配置都已经配置完全的情况下配置。
注意:一定要配置路由
为了方便理解,我们把防火墙策略换成允许所有

然后进行nat的配置

我们会在依次的点击下获得一个弹窗

我们给这个NAT策略进行配置

我们在红框的部分既可以写的很粗糙也可以写的很详细;
比如说我们现在写的详细一点

因为我们只有一个公网地址所以要选出接口地址
那么我们能现在需要验证一下能不能访问外网呢?
我们使用pc1Ping外网200.1.1.1
发现是可以联通的的。
有人可能会疑问,为什么在没有配置路由的情况下依然Ping通了呢?
我们可以用wireshark抓一下外网接口的包

通过抓包的数据

我们可以发现在回包的时候DIP是100.1.1.1,也就是公网地址。
也就验证了先进入防火墙才进行地址转换。
理解了这里我们就可以重新配置安全策略了
我们把原来的默认安全策略改为禁止重新再新建一个防火墙策略。

我们在此进行连通性测试
发现是可以联通的
所以我们要记住一个优先顺序
安全策略>SNAT技术 这个结论可能有点难以理解,但是我们举个例子
在实际环境中,我们要部署SIP为转换前的IP地址
也就是说我们需要 先放行流量,在发出时候进行地址转化
那么接下来目的NAT呢?
我们就需要知道,所谓的“百度”这类的部署在公网上的服务器实际上也是一个私有网络,对外暴露接口与其他私网用户联通。
那么我们接下来的实验就要在现有的基础上稍加修改。
我们来假设“极端情况”
我们假设刚才的PC2是“百度”的服务器;并且恰巧和我们的私网用户用的同一个私网ip地址。
PC1如果现在要PINGPC2的地址是没办法ping通的,私网地址只在私网内部用,我们现在在只配置snat的情况下是没办法ping到位于外网的PC2的。
并且既然是私网就一定有防火墙~那么拓扑如图

还是老套路我们先放行全部流量。
然后这个时候我们就要配置DNAT了(但是因为nat-server配置更加简洁,所以现网中一般都配置服务器映射)
那么接下来打开配置界面
新建一个策略
这里解释一下允许服务器使用公网地址上网这个相当于是勾上可以同时使用SNAT和DNAT不勾就是只是用DNAT

我给出我的配置

思考
公网地址应该填什么呢?为什么填这个呢?
按照刚才的思路我们应该在公网地址上写100.1.1.2但是要注意的是
nat-server的公网地址不能配接口地址
如图配置后我们进行连通性测试
用PC1pingPC2发现通了
防火墙部分的配置也是与上一个防火墙的配置思路相同。
可以用抓包进行验证
所以我们得出一个先后顺序DNAT>防火墙>SNAT