CentOS防火墙开启和关闭端口

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

原文地址:https://www.cnblogs.com/cxd4321/p/13551219.html