centos7 通过firewall-cmd命令添加防火墙白名单 。
查看防护墙状态
firewall-cmd --state
或
systemctl status firewalld
active (running)-->表示防火墙已经开启;inactive (dead)-->表示防火墙已经关闭
如果是图片这样就是关闭的
开关防火墙
-
启动防火墙:systemctl start firewalld.service
-
重启防火墙:systemctl restart firewalld.service
-
关闭防火墙:systemctl stop firewalld.service
-
设置开机启用防火墙:systemctl enable firewalld.service
-
设置开机禁用防火墙:systemctl disable firewalld.service
-
设置开机自启动:systemctl enable firewalld
防火墙常见配置
开放或限制服务器端口
(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)端口扩展操作
-
查看监听的端口:netstat -tunlp 注意:centos7默认没有netstat命令,需要安装net-tools工具,yum install -y net-tools
-
检查端口被哪个进程占用:netstat -lnpt | grep 80
-
查看进程的详细信息:ps 6832
-
中止进程:kill -9 6832
ip配置
查看策略列表:firewall-cmd --list-rich-rule
访问白名单可以通过两种方式进行设置:命令行操作或修改配置文件。
(1)命令行操作
-
只允许指定IP段访问服务器22端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="指定IP或IP段" port protocol="tcp" port="22" accept'
-
允许指定IP段访问服务器所有端口
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="指定IP或IP段" accept'
-
添加后执行重载 重新加载配置:firewall-cmd --reload
(2)修改配置文件
-
进入配置文件目录,编辑配置文件
# cd /etc/firewalld/zones # vim public.xml
-
配置文件添加内容,然后重启防火墙
<rule family="ipv4"> <source address="指定IP或ip段"/><port protocol="tcp" port="22"/><accept/></rule>
服务访问配置
列出放行的服务: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