脚本说明:
本人有三个公网映射的服务器端口.白天需调试代码,于是写了一个打开端口和关闭端口脚本.(CentOS Linux release 7.3.1611)
打开端口脚本如下:
[root@localhost ~]#cat openport.sh
iptables -R IN_public_allow 1 -s 172.12.40.1 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,UNTRACKED -j ACCEPT
iptables -R IN_public_allow 2 -s 172.12.40.1 -p tcp -m tcp --dport 3306 -m conntrack --ctstate NEW,UNTRACKED -j ACCEPT
iptables -R IN_public_allow 3 -s 172.12.40.1 -p tcp -m tcp --dport 8000 -m conntrack --ctstate NEW,UNTRACKED -j ACCEPT
关闭端口脚本如下:(白天需要使用到公网IP来直接访问22端口,是代理做的映射,我还有其它ss5代理可以通过其它源IP地址来登陆,不会造成无法登陆情况)
[root@localhost ~]#cat downport.sh
iptables -R IN_public_allow 1 -s 172.12.40.1 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,UNTRACKED -j DROP
iptables -R IN_public_allow 2 -s 172.12.40.1 -p tcp -m tcp --dport 3306 -m conntrack --ctstate NEW,UNTRACKED -j DROP
iptables -R IN_public_allow 3 -s 172.12.40.1 -p tcp -m tcp --dport 8000 -m conntrack --ctstate NEW,UNTRACKED -j DROP
写一个计划任务crontab,然后下班时间自动关闭端口.需要使用时,通过其它方式登陆服务器后,执行openport.sh.
20 18 * * * /bin/bash /root/downport.sh