Linux - firewalld

  • Linux防火墙是通过netfiter来处理的,它是内核级别的框架。
  • firewalld是最新的netfiter用户态抽象层。firewalld可以通过定义的源IP和网络接口将入站流量分类到不同区域(zone)。每个区域基于指定的准则按自己配置去通过或拒绝包。firewalld通过使用服务名而不是它的端口和协议去指定服务,使它更易于使用。

firewalld状态查看

启动:systemctl start firewalld
查看状态:systemctl status firewalld
停止:systemctl disable firewalld
禁用:systemctl stop firewalld
重启:systemctl restart firewalld

firewalld区域

在不同区域下可以设置不同的防火墙策略,以便在需要的时候可以实现快速切换
使用频繁的区域:drop、block、public、trusted

drop:丢弃
block:阻止
public:公共(默认)
external:外部网络
dmz:管制区
work:工作
home:家庭
internal:内部网络
trusted:受信任

常见使用场景

//切换区域
firewall-cmd --set-default-zone=trusted/drop/block/public
//查看当前firewalld配置信息
firewall-cmd --list-all
//查看是否拒绝
firewall-cmd --query-panic
//拒绝所有包
firewall-cmd --panic-on
//取消拒绝状态
firewall-cmd --panic-off
  • service
//暂时开启http服务
firewall-cmd --add-service=http
//临时场景协议永久生效 ,需要reload一遍才能生效
firewall-cmd --add-service=协议 --permanent
//firewall的刷新
firewall-cmd --reload
//查询服务启用状态
firewall-cmd --query-service 协议(http\https\ftp\tcp...)
//开放mysql端口
firewall-cmd --add-service=mysql
//阻止http端口
firewall-cmd --remove-service=http
//查看开放的服务
firewall-cmd --list-services
//查看定义的协议
firewall-cmd --get-services
//允许服务通过在设定时间
firewall-cmd --add-service=http --timeout=20s/m/h
  • port
//添加80端口
firewall-cmd --add-port=80/tcp
//删除80端口
firewall-cmd --remove-port=80/tcp
//永久开放80端口
firewall-cmd --zone-=public --add-port=80/tcp --permanent
富规则
  • 富规则优势:支持五元组 普通add-servrice/port只能支持端口或者协议
  • 语法:firewall-cmd --add-rich-rule ‘rule’
//添加指定IP访问特定端口规则
firewall-cmd --permenent --add-rich-rule 'rule family=ipv4 source address=192.168.102.140 port port=80 protocol=tcp accept'
//删除指定某个Ip访问特定端口规则
firewall-cmd --permenent --remove-rich-rule "rule family="ipv4" source address="192.168.102.140" port port="80" protocol="tcp" accept"
//禁止某个ip访问
iptables -I INPUT -s 192.168.102.140 -j DROP
firewall-cmd --add-rich-rule 'rule family="ipv4" srouce address="192.168.102.140" drop'
端口转发
  • 检查本地80端口和目标端口是否开放监听
  • 要开启伪装IP
//允许防火墙伪装IP
firewall-cmd --add-masquerade   
//将8888端口流量转发至80
firewall-cmd --add-forward-port=port=8888:proto=tcp:toport=80

伪装IP已开启如图:
伪装IP已开启

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值