站长建站专辑PHP建站

使用ipset设置防火墙端口白名单,只让指定国家访问

2018-10-06  本文已影响0人  74014363f87b

阐明:伏笔VPS很早前发过VPS一键遮挡指定国度IP的教程,检察:Linux VPS一键遮挡指定国度一切的IP拜访,这关于咱们阻遏某个国度拜访网站和CC袭击仍是很有效的,不外鉴于许多人必要白名单设置方式,考虑了下,发明也能够用ipset来完成,这边就说下,眼前测试是没成绩的。

方式

率先必要获得国度IP段,下载地点:http://www.ipdeny.com/ipblocks/。这边以咱们国度为例。

1、装置ipset

#Debian/Ubuntu体系

apt-get -y install ipset

#CentOS体系

yum -y install ipset

CentOS 7还必要封闭firewall防火墙:

systemctl stop firewalld.service

systemctl disable firewalld.service

2、创办划定规矩

#创办一个名为cnip的划定规矩

ipset -N cnip hash:net

#下载国度IP段,这边以中国为例

wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone

#将IP段增加到cnip划定规矩中

for i in $(cat /root/cn.zone ); do ipset -A cnip $i; done

3、设置IP段白名单

#放行IP段

iptables -A INPUT -p tcp -m set --match-set cnip src -j ACCEPT

#关掉一切端口

iptables -P INPUT DROP

这时候候就除非指定国度的IP能拜访效劳器了。

如其你在海内,网站不容许被海内人拜访,提议别关一切端口,这么你的SSH会上不去,咱们能够只封闭80/443端口。

#封闭指定端口,譬如80/443

iptables -A INPUT -p tcp --dport 80 -j DROP

iptables -A INPUT -p tcp --dport 443 -j DROP

这时候候其他国度的IP是没法拜访你效劳器的80/443端口,即是没法拜访你的网站,别的端口仍是能够拜访的。

4、剔除划定规矩

#将参数里的-A改成-D执意剔除划定规矩了,如

iptables -D INPUT -p tcp -m set --match-set cnip src -j ACCEPT

iptables -D INPUT -p tcp --dport 443 -j DROP

阐明

设置防火墙后,可能性有些效劳重视启体系后会清空防火墙划定规矩,招致设置的失灵,因而咱们设置划定规矩后,必要应用iptables号令保留下,保留号令可能性在许多体系中都欠亨用,这边就不说了,必要入席自行搜刮处理了,有耐性的也能够每回重启的时辰都从头设置一下防火墙。

上一篇 下一篇

猜你喜欢

热点阅读