knowledge/linux/centos7防火墙.md
2021-11-25 15:51:36 +08:00

2.4 KiB
Raw Blame History

centos7防火墙操作


centos7默认使用firewall作为防火墙iptables仍然有效

查看防火墙服务状态

firewall-cmd --state

启动、关闭、状态

# 查看状态
systemctl status firewalld
# 启动
systemctl start firewalld
# 停止
systemctl stop firewalld
# 重启
systemctl restart firewalld
# 禁卡开机启动
systemctl disable firewalld
# 开机启动
systemctl enable firewalld

端口操作

# 查看已经打开的端口
firewall-cmd --list-ports
# 查看当前所有配置(包括端口、服务等所有)
firewall-cmd --list-all
# 查看firewall所有可识别的服务
firewall-cmd --get-service
# 查看端口是否开通如果开的是服务直接查端口有可能会是no
firewall-cmd --query-port=22/tcp
# 查看服务是否开通
firewall-cmd --query-service=ssh
# 开放某个端口(permanent是永久生效)
firewall-cmd --permanent --add-port=80/tcp
# 开放某段端口范围
firewall-cmd --permanent --add-port=5000-6000/tcp
# 关闭某个端口
firewall-cmd --permanent --remove-port=80/tcp
# 开放某个服务(的默认端口)
firewall-cmd --permanent --add-service=http
# 关闭某个服务(的默认端口)
firewall-cmd --permanent --remove-service=http
# 对指定IP开放相当于白名单
firewall-cmd --permanent --add-source=192.168.1.100
# 对指定IP段开放相当于白名单
firewall-cmd --permanent --add-source=192.168.1.0/24
# 移除某IP
firewall-cmd --permanent --remove-source=192.168.1.100

复杂操作

# 允许指定IP访问本机指定端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'
# 允许指定IP段访问本机端口范围
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
# 禁止指定IP访问本机指定端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" reject'
# 屏蔽某个IP的所有请求
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=103.145.13.92 reject'

配置生效

任何操作执行完成后,都需要重新装载或重启服务以使其生效:

firewall-cmd --reload
# 或
service firewalld restart
# 或
systemctl restart firewalld