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

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

1.批量放开防火墙端口

命令示例

openports 80 443 3000

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

vim openports
DARGS=64if [ -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=64if [ -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外面,就能够随时运行了,批量放开防火墙端口我集体用起来还是挺不便的