防火墙开放某个端口

  1. 1.查看防火墙的状态
  2. # firewall-cmd --state
  3. 2.如果上一步处于关闭状态,输入命令
  4. # systemctl start firewalld.service
  5. 3.开启8080端口,输入命令
  6. # firewall-cmd --zone=public --add-port=8080/tcp --permanent
  7. --zone=public:表示作用域为公共的;
  8. --add-port=8080/tcp:添加tcp协议的端口8080
  9. --permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;
  10. 4.输入命令重启防火墙
  11. # systemctl restart firewalld.service
  12. 5.重新载入配置
  13. # firewall-cmd --reload

查看防火墙都放行了哪些端口

# firewall-cmd --permanent --zone=public --list-ports
3306/tcp 6379/tcp 8080/tcp

关闭防火墙

firewall-cmd --permanent --zone=public --remove-port=8080/tcp

有一个放行端口和关闭端口的shell脚本,使用everything搜索shell之即可找到

shell安装脚本

#!/bin/bash

echo "你输入的内容是:$0 $1 $2"

#查看防火墙状态
#FW_STATE=$(firewall-cmd --state)

# 传入一个参数
if [  $1 != "null" ]
then
    #关闭防火墙
    FW_STOP=$(systemctl stop firewalld.service)
    echo "正在关闭防火墙......$FW_STOP"


    FW_START=$(systemctl start firewalld.service)
    echo "正在重新启动防火墙.....$FW_START"

    FW_CMD=$(firewall-cmd --zone=public --add-port=$1/tcp --permanent)
    echo "正在放行 $1 端口......$FW_CMD"

    FW_RE=$(systemctl restart firewalld.service)
    echo "正在重启防火墙......$FW_RE"

    FW_RELOAD=$(firewall-cmd --reload)
    echo "正在重新载入配置......$FW_RELOAD"

    # 开放的端口号
    RELEASE=$(firewall-cmd --permanent --zone=public --list-ports)
    echo "放行的端口号有:$RELEASE"

fi

if [ -n "$2" ]
then
    #关闭防火墙
        FW_STOP=$(systemctl stop firewalld.service)
        echo "正在关闭防火墙......$FW_STOP"


        FW_START=$(systemctl start firewalld.service)
        echo "正在重新启动防火墙.....$FW_START"

        FW_CMD=$(firewall-cmd --permanent --zone=public --remove-port=$2/tcp)
        echo "正在关闭 $2 端口......$FW_CMD"

        FW_RE=$(systemctl restart firewalld.service)
        echo "正在重启防火墙......$FW_RE"

        FW_RELOAD=$(firewall-cmd --reload)
        echo "正在重新载入配置......$FW_RELOAD"

        # 开放的端口号
        RELEASE=$(firewall-cmd --permanent --zone=public --list-ports)
        echo "放行的端口号有:$RELEASE"

fi

安装脚本使用说明

[root@iZbp1brrrx37m2od1ml754Z ~]# sh firewalld-port.sh 8002
你输入的内容是:firewalld-port.sh 8002 
正在关闭防火墙......
正在重新启动防火墙.....
正在放行 8002 端口......success
正在重启防火墙......
正在重新载入配置......success
放行的端口号有:8080/tcp 9200/tcp 2181/tcp 3306/tcp 8002/tcp
[root@iZbp1brrrx37m2od1ml754Z ~]# sh firewalld-port.sh null 8002
你输入的内容是:firewalld-port.sh null 8002
正在关闭防火墙......
正在重新启动防火墙.....
正在关闭 8002 端口......success
正在重启防火墙......
正在重新载入配置......success
放行的端口号有:8080/tcp 9200/tcp 2181/tcp 3306/tcp
[root@iZbp1brrrx37m2od1ml754Z ~]#

查看防火墙放行的端口

firewall-cmd --permanent --zone=public --list-ports