Linux:iptables防火墙
- 一、SNAT策略及应用
- 1.1 SNAT原理
- 1.2 SNAT应用
- 二、DNAT策略及应用
- 2.1 DNAT原理
- 2.2 DNAT应用
一、SNAT策略及应用
1.1 SNAT原理
- SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet(私有不能在Internet中正常路由)。
- SNAT原理:修改数据包的源地址。
- SNAT转换前提条件:
1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址
2.Linux网关开启IP路由转发
1.2 SNAT应用
- 准备三台主机模拟外网服务器,内网主机和网关服务器
- 提醒:三台模拟机都需要关闭防火墙和清空iptables防火墙中的规则
systemctl stop firewalld或者systemctl enable --now firewalld
setenforce 0
iptables -F && iptables -t nat -F #安装并启动以后查看,如果有就清除再添加新规则
- 第一步:设置外网服务器
- 第二步:处理内网主机
- 第三步:处理服务器网关
- 关闭防火墙和安装iptables防火墙服务,清空并添加新规则
systemctl enable --now firewalld
setenforce 0
yum install -y iptables iptables-servce
iptables -F && iptables -t nat -F
- 第四步:验证内网主机访问外网服务器
查看外网主机日志文件
一个IP地址做SNAT转换,一般可以让内网 100到200 台主机实现上网。
二、DNAT策略及应用
2.1 DNAT原理
- DNAT 应用环境:在Internet中发布位于局域网内的服务器
- DNAT原理:修改数据包的目的地址。
- DNAT转换前提条件:
1.局域网的服务器能够访问Internet
2.网关的外网地址有正确的DNS解析记录
3.Linux网关开启IP路由转发
2.2 DNAT应用
- 准备三台主机模拟外网主机,内网服务器和网关服务器
- 提醒:三台模拟机都需要关闭防火墙和清空iptables防火墙中的规则
systemctl stop firewalld或者systemctl enable --now firewalld
setenforce 0
iptables -F && iptables -t nat -F #安装并启动以后查看,如果有就清除再添加新规则
- 第一步:修改网关服务器
- 第二步:内网服务器安装阿帕奇服务
- 第三步:修改外网网卡等
- 第四步:将外网访问内网的IP地址转换为内网IP进行访问
- 注意:使用DNAT时,同时还有配合SNAT使用,才能实现响应数据包的正确返回
tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.80.0/24 -w ./target.cap
tcp: ip icmp arp rarp 和 tcp、udp、icmp这些协议选项等都要放到第一个参数的位置,用来过滤数据包的类型
-i ens33: 只抓经过接口ens33的包
-t:不显示时间戳
-s 0:抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据
-c 100:只抓取100个数据包
dst port !22:不抓取目标端口是22的数据包
src net 192.168.1.0/24 :数据包的源网络地址为192.168.1.0/24
-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
- DNAT是把私网的端口映射到公网当中,所以只有通过抓包来实现验证,可以通过 sz 文件名 拖到Windows中用wireshark进行分析