乐趣区

关于shell:编写简单的shell脚本用于方便管理防火墙

编写简略的 shell 脚本用于方便管理防火墙

最近在看 shell 脚本, 发现这个能大幅升高操作复杂度, 你一系列的操作是间断的关联的, 就能够写一个 shell 脚本赖简化操作.
我想批量放开或者敞开防火墙端口, 我发现防火墙命令里并没有, 有的只是放开一个范畴, 而且那个命令有些长, 每次批改后都要 reload 一下能力失效, 所有我写了三个脚本用于简化

1. 批量放开防火墙端口

命令示例

openports 80 443 3000

这样的话就能够一次放开下面三个端口并且从新加载失效
上面是脚本编写

vim openports
DARGS=64
if [-z "$1"]
then
    echo "Usage:`basename $0` port1, port2..."
        exit $E_BADARGS
        fi
        for arg in $*
        do
        firewall-cmd --zone=public --add-port=$arg/tcp --permanent
        done
        firewall-cmd --reload

这样就是写了一个 for 循环把传进来的参数遍历一遍, 从而实现批量放开端口最初 reload 防火墙失效

2. 批量敞开防火墙端口

和批量放开雷同只是命令 add 变为 remove

E_BADARGS=64
if [-z "$1"]
then
    echo "Usage:`basename $0` port1, port2..."
        exit $E_BADARGS
        fi
        for arg in $*
        do
        firewall-cmd --zone=public --remove-port=$arg/tcp --permanent
        done
        firewall-cmd --reload

3. 查看放开防火墙

只是命令太长, 放进脚本里而已

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

这写命令放进环境变量 PATH 外面, 就能够随时运行了, 批量放开防火墙端口我集体用起来还是挺不便的

退出移动版