文章目录

  • SNAT策略概述
  • DNAT策略概述
  • 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.使用双网卡,分别作为内网和外网的网关

内网网关地址:192.168.10.1
外网网关地址:12.0.0.1

2.开启路由转发功能

在/etc/sysctl.conf文件中最后加入
net.ipv4.ip_forward=1
使用sysctl -p使其生效

3.将主机全部绑定在VMnet1网卡上形成局域网

4.检验内网的主机能否ping通192.168.10.1和12.0.0.1;外网主机能否ping通12.0.0.1

5.内网主机先测试能否访问http服务

查看网站服务器的日志文件/var/log/httpd/access_log,可以查到此时还是私网IP访问的

6.在防火墙服务器中编写SNAT转换规则,在nat表中的POSTROUTING链的开头加入规则:从私网192.168.10.10主机来的数据包从ens33外网网卡出去时,使用SNAT策略将源地址192.168.10.10转换成公网地址12.0.0.1

[root@firewalld ~]# iptables -t nat -I POSTROUTING -s 192.168.10.10 -o ens33 -j SNAT --to-source 12.0.0.1

7.内网主机再次访问外网的http服务,这时会发现客户端192.168.10.10地址访问外网apache服务时,地址会被转换成12.0.0.1

8.这时角色互换,内网现在有台apache服务器,外网一台主机要访问内网中的网站服务器。
未做DNAT策略时,外网无法通过12.0.0.1地址访问内网中的网站服务器
9.在防火墙服务器中编写DNAT转换规则,在nat表中的PREROUTING链的开头加入规则:将进入外网网卡的原来的目的地址12.0.0.1通过DNAT策略转换成192.168.10.10

[root@firewalld ~]# iptables -t nat -I PREROUTING -d 12.0.0.1 -i ens33 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.10

这时外网主机可以通过网关出接口地址来访问apache服务了

防火墙规则的备份和还原

将iptables规则保存到文件中进行备份:
iptables-save > /路径/名称

重新加载备份文件中的iptables规则:
iptables-restore < 备份文件的完整路径

SNAT和DNAT原理及配置方法相关推荐

  1. pap认证要交换几次报文_华为HCIA认证RS路由与交换 —— 链路状态协议OSPF PPP原理与配置方法详解...

    本文讲述了华为HCIA认证R&S路由与交换 -- 链路状态协议OSPF & PPP原理与配置方法.分享给大家供大家参考,具体如下: 文章目录 链路状态路由协议--OSPF 开放式最短路 ...

  2. 思科SPCCIE必考QOS流量整形traffic shaping原理及配置方法-ielab网络实验室

    思科SPCCIE必考QOS流量整形traffic shaping原理及配置方法-ielab网络实验室 流量整形(traffic shaping)典型作用是限制流出某一网络的某一连接的流量与突发,使这类 ...

  3. Linux系统的iptables防火墙、SNAT、DNAT原理与设置规则

    Linux的iptables防火墙.SNAT.DNAT 一.iptables概述 1.netfilter/iptables关系 2.四表五链 四表 五链 规则表之间的优先顺序 规则链之间的匹配顺序 二 ...

  4. SNAT和DNAT原理及应用

    目录 一.SNAT原理及应用 1:定义: 1.1;SNAT的典型应用环境: 1.2:SNAT策略的原理 2:SNAT策略的配置 2.1:SNAT转换前提条件 2.2:Linux网关开启IP路由转发 3 ...

  5. 详细分析SNAT和DNAT原理与应用

    SNAT原理与应用 一. SNAT原理的应用 1.1 原因环境和原理 1.2 开启SNAT的命令 1.3 SNAT转换 1.3.1 SNAT转换1∶固定的公网IP地址∶ 1.3.2 SNAT实验 1. ...

  6. SNAT与DNAT原理与应用

    1.DNAT 应用环境 在Internet中发布位于局域网内的服务器 2.DNAT原理 修改数据包的目的地址 3.DNAT转换前提条件 1.局域网的服务器能够访问Internet 2.网关的外网地址有 ...

  7. Linux网络深入DHCP、FTP原理和配置方法(详细图解)

    Linux网络DHCP.FTP原理和配置 一.DHCP服务 1.了解DHCP服务 2.使用DHCP的好处 3.DHCP的分配方式 4.DHCP的租约过程 1.客户机请求IP地址 2.服务器响应 3.客 ...

  8. MySQL主从复制的原理及配置方法(比较详细)

    MySQL 的数据库的高可用性的架构大概有以下几种:集群,读写分离,主备.而后面两种都是通过复制来实现的.下面将简单介绍复制的原理及配置,以及一些常见的问题 一.复制的原理 MySQL 复制基于主服务 ...

  9. OSPF协议原理与配置方法

    一.OSPF协议原理 OSPF是一种基于链路状态的路由协议,它从设计上就保证了无路由环路.它支持区域的划分,区域内部的路由器使用SPF最短路径算法保证了区域内部的无环路.同时它还利用区域间的连接规则保 ...

最新文章

  1. Spring事务配置探究
  2. 在PHP里使用 ImageMagick 生成 base64 图片
  3. mysql 学习笔记 11过程控制
  4. css动画详解 (transition animation)
  5. 了解NearPy,进行快速最近邻搜索
  6. 交换机两个链路相连一些设置
  7. 为什么在python中整数的值没有限制_为什么在Python中整数是不可变的?
  8. AdobeFlashPlayer:GPU加速原理解析
  9. 详解 欧拉角与四元数
  10. 小程序倒计时,刷新页面不重置
  11. Java String 类型编码转换
  12. kettle简单的更新与插入
  13. 从USGS Earth Explorer网站查找和下载MODIS数据
  14. ROS实验笔记之——基于ArUco Marker来估算camera的位姿
  15. java开发linux常用命令
  16. PHP孟加拉钢厂_昆钢推进孟加拉国、柬埔寨、缅甸钢铁国际产能合作示范园区建设...
  17. Practical Machine Learning with H2O.2016.12
  18. 指纹识别的原理与优势
  19. 自编码器(autoencoder)了解一下
  20. 计算机网络自顶向下第一章知识点总结(上)

热门文章

  1. 博学谷python_博学谷 python
  2. 搭建redis的步骤
  3. 在亚马逊能接到服装订单吗?亚马逊美国站突然没订单怎么办?
  4. 使用WifiPhisher进行WiFi开发
  5. I Try - Macy Gray
  6. 澄清 | snappy压缩到底支持不支持split? 为啥?
  7. alertmanager设置告警邮件的邮件头/邮件模板
  8. VGGNet结构分析
  9. stream流的应用与并行流
  10. python人工智能学习需要学什么?