一、抓出需要开放的端口
#netstat -tpnl|grep java|awk '{printf $4}'|sed "s/:::/\\n/g"|grep -v "^$" >ports.txt
#cat ports.txt
5229
5269
7777
9090
9091
5222
5223
这里使用netstat抓出java监听的所有tcp端口
二、生成规则
# while read PORT; do echo "-A INPUT -m state --state NEW -m tcp -p tcp --dport $PORT -j ACCEPT" ; done < ports.txt
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5229 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5269 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7777 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9091 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5222 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5223 -j ACCEPT
使用while循环批量生成规则