1.火墙介绍
1.netfilter
2.iptables
3.iptables/firewalld
2.火墙管理工具的切换
在rehl8中默认使用的是firewalld
firewalld----->iptables
dnf install iptables-services.x86_64 -y
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable --now iptables
iptables---->firewalld
dnf install firewalld -y
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl unmask iptables
systemctl enable --now firewalld
firewalld--->iptables


iptables--->firewalld

3.iptables的使用
火墙策略的永久保存
/etc/sysconfig/iptables iptables策略记录文件
永久保存策略
iptables-save > /etc/sysconfig/iptables
service iptables save
4.火墙默认策略
默认策略中的5条链
INPUT 输入
OUTPUT 输出
FORWARD 转发
POSTROUTING 路由之后
PREROUTING 路由之前
默认三张表
filter 经过本机内核的数据(input output forward)
nat 不经过内核的数据(postrouting prerouting input output )
mangle 当filter和nat表不够用时使用(input output forward postrouting prerouting)
iptables命令
iptables
-t 指定表名称
-n 不做解析
-L 查看
-A 添加策略
-p 协议
--dport 目的地端口
-sport 来源端口
-s 来源
-j 动作
ACCEPT 允许
DROP 丢弃
REJECT 拒绝
SNAT 源地址转换
DNAT 目的地地址转换
-N 新建链
-E 更新链名称
-X 删除链
-D 删除规则
-I 插入规则
-R 更改规则
-P 更改默认规则
iptables -t filter -A INPUT -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 20 -j ACCEPT
iptables -t filter -N lue 新建链
iptables -t filter -E lue LUE
iptables -t filter -X LUE
iptables -D INPUT 3
iptables -I INPUT 3 -s 172.25.254.10 -j ACCEPT
iptables -R INPUT 4 -p tcp --dport 27 -j ACCEPT
iptables -P INPUT DROP
数据包状态
RELATED 建立过连接的
ESTABLISHED 正在连接的
NEW 新的
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
iptables -A INPUT -s 172.25.254.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -j REJECT
nat表中的dnat snat
实验环境:两台单网卡主机,一台双网卡主机



snat
iptables -t -A POSTROUTING -o ens192 -j SNAT --to-source 192.168.43.10
dnat
iptables -t -A PREEOUTING -i ens192 -j DNAT --to-dest 172.25.254.10
####firewalld#####
1.firewalld的开启
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl unmask iptables
systemctl enable --now firewalld
2.关于firewalld的域
trusted 接受所有的网络连接
home 用于家庭网络,允许接受ssh mdns ipp-client sama-client dhcp-client
work 工作网络 ssh ipp-client dhcp-client
public 公共网络 ssh dhcp-client
dmz 军机网络 ssh
block 拒绝所有
drop 丢弃 所有数据全部丢弃无任何回复
internal 内部网络 ssh mdns ipp-client sama-client dhcp-client
external ipv4 网络地址伪装转发 sshd
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 --remove-service=http 移除服务
firewall-cmd --permanent --add-source=172.25.254.10 --zone=block
firewall-cmd --reload 指定数据来源访问指定域
firewall-cmd --permanent --remove-source=172.25.254.10 --zone=block
firewall-cmd --reload 删除自定域中的数据来源
firewall-cmd --remove-interface=ens160 --zone=public 删除指定域的网络接口
firewall-cmd --add-interface=ens160 --zone=block 添加指定域的网络接口
irewall-cmd --change-interface=ens160 --zone=block 更改网络接口到指定域
firewall-cmd --state 查看火墙状态
firewall-cmd --get-active-zones 查看当前火墙中生成的域
firewall-cmd --get-default-zone 查看默认域
firewall-cmd --list-all 查看默认域中的火墙策略
firewall-cmd --set-default-zone=trusted 设定默认域
firewall-cmd --remove-service=http 移除服务
firewall-cmd --permanent --add-source=172.25.254.10 --zone=block
firewall-cmd --reload 指定数据来源访问指定域
firewall-cmd --permanent --remove-source=172.25.254.10 --zone=block
firewall-cmd --reload 删除自定域中的数据来源
firewall-cmd --remove-interface=ens160 --zone=public 删除指定域的网络接口
firewall-cmd --add-interface=ens160 --zone=block 添加指定域的网络接口
irewall-cmd --change-interface=ens160 --zone=block 更改网络接口到指定域
5.firewall的高级规则
firewall-cmd --direct --get-all-rules 查看高级规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.20 -p tcp --dport 22 -j ACCEPT
6.firewall的NAT
SNAT
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
DNAT
firewall-cmd --permanent --add-forward-port=port=22;proto=tcp;toaddr=172.25.254.20firewall-cmd --reload
本文详细介绍iptables与firewalld的使用方法,包括火墙策略的永久保存、默认策略、iptables命令详解,以及firewalld的域设定、管理命令、高级规则和NAT配置。适合系统管理员和网络工程师参考。






































1万+

被折叠的 条评论
为什么被折叠?



