1.火墙介绍
1.netfilter
2.iptables
3.iptables|firewalld
2.火墙管理工具切换
在rhel8中默认使用的是firewalld
firewalld----->iptables
dnf install iptables-services -y
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable --now iptables
iptales -------> fiewalld
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl enable --now firewalld
#####3. iptables 的使用 ####
#火墙策略的永久保存#
/etc/sysconfig/iptables ##iptables 策略记录文件
永久保存策略
iptales-save > /etc/sysconfig/iptables
service iptables save
####4.火墙默认策略####
默认策略中的5条链
input ##输入
output ##输出
forward ##转发
postrouting ##路由之后
prerouting ##路由之前
默认的3张表
filter 经过本机内核的数据(input output forward)
nat 不经过内核的数据(postrouting,prerouting,input,output)
mangle ##当filter和nat表不够用时使用(input output forward postrouting,prerouting,)
iptables命令
数据包状态
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT建立过连接的,正在连接的,都允许
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT新的回环接口允许
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW ! -s 192.168.0.10 -p tcp --dport 22 -j ACCEPTsshd允许
ptables -A INPUT -m state --state NEW -j REJECT
service iptables save
nat表中的dnat snat
snat
iptable -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.122.186
dnat
iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.15
##2.关于firewalld的域 ##
##3.关于firewalld的设定原理及数据存储 ##
/etc/firewalld ##火墙配置目录
/lib/firewalld ##火墙模块目录
##4. firewalld的管理命令 ##
firewall-cmd --state ##查看火墙状态
firewall-cmd --get-active-zones ##查看当前火墙中生效的域
firewall-cmd --get-default-zone ##查看默认域
firewall-cmd --list-all ##查看默认域中的火墙策略
firewall-cmd --list-all --zone=work ##查看指定域的火墙策略
firewall-cmd --set-default-zone=trusted ##设定默认域
firewall-cmd --get-services ##查看所有可以设定的服务
firewall-cmd --permanent --remove-service=cockpit ##移除服务
firewall-cmd --reload
firewall-cmd --permanent --add-source=172.25.254.5/24 --zone=work ##指定数据来源访问指定域
firewall-cmd --reload
firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block ##删除自定域中的数据来源
firewall-cmd --permanent --remove-interface=ens3 --zone=public ##删除指定域的网络接口
firewall-cmd --permanent --add-interface=ens3 --zone=public ##添加指定域的网络接口
firewall-cmd --permanent --change-interface=ens224 --zone=public ##更改网络接口到指定域
5. firewalld的高级规则 ##
firewall-cmd --direct --get-all-rules ##查看高级规则
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 80 -s 172.25.254.5 -j REJECT
firewall-cmd --reload
6.firewalld中的NAT
SNAT
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
sysctl -a | grep ip_forwardw -i #此时可以观察到进入主机192.168.1.113的是192.168.1.116
DNAT
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=192.168.122.186
firewall-cmd --reload