Firewalld 防火墙常用命令收集
CentOS7 的防火墙由 iptables 换成了 firewalld,
查看 firewalld 状态:systemctl status firewalld.service
关闭 firewalld:systemctl stop firewalld.service
配置文件:/etc/firewalld
允许 nginx:
systemctl start firewalld.service firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent # http 里没有包含 https firewall-cmd --add-port=8080/tcp --permanent # 追加一个测试用端口 firewall-cmd --reload
允许 vsftpd:
systemctl start firewalld.service firewall-cmd --add-service=ftp --permanent firewall-cmd --add-port=6000-6600/tcp --permanent #追加被动模式的端口范围 firewall-cmd --reload
其它命令:
systemctl status firewalld.service systemctl stop firewalld.service systemctl start firewalld.service firewall-cmd --remove-port=8080/tcp --permanent firewall-cmd --list-ports firewall-cmd --list-service firewall-cmd --list-all firewall-cmd --list-all-zones firewall-cmd --list-rich-rules firewall-cmd --zone=public --get-service firewall-cmd --zone=public --query-service ftp firewall-cmd --zone=public --add-service=ftp --permanent firewall-cmd --zone=public --remove-service=ftp --permanent firewall-cmd --zone=public --add-port=6088/tcp firewall-cmd --zone=public --remove-port=6088/tcp firewall-cmd --zone=public --add-port=6000-6600/tcp firewall-cmd --reload firewall-cmd --get-default-zone firewall-cmd --get-active-zones firewall-cmd --set-default-zone=public firewall-cmd --panic-on firewall-cmd --panic-off
–permanent 是“永久”的意思,不加这个参数在重启后就无效了。
指定IP访问端口
# 允许多个IP访问同一个端口时,添加多条 rich-rule 即可 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept' # 删除 firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept' # 设置IP段 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept' # 记得最后要: firewall-cmd --reload
端口转发
# 从 80 进来时转到 8080 上(栗子:别人访问本机的 80 端口时转发到本机的 tomcat 的 8080 上) firewall-cmd --add-masquerade --permanent firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent firewall-cmd --reload
<完>