文章目录
- [root@htpc ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: active (running) since 二 2020-03-01 12:09:46 CST; 1s ago Docs: man:firewalld(1) Main PID: 23398 (firewalld) Tasks: 2 Memory: 27.8M CGroup: /system.slice/firewalld.service └─23398 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid 当前状态可以通过 systemctl start 启动,systemctl stop 关闭。
- [root@htpc ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: dhcpv6-client ssh ports: 3306/tcp 80/tcp 443/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: 当前激活 zone 为 public,默认丢弃所有连接,关于九个 zone 的区别直接跳过了,有兴趣的看官方文档吧。
- 例如添加删除 8080 端口: firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --permanent --remove-port=8080/tcp 修改完成后通过 firewall-cmd --reload 加载配置。
- # 开放端口范围 $ firewall-cmd --add-port=8080-18080/tcp --permanent # 对指定端口开放 8080 端口 $ firewall-cmd --permanent --add-rich-rule=' rule family="ipv4" source address="192.168.3.108/32" port protocol="tcp" port="10000" accept' # 开放全部端口给IP $ firewall-cmd --permanent --add-rich-rule=' rule family="ipv4" source address="192.168.3.108/32" accept'; # 开放全部端口给网段 $ firewall-cmd --permanent --add-rich-rule=' rule family="ipv4" source address="192.168.0.0/16" accept';
CentOS 从 7 开始默认防火墙由 iptables 变成了 firewalld,没用过的会觉得非常别扭,所以简单整理一下常用操作。
[root@htpc ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since 二 2020-03-01 12:09:46 CST; 1s ago
Docs: man:firewalld(1)
Main PID: 23398 (firewalld)
Tasks: 2
Memory: 27.8M
CGroup: /system.slice/firewalld.service
└─23398 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
[root@htpc ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since 二 2020-03-01 12:09:46 CST; 1s ago
Docs: man:firewalld(1)
Main PID: 23398 (firewalld)
Tasks: 2
Memory: 27.8M
CGroup: /system.slice/firewalld.service
└─23398 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
当前状态可以通过 systemctl start 启动,systemctl stop 关闭。
[root@htpc ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: dhcpv6-client ssh
ports: 3306/tcp 80/tcp 443/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@htpc ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: dhcpv6-client ssh
ports: 3306/tcp 80/tcp 443/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
当前激活 zone 为 public,默认丢弃所有连接,关于九个 zone 的区别直接跳过了,有兴趣的看官方文档吧。
例如添加删除 8080 端口:
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --remove-port=8080/tcp
修改完成后通过 firewall-cmd --reload 加载配置。
# 开放端口范围
$ firewall-cmd --add-port=8080-18080/tcp --permanent
# 对指定端口开放 8080 端口
$ firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.3.108/32"
port protocol="tcp" port="10000" accept'
# 开放全部端口给IP
$ firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.3.108/32" accept';
# 开放全部端口给网段
$ firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.0.0/16" accept';
# 开放端口范围
$ firewall-cmd --add-port=8080-18080/tcp --permanent
# 对指定端口开放 8080 端口
$ firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.3.108/32"
port protocol="tcp" port="10000" accept'
# 开放全部端口给IP
$ firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.3.108/32" accept';
# 开放全部端口给网段
$ firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.0.0/16" accept';
发表回复