firewalld防火墙简介
1.防火墙
防火墙,其实就是一个隔离工具:工作于主机或者网络的边缘
对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配检测,
对于能够被规则所匹配的报文做出相应处理的组件(这个组件可以是硬件,也可以是软件)
主机防火墙:1->2->5->6
网络防火墙:1->3->4->6
2.四表五链
1)功能(也叫表)
filter:过滤,防火墙
nat:network address translation,网络地址转换
mangle:拆分报文,做出修改,在封装起来
raw:关闭nat表上启用的连接追踪功能
2)链
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
3)各功能可以在哪些表上实现
filter: INPUT,FORWARD,OUTPUT
nat:PREROUTING(DNAT),OUTPUT,INPUT,POSTROUTING(SNAT)
mangle: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
raw:PREROUTING,OUTPUT
4)添加规则时的考量点
(1)要实现什么功能:判断添加在哪张表上;
(2)报文流经的路径:判断添加在哪个链上;
5)firewalld优先级
策略应用优先级:raw, mangle, nat, filter
策略常用优先级:filter,nat,mangle,raw
3.iptables命令
-L 列出指定链上的所有规则
-t 指定表,默认为filter
-n 以数字格式显示地址和端口号
-v 显示详细信息
--line-number 显示规则编号
-F 清空规则链,省略链表示清空指定表上的所有链
-N 创建新的自定义规则链
-X 删除用户自定义的空的规则链
-P 指定链的默认策略,包括accept、drop
-A 将新规则追加至指定链的尾部
-I 将新规则插入链的指定位置
-D 删除指定链上的指定规则
4.匹配规则
-s 指定源ip(也可以指定网段)
-d 指定目标ip(也可以指定网段)
-p 指定协议
--dport 指定端口
-j jump至指定的targrt
-j target:jump至指定的target
ACCEPT:接受
DROP:丢弃
REJECT:拒绝
RETURN:返回调用链
REDIRECT:端口重定向
LOG:记录日志
MARK:做防火墙标记
DNAT:目标地址转换
SNAT:源地址转换
MASQUERADE:地址伪装
5.防火墙规则实例
清空所有策略: iptables -F
清空自定义链: iptables -X
自定义一个链 iptables -N old_forward
修改自定义链的名字 iptables -E old_forward new_forward
把filter中forward链的默认策略打成drop iptables -P FORWARD DROP
查看filter表中的策略并且显示行数: iptables -L -n --line-number
删除filter表中forward链中的第9条策略: iptables -t filter -D FORWARD 9
限制所有主机(0.0.0.0)拒绝ping本主机
iptables -t filter -A INPUT -s 0.0.0.0 -d 192.168.254.24 -p icmp -j REJECT
显示所有主机(0.0.0.0)拒绝通过ens33网卡ping本主机
iptables -t filter -A INPUT -d 192.168.254.24 -i ens33 -p icmp -j REJECT
设置转发规则使内网主机可以访问外网主机
iptables -t nat -A POSTROUTING -s 192.168.200.2 -d 172.16.100.2 -p tcp --dport 80 -j SNAT --to-source 172.16.100.1:80
防火墙也可以用于端口转发