Linux网络服务与shell脚本——Linux防火墙(2)
第十二章 Linux防火墙(2)
一、SNAT策略及应用
1、SNAT策略概述
通过地址转换实现内网IP访问外网IP,类似于路由器的多路复用功能。
2、SNAT策略应用
(1)开启网关的路由转发功能
①修改/etc/sysctl.conf文件net.ipv4.ip_forward=1
②读取配置:sysctl -p
(2)设置SNAT策略
①iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 192.168.11.158
②iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o-eth0 -j MASQUERADE:动态地址转换
(3)检查FORWARD中的filter是否允许相关数据及端口通过
①iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
②iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
二、DNAT策略及应用
1、DNAT策略概述
通过地址转换实现内网端口映射
2、DNAT策略应用
(1)开启网关的路由转发功能
(2)设置DNAT策略
①iptables -t nat -A PREROUTING -d 192.168.11.158 -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.157:80
(3)检查FROWARD的filter是否允许相关数据通过
三、规则的导出导入
1、iptables-save:打印当前iptables规则
(1)iptables-save > /opt/iptables.txt
2、iptables-restore:加载文件中的iptables规则
(1)iptables-restore < /opt/iptables.txt
3、/etc/sysconfig/iptables:记录默认iptables规则(可修改默认规则)
(1)service iptables save:保存当前规则到默认配置
四、防火墙脚本
1、定义基本变量:内外网接口及IP、内网网段、iptables命令、modprode命令、sysctl命令等
2、加载内核模块
3、调整/porc参数
4、清空原有规则
5、配置规则
五、firewalld防火墙
1、区域的概念
(1)firewall可根据数据包的源IP或传入的网络接口欧条件等,将流量传入相应区域,每个区域定义了自己打开或关闭的端口和服务列表
2、字符管理工具
3、实例(SNAT/DNAT)
(1)将两个网络接口分别制定到两个区域
①firewall-cmd --add-interface=ens33 --zone=dmz
②firewall-cmd --add-interface=ens34 --zone=work
(2)为dmz及work添加http及dns服务
①firewall-cmd --add-service=http --zone=dmz --permanent
②firewall-cmd --add-service=dns --zone=dmz --permanent
③firewall-cmd --add-service=http --zone=work --permanent
④firewall-cmd --add-service=dns --zone=work --permanent
(3)为dmz开启伪装(SNAT)
①firewall-cmd --add-masquerade --zone=dmz --permanent
(4)为dmz设置端口转发
①firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.157 --zone=dmz --permanent
(5)重新加载防火墙
①firewall-cmd --reload