iptables 防火墙(二)

目录

前言

一、SNAT原理与应用

1、SNAT应用环境

2、SNAT原理

3、SNAT转换前提条件

4、NAT配置设置

5、SNAT转换

5.1  固定的公网IP地址

5.2  非固定的公网IP地址(共享动态IP地址)

二、DNAT原理与应用

1、DNAT应用环境

2、DNAT原理

3、DNAT转换前提条件

4、DNAT转换

4.1  发布内网的Web服务

4.2  发布时修改目标端口

三、实验

1、环境准备

1.1  给防火墙添加一块网卡,两块网卡改为VMnet 1

1.2  查看网卡

1.3  配置IP地址

1.4  设置防火墙规则

1.5  内网客户机设置

1.6  设置网卡

1.7  配置外部服务器

1.8  查看访问日志

2、防火墙shuai02配置SNAT

3、配置DNAT

4、设置防火墙DNAT

5、iptables规则保存

总结


前言

在实际生产应用中,防火墙的功能纷繁复杂,就像我们之前介绍的四表五链,以及数据包的流向,在实际应用中都是有着关键性的作用的。今天要介绍的SNAT和DNAT就是构建防火墙规则中几个个重要应用。

一、SNAT原理与应用

1、SNAT应用环境

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

2、SNAT原理

修改数据包的源地址(源地址转换)。

3、SNAT转换前提条件

局域网各主机已正确设置IP地址、子网掩码、默认网关地址;
Linux网关开启IP路由转发 ;

4、NAT配置设置

临时打开:
echo 1 > /proc/sys/net/ipv4/ip_forward
或sysctl -w net.ipv4.ip_forward=1
永久打开:
vim /etc/sysctl.conf #进入配置文件路径
net.ipv4.ip_forward = 1 #将此行写入配置文件
sysctl -p #读取修改后的配置

5、SNAT转换

5.1  固定的公网IP地址

iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j SNAT --to 12.0.0.1
或                            可换成单独IP   出站外网网卡            外网IP
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j SNAT --to-source 12.0.0.1-12.0.0.10                     内网IP      出站 外网网卡               外网IP或地址池

5.2  非固定的公网IP地址(共享动态IP地址)

iptables -t nat -A POSTROUTING -S 192.168.80.0/24-0 ens33 -j MASQUERADE

小知识扩展:一个IP地址做SNAT转换,一般可以让内网100到200台主机实现上网。

二、DNAT原理与应用

1、DNAT应用环境

在 Internet中发布位于局域网内的服务器

2、DNAT原理

修改数据包的目的地址。

3、DNAT转换前提条件

  • 局域网的服务器能够访问 Internet

  • 网关的外网地址有正确的Ds解析记录

  • Linux网关开启路由转发

    • vim /etc/sysctl. conf

    • net. ipv4. ip forward                                                               

      sysctl -p #读取修改后的配置 

4、DNAT转换

4.1  发布内网的Web服务

#把从ens33进来的要访问web服务的数据包目的地址转换为192.168.108.25
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.108.25

iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.108.25
入站 外网网卡 外网IP 内网服务器IP
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 80 -j DNAT --to 192.168.108.20-192.168.108.100

4.2  发布时修改目标端口

#发布局域网内部的OpenSSH服务器,外网主机需使用250端口进行连接
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 250 -j DNAT --to 192.168.108.25:22

#在外网环境中使用ssH测试
ssh -p 250 root@12.0.0.1
yum -y install net-tools

#若没有ifconfig命令可提前使用yum进行安装
ifconfig ens33
注意:使用DNAT时,同时还有配合SNAT使用,才能实现响应数据包的正确返回

小知识扩展:
主机型防火墙 主要使用 INPUT、OUTPUT 链,设置规则时一般要详细的指定到端口
网络型防火墙 主要使用 FORWARD 链,设置规则时很少去指定到端口,一般指定到IP地址或者到网段即可

三、实验

实验环境 :

准备三台 centos 7

shuai01作为内网客户机IP:192.168.138.10

shuai02作为中间防火墙双网卡IP:192.168.138.1

​ IP:12.0.0.1

shuai03作为外网服务器IP:12.0.0.12

1、环境准备

1.1  给防火墙添加一块网卡,两块网卡改为VMnet 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值