1.Firewalld概述
所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的边界上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。该计算机流入流出的所有网络通信和数据包均要经过此防火墙。
总体说来,iptables就是由“四表五链”组成。filter表中包括3条链,nat表中用5条链,mangle表中也有5条链。
2.火墙的两种管理方式
firewalld
systemctl status firewalld.service
systemctl start firewalld.service
systemctl stop firewalld.service
firewall-cmd --list-all
systemctl enable firewalld.service ##设置防火墙开机自启
systemctl disable firewalld ##设置防火墙开机不自启
systemctl mask firewalld ##锁定防火墙
systemctl unmask firewalld
iptables
dnf install iptables-services.x86_64 -y ##安装管理工具
systemctl start iptables.service
systemctl stop iptables.service
systemctl disable iptables.service
systemctl enable iptables.service
systemctl mask iptables.service
两种管理方式之间的切换操作如下:
3.iptables的使用
iptables火墙策略的永久保存
iptables-save > /etc/sysconfig/iptables
service iptables save
4.iptables常用参数的使用
iptables -t 指定参数列表 --dport 目的地端口
-n 不做解析 -s 来源
-L 查看 -j (ACCEPT DROP REJECT SNAT DNAT) 动作
-A 添加策略 -N 新建链
-p 协议 -E 更改链规则
-X 删除链 -D 删除规则
-I 插入规则 -R 更改规则
-P 更改默认规则
5.火墙读取方式即数据包的设定方式
iptables的读取方式是按顺序读取的,如下所示 若读取其中一条之后,其他的默认通不过。
数据包的状态的理解
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 设定火墙策略为可以接受已经通过火墙或者正在运 行的的服务
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT 设定火墙策略能接受新的服务
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT 设定火墙允许80端口通过
iptables -A INPUT -s 172.25.254.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT 设定火墙允许指定ip的主机访问22端口
iptables -A INPUT -j REJECT 火墙拒绝其他服务
问题:(1)在系统中设定火墙只允许访问dns httpd服务
(2)设定火墙只允许172.25.254.20连接sshd服务
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 172.25.254.20 -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -j REJECT
6.原地址转换(SNAT)和目的地转换(NDAT)
(1)原地址转换(SNAT)
两台主机之间进行地址转换,在双网卡主机中设定SNAT iptables -t nat -A POSTROUTING -o ens192 -j SNAT --to-source 192.168.1.20 做好设定之后 在另外一台主机中ping 114.114.114.114 此时相当于地址完成转换,单网卡主机访问的是双网卡主机上的地址,实验如下,
(2)目的地转换(NDAT)
目的地址转换 在双网卡主机上做好设定 iptables -t nat -A PREROUTING -i ens192 -j DNAT --to-dest 172.25.254.10 通过一台单网卡主机访问另一台单网卡主机时 中间的转换是通过双网卡主机。