Linux系统之iptables应用SNAT与DNAT

   日期:2024-12-26    作者:hrmw574669 移动:http://mip.riyuangf.com/mobile/quote/45760.html

目录

Linux系统之iptables应用SNAT与DNAT

一、SNAT

1、SNAT的应用环境

2、SNAT的原理

3、SNAT转换前提条件

二、开启SNAT

1、临时打开

2、永久打开

3、SNAT的转换

①固定的公网IP地址

三、SNAT实验

1、实验目的

2、SNAT实验环境准备

3、实验开始

①关闭三台机器的防火墙和selinux

②配置pc3服务端,安装httpd服务修改网卡ip为12.0.0.100/24--网关为12.0.0.254,然后重启网卡

③配置pc1客户端,修改网卡ip为192.168.111/24--网关192.168.170.12,然后重启网卡

④配置pc2网关服务器,首先配置ens33和ens36网卡的ip地址

注意:删除ens36的uuid并且修改name跟device选项的名称

⑤开启pc2网关服务器的路由转发功能,重启网卡

⑥检测pc1 pc2 pc3三台机器之间是否互通(使用虚拟机做实验默认是互通的,是由于处于同一环境中,生产环境内网和外网没有SNAT的情况下是不同的

⑦在pc1上curl服务端IP,然后在服务端实时查看/var/log/httpd/access_log日志。可查看到源ip为pc1的ip,所以是未经过nat的,生产环境中不可能直接curl通

⑧在pc2中添加防火墙规则使得来源于192.168.170.0/24网段的所有从ens36网卡流出数据的IP全部nat为12.0.0.254.然后再使用pc1去curl服务端实时查看日志。

4、实验结果

四、DNAT

1、DNAT实验目的

2、DNAT实验环境准备

3、实验拓扑

4、实验步骤

①先给三台机器做SNAT,因为做DNAT之后内网的pc1需要通过SNAT给公网的用户返回数据包。

②在内网pc1上安装一个httpd服务并开启,作为内网的业务服务器

③pc2网关服务器上配置DNAT规则

④然后实时查看pc1的/var/log/httpd/access_log日志,使用pc3公网网址直接curlpc1,可以看见日志中的源地址。

⑤实验结果


1、SNAT的应用环境

局域网主机共享单个公网IP地址接入internet(私有IP不能在internet中正常路由

2、SNAT的原理

源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映射

数据包从内网发送到公网时,SNAT会把数据包的源IP由私网IP转换成公网IP

当响应的数据包从公网发送到内网时,会把数据包的目的IP由公网IP转换为私网IP

3、SNAT转换前提条件

①局域网各个主机已正常设置ip地址,子网掩码,默认网关地址

②Linux网关开启IP路由转发

③Linux系统本身是没有转发功能的,只有路由发送数据

1、临时打开

 

2、永久打开

 

3、SNAT的转换

①固定的公网IP地址
 
 
 

1、实验目的

公司内两台机器,但是只有一个公网IP,利用SNAT技术实现2台私网地址都可以访问公网

2、SNAT实验环境准备

①三台服务器:pc1 pc2 pc3

②硬件要求:pc1 和pc3只需要一个网卡,pc2需要两个网卡

③网络模式要求:pc1 为nat模式,pc2中作为pc1网关的网卡为nat模式

④IP地址的要求:pc1为192.168.170.111网关为192.168.170.113,pc2的网关的ens33网卡地址为192.168.170.0/24网关为192.168.170.0 ens36为12.0.0.1/24不需要网关,pc3为12.0.0.100/24网关为12.0.0.1

3、实验开始

①关闭三台机器的防火墙和selinux
 
 
②配置pc3服务端,安装httpd服务修改网卡ip为12.0.0.100/24--网关为12.0.0.254,然后重启网卡

 
 
 
 
 
③配置pc1客户端,修改网卡ip为192.168.111/24--网关192.168.170.12,然后重启网卡
 
 
 
④配置pc2网关服务器,首先配置ens33和ens36网卡的ip地址
 
 
 
 
注意:删除ens36的uuid并且修改name跟device选项的名称

⑤开启pc2网关服务器的路由转发功能,重启网卡
⑥检测pc1 pc2 pc3三台机器之间是否互通(使用虚拟机做实验默认是互通的,是由于处于同一环境中,生产环境内网和外网没有SNAT的情况下是不同的
⑦在pc1上curl服务端IP,然后在服务端实时查看/var/log/httpd/access_log日志。可查看到源ip为pc1的ip,所以是未经过nat的,生产环境中不可能直接curl通
⑧在pc2中添加防火墙规则使得来源于192.168.170.0/24网段的所有从ens36网卡流出数据的IP全部nat为12.0.0.254.然后再使用pc1去curl服务端实时查看日志。
 
 

4、实验结果

不经过nat的地址为pc1自己的地址,使用虚拟机环境才会出现这种情况,生成环境是不通的。经过nat之后的地址才是公司的公网ip地址,由网关服务器iptables规则SNAT实现。

1、DNAT实验目的

为了保护公司业务服务器安全,业务服务器在私网中,从公网访问的用户只能通过nat为服务器的私网网关地址才可访问。

2、DNAT实验环境准备

 

①三台服务器:PC1客户端、PC2网关、PC3服务端。

②硬件要求:PC1和PC3均只需一块网卡、PC2需要2块网卡

③网络模式要求:三台主机都为NAT模式

④IP地址要求:PC1为192.168.170.111/--网关为192.168.170.113、PC2网关的ens33网卡地址为192.168.170.113/24--网关为192.168.170.113、ens36为12.0.0.1/24--不需要网关、PC3为12.0.0.100/24--网关为12.0.0.1

3、实验拓扑

4、实验步骤

①先给三台机器做SNAT,因为做DNAT之后内网的pc1需要通过SNAT给公网的用户返回数据包。
②在内网pc1上安装一个httpd服务并开启,作为内网的业务服务器
③pc2网关服务器上配置DNAT规则
 
④然后实时查看pc1的/var/log/httpd/access_log日志,使用pc3公网网址直接curlpc1,可以看见日志中的源地址。
⑤实验结果

经过DNAT之后的用户访问公网的网关即会跳转到内网的httpd服务中。pc1内网日志会显示访问的源公网IP


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号