centos7 通过firewall-cmd命令添加防火墙白名单 。
1、查看防护墙状态
firewall-cmd --state
或
systemctl status firewalld
active (running)-->表示防火墙已经开启;inactive (dead)-->表示防火墙已经关闭
2、开关防火墙
启动防火墙:systemctl start firewalld.service
重启防火墙:systemctl restart firewalld.service
关闭防火墙:systemctl stop firewalld.service
设置开机启用防火墙:systemctl enable firewalld.service
设置开机禁用防火墙:systemctl disable firewalld.service设置开机自启动:systemctl enable firewalld
3、开放或限制服务器端口
(1)查看防火墙端口
查看开放的端口:firewall-cmd --list-ports
查询防火墙所有规则:firewall-cmd --list-all
(2)开放或限制端口
开放80端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
关闭80端口:firewall-cmd -zone=public --remove-port=80/tcp --permanent
配置立即生效:firewall-cmd --reload
备注:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数ze重启后失效
(3)端口扩展操作
1. 查看监听的端口:netstat -tunlp
注意:centos7默认没有netstat命令,需要安装net-tools工具,yum install -y net-tools2. 检查端口被哪个进程占用:netstat -lnpt | grep 80
3. 查看进程的详细信息:ps 6832
4. 中止进程:kill -9 6832
4、服务器配置访问白名单
查看策略列表:firewall-cmd --list-rich-rule
访问白名单可以通过两种方式进行设置:命令行操作或修改配置文件。
(1)命令行操作
1. 只允许指定IP段访问服务器22端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="指定IP或IP段" port protocol="tcp" port="22" accept'2. 允许指定IP段访问服务器所有端口
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="指定IP或IP段" accept'
3. 添加后执行重载
重新加载配置:firewall-cmd --reload
(2)修改配置文件
1. 进入配置文件目录,编辑配置文件
# cd /etc/firewalld/zones
# vim public.xml2. 配置文件添加内容,然后重启防火墙
<rule family="ipv4">
<source address="指定IP或ip段"/>
<port protocol="tcp" port="22"/>
<accept/>
</rule>
5、服务访问配置
查询服务:firewall-cmd --list-service
列出放行的服务:firewall-cmd --get-services
查看ftp服务是否支持(返回yes或no):firewall-cmd --query-service ftp
永久移除ftp服务:firewall-cmd --permanent --remove-service=ftp
永久开放ftp服务:firewall-cmd --permanent --add-service=ftp
临时开放ftp服务:firewall-cmd --add-service=ftp
6、扩展
列出支持的zone:firewall-cmd --get-zones
查看帮助:man firewall-cmd