1.查看firewalld.service服务状态

#查看firewalld.service服务状态
systemctl status firewalld

#查看firewall运行状态
firewall-cmd --state

centos7设置IP白名单 centos7添加防火墙ip白名单_网络

2.手动启动/重启/停止 firewalld.service服务

#启动
systemctl start firewalld
#重启
systemctl restart firewalld
#停止
systemctl stop firewalld

3.展示当前配置的firewall规则

#查看当前所有规则
firewall-cmd --list-all

#单独查看端口白名单列表
firewall-cmd --zone=public --list-ports

centos7设置IP白名单 centos7添加防火墙ip白名单_网络_02

centos7设置IP白名单 centos7添加防火墙ip白名单_linux_03

4.开放端口(端口段)

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 新建永久规则,开放8080端口(TCP协议),任何ip都可以访问
firewall-cmd --permanent --add-port=8080/tcp
# 移除上述规则
firewall-cmd --permanent --remove-port=8080/tcp
# 新建永久规则,批量开放一段端口(TCP协议)
firewall-cmd --permanent --add-port=9001-9100/tcp

#添加或者移除规则后重新加载firewall后配置才会生效
firewall-cmd --reload

centos7设置IP白名单 centos7添加防火墙ip白名单_linux_04

5.IP(IP段)的开放

# 新建永久规则,开放192.168.1.1单个源IP的访问
firewall-cmd --permanent --add-source=192.168.1.1
# 新建永久规则,开放192.168.1.0/24整个源IP段的访问
firewall-cmd --permanent --add-source=192.168.1.0/24
# 移除上述规则
firewall-cmd --permanent --remove-source=192.168.1.1

6.系统服务的开放

# 开放http服务
firewall-cmd --permanent --add-service=http
# 移除上述规则
firewall-cmd --permanent --remove-service=http

7.自定义复杂规则与移除(注意是否与已有规则冲突)

# 允许指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
# 允许指定IP段访问本机8080-8090端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
# 禁止指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'

#移除第一条规则(所有的移除规则基本都是add改成remove)
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'

8.任何修改操作,配置完成后,需要重新装载firewall。可重新启动firewalld服务。

#重新加载firewall
firewall-cmd --reload
#重启firewalld
systemctl restart firewalld

另附其他centos7  firewalld防火墙操作与说明

#禁用防火墙服务
systemctl mask firewalld

#恢复禁用防火墙服务
systemctl unmask firewalld

# 查看白名单端口列表
firewall-cmd --zone=public --list-ports

# 作用域
--zone

# 永久生效,没有此参数重启后失效
--permanent

#获取本机服务器的公网出口ip
curl http://myip.fireflysoft.net/

关于ssh端口爆破

学习使用FirewallD使用,是因为最近vultr的机器不停的被人尝试链接(爆破),每次登录都会提示之前有上万次失败登录,换了SSH端口还是会被扫到,执行命令卡的不行,巨难受。
解决办法:
1.设置防火墙白名单/黑名单
2.关闭网段访问
修改配置文件/etc/hosts.allow
使用如下的格式添加ssh访问权限,用于拒绝靶机进行远程ssh登录,提高ssh登录安全性。:

sshd:192.168.0.158:allow    #允许IP地址为192.168.0.158的主机使用ssh连接
sshd:192.168.0.*:allow      #允许IP地址段为:192.168.0.0/24的主机使用ssh连接
sshd:all:deny               #拒绝除允许地址之外的所有主机使用ssh连接