有时为了不关闭防火墙,但是又想访问某端口。
以开放redis端口为例
iptables改动之前需要备份一下当前iptables策略到静态文件
iptables-save > iptables_config.now
对应iptables策略回退命令如下:
iptables-restore iptables_confit.now
iptables -I INPUT -p tcp --dport 6379 -j DROP
iptables -I INPUT -s <server1-ip> -p tcp --dport 6379 -j ACCEPT
iptables -I INPUT -s <server2-ip> -p tcp --dport 6379 -j ACCEPT
iptables -I INPUT -s <server2-ip> -p tcp --dport 6379 -j ACCEPT
以脚本形式实现开放多端口多ip
我们可以为脚本创建一个指定目录,例如/opt/open_port
在该目录下创建执行脚本open_port.sh
cd /opt/open_port/
vim open_port.sh
脚本内容如下:
ips=`cat ips.txt`
ports=`cat ports.txt`
for port in $ports
do
iptables -I INPUT -p tcp --dport $port -j DROP
for ip in $ips
do
echo "accept---> " "port: " $port "ip: " $ip
iptables -I INPUT -s $ip -p tcp --dport $port -j ACCEPT
done
done
同时需要在脚本所在目录下创建ips.txt
、ports.txt
两个文件
touch ips.txt ports.txt
将要开放的ip地址存放在ips.txt
中,将要开放的端口存放在ports.txt
中。
ls /opt/open_port/
若要对某设备开放所有防火墙端口,可参考《CentOS添加防火墙策略》对脚本进行修改