最近在阿里云服务器centos7上部署项目 要开启8484端口 , CentOS 7默认使用的是firewall作为防火墙 在firewall下开启端口白名单
systemctl stop firewalld 关闭 systemctl disable firewalld 开机不启永久关闭
1.查看下防火墙的状态:systemctl status firewalld
需要开启防火墙 systemctl start firewalld.service
firewall-cmd --zone=public --list-ports ##查看已开放的端口
2.添加8484端口到白名单 执行
firewall-cmd --permanent --zone=public --add-port=8484/tcp
提示 success 表示成功
命令含义
--zone #作用域
--add-port=8484/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3.重启防火墙:添加成功之后需要重启防火墙
firewall-cmd --reload
4.测试
其他常用命令:
firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
firewall-cmd --remove-port=80/tcp --permanent ##永久添加80端口
firewall-cmd --zone=public --list-ports ##查看已开放的端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd
有的时候还要设置 SeLinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/configsetenforce 0
vi /etc/security/limits.conf
root soft nofile 65535
root hard nofile 65535
需求:正常情况是服务开启3306端口,但是现在是 只想让某个ip访问3306,也就是3306只给固定的IP开放,然后别的ip就扫码不到
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.11.169" port protocol="tcp" port="3306" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.11.8" port protocol="tcp" port="3306" accept"
firewall-cmd --list-all ##查看全部
firewall-cmd --reload