1、开放和关闭端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent # 开放端口 firewall-cmd --zone=public --remove-port=9200/tcp --permanent # 关闭端口 firewall-cmd --reload # 重新载入配置,让开放或关闭的端口配置生效
--zone=public:表示作用域为公共
--permanent:表示永久生效
2、查看端口开放情况
firewall-cmd --zone=public --list-ports # 查询端口开放列表 firewall-cmd --zone=public --query-port=9200/tcp # 查询具体端口是否开放
3、开启和关闭防火墙
systemctl start firewalld # 启动防火墙 systemctl status firewalld # 查看防火墙状态 systemctl stop firewalld # 关闭防火墙 systemctl disable firewalld # 开启不启动防火墙 systemctl enable firewalld # 开机启动防火墙
4、其他
firewall-cmd --version # 查看版本 firewall-cmd --help # 查看帮助 firewall-cmd --state # 查看运行状态
#如果防火墙使用的iptables(Centos 6)
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 6780 -j ACCEPT
service iptables save
service iptables restart
#如果使用的是firewall(CentOS 7)
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload
设置firewall规则
例1:对外暴露8080端口
firewall-cmd --permanent --add-port=8080/tcp
例2:使mysql服务的3306端口只允许192.168.1.1/24网段的服务器能访问
#添加规则
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1/24" port protocol="tcp" port="3306" accept"
#reload使生效
firewall-cmd --reload
例3:端口转发,将到本机的3306端口的访问转发到192.168.1.1服务器的3306端口
# 开启伪装IP
firewall-cmd --permanent --add-masquerade
# 配置端口转发
firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
注意:如果不开启伪装IP,端口转发会失败;其次,要确保源服务器上的端口(3306)和目标服务器上的端口(13306)是开启的。
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.6" port protocol="tcp" port="8080" accept"
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.6" port protocol="tcp" port="8080" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.6" port protocol="tcp" port="8080" reject"
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.6" port protocol="tcp" port="8080" reject"
firewall-cmd --zone=public --list-rich-rules