CentOS7中,CentOS 6 系列的 iptables 相关命令不能用了,Centos 7使用firewalld代替了原来的iptables.
打开/关闭防火墙服务:
#centos7启动防火墙
systemctl start firewalld.service
#centos7停止防火墙/关闭防火墙
systemctl stop firewalld.service
#centos7重启防火墙
systemctl restart firewalld.service
#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机不启动防火墙
systemctl disable firewalld.service
过滤端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#说明:
#–zone #作用域
#–add-port=8080/tcp #添加TCP端口,格式为:端口/通讯协议
#–permanent 永久生效,没有此参数重启后失效
#多个端口:
firewall-cmd --zone=public --add-port=8080-8090/tcp --permanent
查看本机启用的监听端口:
#CentOS 7以前使用netstat -ant, CentOS 7使用ss
ss -ant
查看防火墙信息:
#centos7查看防火墙所有信息
firewall-cmd --list-all
#centos7查看防火墙开放的端口信息
firewall-cmd --list-ports
删除端口:
#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
重启防火墙:
# 防火墙只要改变设定,都需要重启,可用下面的命令重启
firewall-cmd --reload
允许防火墙伪装ip
firewall-cmd --add-masquerade
将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
其他常用命令介绍
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端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助