技术解析

如何限制 Linux 本机只能访问国内的 IP?
0
2021-06-21 09:53:20
idczone
如何限制 Linux 本机只能访问国内的 IP?
百度了下只找到了,限制某一个国家的 IP 访问本机,但是我这个正好相反,
百度到的是进站,我的这个应该是限制出站,要怎么弄呢?
ipset 白名单?

恩差不多,如果是存在于 cnip 这个列表的才能出去,如果不是就不行,大概是这样的需求

iptables 枚举

cnip 为允许出站的列表 先是设置 iptables -A OUTPUT 为拒绝.
然后 iptables -A OUTPUT -p tcp -m set --match-set cnip src -j ACCEPT 这样写对么?

iptables -A OUTPUT -p tcp -m set ! --match-set cnip src -j DROP

设置好 ipset cnip 之后 只需要设置这一句就可以了吗?

iptables -A OUTPUT -m geoip ! --destination-country CN -j DROP
用 geoip 模块

目前用的 ipset
iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -p tcp -m set ! --match-set cnip src -j DROP
这样设置之后好像 curl 不到网页内容了,还需要什么设置吗?

你需要一个国内 ip 库,ip138 里去下载

已经下载好了批量添加到了 ipset cnip 这列表里面了

iptables geo

geo 回比较效率吗?还有上面的设置还有啥要完善的吗?

应该是 dst

-destination-country cnip src -j DROP?

装 geoip 各种出错郁闷中!!!

用 ipset 也一样啊,还是写规则的问题

主要是规则参数不是很熟悉..

@方滨兴

放到国内不就成了?(滑稽

不太成,防火墙规则没那么广泛哈哈,还是自己定义的好

ipset 也可以用这个命令么?
iptables -A OUTPUT -m geoip ! --destination-country CN -j DROP

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服