美文网首页站长建站专辑PHP建站
使用ipset设置防火墙端口白名单,只让指定国家访问

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

作者: 74014363f87b | 来源:发表于2018-10-06 16:03 被阅读0次

    阐明:伏笔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号令保留下,保留号令可能性在许多体系中都欠亨用,这边就不说了,必要入席自行搜刮处理了,有耐性的也能够每回重启的时辰都从头设置一下防火墙。

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/weyhaftx.html