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

Posted akazwz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写简单的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里面,就可以随时运行了,批量放开防火墙端口我个人用起来还是挺方便的

以上是关于编写简单的shell脚本用于方便管理防火墙的主要内容,如果未能解决你的问题,请参考以下文章

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

Shell脚本编写1

编写简单的Shell脚本

Linux shell脚本基础

Eclipse 中的通用代码片段或模板

Shell bash 脚本 简介