sed批量在行首和行尾添加内容
时间:2016-06-05 01:27 来源:linux.it.net.cn 作者:IT
今天想只让国内的ip才能访问测试服务器,网上找了个国内路由表,地址是ipdeny,应该算是很全的了,不全的话大家请自己再去找,要封锁服务器的ssh端口,只让国内ip才能登录ssh,国外的ip无法登录,这样也保证了安全性.什么?你说为什么不直接只开放自己的ip,这个我也想,但公司没有牵专线,都是adsl,一重拨号外网ip就要变,所以只能让国内的ip访问.今天就简单说下怎么用sed批量在行首和行尾插入文件内容:
1.先把路由表保存到文件里
cat t.txt
1.0.1.0/24
1.0.2.0/23
1.0.8.0/21
1.0.32.0/19
1.1.0.0/24
1.1.2.0/23
1.1.4.0/22
1.1.8.0/21
1.1.16.0/20
1.1.32.0/19
1.2.0.0/23
1.2.2.0/24
1.2.4.0/24
1.2.5.0/24
1.2.6.0/23
1.2.8.0/24
1.2.9.0/24
1.2.10.0/23
1.2.12.0/22
......
223.248.0.0/14
223.252.128.0/17
223.254.0.0/16
223.255.0.0/17
223.255.236.0/22
223.255.252.0/23
91.234.36.0/24
2.先批量在行首插入内容
sed 's/^/-A INPUT -s /' t.txt
3.批量在行尾插入内容
sed 's/$/ -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT' t.txt
4.最后再插入一条拒绝其他ip
echo "-A INPUT -p tcp -m tcp --dport 22 -j DROP" >> t.txt
5.在crontab里添加5分钟自动停iptables,避免把自己关在外面了
crontab -e
*/5 * * * * /etc/init.d/iptables stop
好了,这样就可以把t.txt里的内容整到iptables里了进行验证了.
(责任编辑:IT)
今天想只让国内的ip才能访问测试服务器,网上找了个国内路由表,地址是ipdeny,应该算是很全的了,不全的话大家请自己再去找,要封锁服务器的ssh端口,只让国内ip才能登录ssh,国外的ip无法登录,这样也保证了安全性.什么?你说为什么不直接只开放自己的ip,这个我也想,但公司没有牵专线,都是adsl,一重拨号外网ip就要变,所以只能让国内的ip访问.今天就简单说下怎么用sed批量在行首和行尾插入文件内容: 1.先把路由表保存到文件里 cat t.txt 1.0.1.0/24 1.0.2.0/23 1.0.8.0/21 1.0.32.0/19 1.1.0.0/24 1.1.2.0/23 1.1.4.0/22 1.1.8.0/21 1.1.16.0/20 1.1.32.0/19 1.2.0.0/23 1.2.2.0/24 1.2.4.0/24 1.2.5.0/24 1.2.6.0/23 1.2.8.0/24 1.2.9.0/24 1.2.10.0/23 1.2.12.0/22 ...... 223.248.0.0/14 223.252.128.0/17 223.254.0.0/16 223.255.0.0/17 223.255.236.0/22 223.255.252.0/23 91.234.36.0/24 2.先批量在行首插入内容 sed 's/^/-A INPUT -s /' t.txt 3.批量在行尾插入内容 sed 's/$/ -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT' t.txt 4.最后再插入一条拒绝其他ip echo "-A INPUT -p tcp -m tcp --dport 22 -j DROP" >> t.txt 5.在crontab里添加5分钟自动停iptables,避免把自己关在外面了 crontab -e */5 * * * * /etc/init.d/iptables stop 好了,这样就可以把t.txt里的内容整到iptables里了进行验证了. (责任编辑:IT) |