进一步了解防火墙
- 一、SNAT原理与应用
- 模拟实验
- 二、DNAT的原理与应用
- 模拟实验
- 三、抓包
- 四、防火墙规则的备份和还原
一、SNAT原理与应用
SNAT应用环境:局域网主机共享单个公网IP地址接入Internet(私有不能早Internet中正常路由)
SNAT原理:修改数据包的源地址
SNAT转换前提条件:
1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址
2.Linux网关开启IP路由转发
先设置服务端的IP
临时打开路由转发功能的命令是:
echo 1 > /proc/sys/net/ipv4/ip_forward
或者
sysctl -w net.ipv4.ip_forward=1
1是打开,0是关闭
但是服务器关闭之后就无法使用,可以使用永久打开
模拟实验
按照下图做一个小模拟实验
先设置三台服务器
先设置服务端服务器
安装httpd服务,修改网卡及网关
再设置客户端服务器
修改网卡以及网关即可
最后设置网关服务器
网关服务器需要两张网卡
配置客户端(内网)网卡
配置服务端(外网)网卡
别忘了关闭三台主机的防火墙与核心防护
这个时候客户端和服务端是都可以Ping的通网关服务器的两个网卡的
在网关服务器安装iptables服务
添加规则
在网关服务器里面添加内核配置文件
这个时候内网就可以直接ping通外网服务器了
设置SNAD转换
http的访问日志文件在 /etc/httpd/logs中
此时可以访问外网的网站
这个界面就代表我们已经进入外网的网站
这时我们可以在外网服务器上查询http的访问日志文件
二、DNAT的原理与应用
DNAT应用环境:在Internet中发布位于局域网内的服务器
DNAT原理:修改数据包的目的地址
DNAT转换前提条件:
1.局域网的服务器能够访问Internet
2.网关的外网地址有正确的DNS解析记录
3.Linux网关开启IP路由转发
注意:使用DNAT时,同时还有配合SNAT使用,才能实现响应数据包的正确返回
模拟实验
准备步骤与SNAT一样,先配置好三台服务器的网卡、关闭防火墙、修改核心文件、下载httpd、安装iptables等
添加规则
iptables -t nat -A PREROUTING -d 12.0.0.30 -i ens35 -p tcp --dport 8080 -j DNAT --to 192.168.136.30:80
用公网服务器访问公网网关就可以进入私网服务器
小知识扩展:
主机型防护墙主要用于INPUT、OUTPUT链,设置规则时一般要详细指定到端口
网络型防火墙主要用于FORWARD链,设置规则时很少去指定到端口,一般指定到IP地址或者到网段即可
三、抓包
格式:
tcpdump(命令) tcp(协议i) -i ens33指定网卡) -t(不显示时间戳) -s0(完整抓取) -c 100(只抓取100个包) and(且) dst port ! 22(除了22端口号的包) and(且) src net(指定数据包的源网络地址) 192.168.1.0/24(源网络地址) -w(保存成文件) /opt/123.cap(文件名称位置)
tcp:ip icmp arp rarp和tcp、udp、icmp这些协议选项等都要放到第一个参数的位置,用来过滤数据包的类型
-i ens33:之抓取接口ens33的包
-t:不显示时间戳
-s0:抓取数据包时默认的抓取长度为68字节。加上-s0后抓取完整的数据包
dst port ! 22:不抓取目标端口是22的数据包
src net 192.168.1.0/24:数据包的源网络地址为192.168.1.0/24
-w /opt/123.cap:保存成cap文件,方便用wireshark分析
使用xshell将保存的文件传到Windows电脑上,然后使用wireshark软件打开
四、防火墙规则的备份和还原
备份:
iptables-save > 文件路径和文件名
还原:
iptables-restore < 备份的文件路径