SNAT与DNAT的基本概念与配置

一、SNAT策略概述

原理:源地址转换,修改数据包中的源IP地址
作用:可以实现局域网共享上网
配置的表及链:nat表中的POSTROUTING

企业内部的主机A想访问互联网上的主机C,首先将请求数据包(源:ipA,目标:ipC)发送到防火墙所在主机B,B收到后将数据包源地址改为本机公网
网卡的ip(源:ipA,目标:ipB),然后经互联网发送给C;C收到后将回应包(源:ipC,目标:ipB)转发给C的路由器,经互联网将回应包转发给B,
B收到回应包后修改其目的地址,即回应包改为(源:ipC,目标:ipA)然后将数据包转发给A。在这个过程中,修改了请求报文的源地址,叫做SNAT
(source NAT POSTROUTING),用于局域网访问互联网。

注意:
不能在防火墙B的PREROUTING链上设置转换源地址的防火墙策略,因为若在B的PREROUTING链上设置转换源地址的防火墙策略,此时还未检查路由表,还不知道要到达数据包中目标主机需经过本机的哪个网卡接口,即还不知道需将源地址替换为哪个公网网卡的ip,需在POSTROUTING设置转换源地址的防火墙策略。

二、DNAT概述

原理:修改数据包中的目标IP地址
作用:将位于企业局域网中的服务器进行发布
配置在nat表中的PREROUTING链上

互联网主机C想访问企业内部的web服务器A,但A的地址是私有地址,无法直接访问。此时,C可以访问防火墙的公网地址,C的请求数据包(源:ipC,目标:ipB)到达防火墙B后,在B的prerouting上将请求数据包的目标地址进行修改,并将数据包(源:ipC,目标:ipA)发送给A。A收到后进行回复发送响应包(源:ipA,目的ipC)到防火墙,防火墙收到后对数据包源地址进行修改,并将响应包(源:ipB,目标:ipC)给C。利用这种机制可以将企业内部的服务发布到互联网。
在这个过程中,修改了请求报文的目标地址,叫做DNAT(destination NAT POSTROUTING),用于互联网访问局域网。

注意:
必须在防火墙的prerouting上设置修改目标地址的防火墙策略,因为若不在此处修改,请求数据包通过prerouting和路由表后,由于目标主机是本机,就会将数据包发往input,进而被发往本地进程。

三、SNAT和DNAT的配置

1.实验环境

 内网web服务器:192.168.100.200(CentOS7.6系统)
 内网出口防火墙:192.168.100.20012.0.0.1(CentOS7.6系统两块网卡分别做内网    和外网的网关)
 外网web服务器:12.0.0.2(CentOS7.6系统)

2.实验要求

1、内网web服务器经过防火墙nat地址转换之后可以访问外网服务器的web服务
2、外网web服务器经过防火墙nat地址转换之后可以访问内网服务器的web服务

3.实验准备

关闭所有主机的Firewalld服务,安装iptables-server,开启iptables防火墙,
清空所有规则,内网和外网web服务器安装httpd服务并开启

4.实验步骤

要让内网服务器可以访问外网,第一步需要开启防火墙这台服务器的路由转发功能,相当于把这台linux服务器当做
是一个路由器来使用,第二步需要在防火墙的出接口做nat地址转换,将内网的ip转换成出接口的ip地址,这样,
访问外网网页的时候其实外网服务器并不感知内网ip

实际配置:
防火墙上,开启防火墙服务器的路由转发功能:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置防火墙规则SNAT:
[root@firewall ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens36 -j SNAT --to-source 12.0.0.1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

错误路径:
    apache的访问日志路径:/var/log/httpd/access_log
    apache的错误日志路径:/var/log/httpd/error_log

再配置一条外网经过防火墙的规则(DNAT):
[root@firewall ~]# iptables -t nat -A PREROUTING -d 12.0.0.1 -i ens36 -j DNAT --to-destination 192.168.100.200

在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值