firewall-cmd命令

本文详细介绍了如何在CentOS系统中使用firewall-cmd命令来管理防火墙,包括查看防火墙状态、设置服务和端口、添加和删除规则、启用和关闭端口以及设置富规则。此外,还涵盖了端口转发、禁止ping操作以及根据IP地址设定访问权限等高级操作。
摘要由CSDN通过智能技术生成

firewall-cmd命令


查看防护墙状态

[root@node ~]# firewall-cmd --state
running
[root@node ~]# systemctl stop firewalld
[root@node ~]# firewall-cmd --state
not running
[root@node ~]# systemctl start firewalld

查看防火墙信息

[root@node ~]# firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports: 8080/tcp 8081/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

查看开放端口

[root@node ~]# firewall-cmd --list-port
8080/tcp 8081/tcp
查看防火墙规则
[root@node ~]# firewall-cmd --list-rich

查看某一端口是否放开

[root@node ~]# firewall-cmd --query-port=8081/tcp
yes

查看富规则rich rules

[root@node ~]# firewall-cmd --list-rich-rules

临时添加开放端口,执行reload后消失

[root@node ~]# firewall-cmd --add-port=8082/tcp
success

永久添加开放端口,执行reload后生效
更新防火墙规则:# firewall-cmd --reload
# firewall-cmd --complete-reload
两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务

[root@node ~]# firewall-cmd --permanent --add-port=8081/tcp
success
[root@node ~]# firewall-cmd --reload
success

临时关闭某一端口

[root@node ~]# firewall-cmd --remove-port=999/tcp

永久关闭某一端口

[root@node ~]# firewall-cmd --permanent --remove-port=999/tcp

获取所有支持的服务

[root@node ~]# firewall-cmd --get-services
[root@node ~]# firewall-cmd --list-services

临时增加服务

[root@node ~]# firewall-cmd --add-service=https
success
[root@node ~]# firewall-cmd --query-service=https
yes
[root@node ~]# firewall-cmd --reload
success
[root@node ~]# firewall-cmd --query-service=https
no

临时删除服务

[root@node ~]# firewall-cmd --query-service=https
yes
[root@node ~]# firewall-cmd --remove-service=https
success
[root@node ~]# firewall-cmd --query-service=https
no
[root@node ~]# firewall-cmd --reload
success
[root@node ~]# firewall-cmd --query-service=https
yes

永久增加服务

[root@node ~]# firewall-cmd --permanent --add-service=http
success
[root@node ~]# firewall-cmd --reload
success
[root@node ~]# firewall-cmd --query-service=http
yes

永久删除服务

[root@node ~]# firewall-cmd --permanent --remove-service=ssh
success
[root@node ~]# firewall-cmd --reload
success
[root@node ~]# firewall-cmd --query-servicessh
no

禁ping

[root@node ~]firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'

允许10.0.0.1主机能够访问http服务

[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1 service name=http accept'
​```
允许172.16.1.0/24能访问10050端口
```shell
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 port port=111 protocol=tcp accept'Copy to clipboardErrorCopied

允许public区域所有访问ssh,拒绝172.16.1.0/24网段连接

[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh reject'

允许public区域所有访问ssh,拒绝172.16.1.0/24网段连接

[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh drop'

#drop和reject区别:
drop 直接丢弃,不返回任何内容
reject拒绝,返回拒绝的内容Copy to clipboardErrorCopied

当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.7的22端口

#端口转发

[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1 forward-port port=5555 protocol=tcp to-port=22 to-addr=172.16.1.7'
success
[root@web02 ~]# firewall-cmd --add-masquerade 
successCopy to clipboardErrorCopied

#在指定zone中添加规则

[root@node ~]# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="10.45.2.35" accept' --permanent
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值