需求:从某文件中读取ip地址以及端口号,用iptables打开该ip以及端口
比如文件内容:
1
2
3
4
|
[root@localhost xxx]
# cat ip.txt
192.168.1.20 22
192.168.1.30 10
192.168.1.30 33
|
手动操作为:
1
|
[root@localhost huwei]
# iptables -A INPUT -s 192.168.66.20 -i eth0 -p tcp --dport 22 -j ACCEPT
|
改写使用脚本读取文件内容,自动添加iptables防火墙规则,脚本为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@localhost xxx]
# cat ip.sh
#!/bin/sh
wan0=
'eth0'
FILE=
'/home/huwei/ip.txt'
while
read
i
do
a=$(
echo
"$i"
|
awk
-F
' '
'{print $1}'
)
b=$(
echo
"$i"
|
awk
-F
' '
'{print $2}'
)
#此处显示变量的值,其实可以省略
echo
"$a"
echo
"$b"
iptables -A INPUT -s $a -i $wan0 -p tcp --dport $b -j ACCEPT
/etc/init
.d
/iptables
save
done
<$FILE
|
土办法,我觉得应该还有更好的办法可以实现这样的功能
本文转自 yawei555 51CTO博客,原文链接:http://blog.51cto.com/huwei555/1787463,如需转载请自行联系原作者