linux只允许某个国家访问某个端口
常见的,例子:国内鸡,屏蔽国外登录ssh
本教程经做参考, 同适用于WEB网站,如果真需要防止扫爆请选择专门的防爆破脚本
本教程经做参考, 同适用于WEB网站,如果真需要防止扫爆请选择专门的防爆破脚本
本教程经做参考, 同适用于WEB网站,如果真需要防止扫爆请选择专门的防爆破脚本
在CentOS系统上只允许中国IP登录SSH可以使用iptables和ipset来实现。以下是实现步骤:
安装iptables和ipset
1 | sudo yum install iptables ipset |
下载IP库、导入、查询 、添加
如果您要使用https://www.ipdeny.com/ipblocks/data/countries/cn.zone URL中的IP地址列表来创建名为”china”的ipset,则可以使用以下命令:
1 | sudo ipset create china hash:net |
这将创建一个名为”china”的ipset,并将从https://www.ipdeny.com/ipblocks/data/countries/cn.zone获取的中国IP地址添加到该ipset中。
该命令使用awk将每个IP地址添加到ipset中,并使用ipset -R命令将所有IP地址添加到ipset中。请注意,该命令可能需要一些时间来完成,具体取决于IP地址列表的大小和网络速度。
要查询ipset中有多少个IP地址,可以使用以下命令:
1 | sudo ipset list china | grep 'Number' |
这将列出名为”china”的ipset中的IP地址数量。输出将类似于以下内容:
Number of elements: 123456
这表示名为”china”的ipset中有123456个IP地址。您可以将”china”替换为您要查询的ipset名称。
这是ipset命令的一部分,用于将中国IP地址添加到名为”china”的ipset中。它的完整用法是:
1 | ipset add china <ip_address> |
其中,”“应替换为要添加的IP地址。例如,要将IP地址127.0.0.1添加到名为”china”的ipset中,可以运行以下命令:
配置iptables规则,只允许来自中国IP的SSH连接
1 | sudo iptables -A INPUT -p tcp --dport ssh -m set --match-set china src -j ACCEPT |
这些规则将允许来自中国IP的SSH连接,并阻止来自其他IP地址的SSH连接。
保存iptables规则
1 | sudo service iptables save |
这样,您就只允许来自中国IP地址的SSH连接了。请注意,这种方法并不是绝对安全的,因为攻击者可以使用代理或VPN绕过此屏蔽。因此,建议您采取其他安全措施,如使用公钥身份验证、禁用root登录等,以提高系统的安全性。
注:–dport 可以改为端口,比如80端口
- Title: linux只允许某个国家访问某个端口
- Author: 给白傻子买瓜子去
- Created at : 2020-01-08 15:23:30
- Updated at : 2024-04-13 01:03:02
- Link: https://txt.al/linux只允许某个国家访问某个端口/
- License: This work is licensed under CC BY-NC-SA 4.0.