如何限制 Linux 本机只能访问国内的 IP?

2019-07-12 14:28:23 +08:00
 yumenoks
如何限制 Linux 本机只能访问国内的 IP?
百度了下只找到了,限制某一个国家的 IP 访问本机,但是我这个正好相反,
百度到的是进站,我的这个应该是限制出站,要怎么弄呢?
5214 次点击
所在节点    Linux
21 条回复
nyanyh
2019-07-12 15:05:06 +08:00
ipset 白名单?
yumenoks
2019-07-12 15:34:08 +08:00
恩差不多,如果是存在于 cnip 这个列表的才能出去,如果不是就不行,大概是这样的需求
lihongjie0209
2019-07-12 15:35:14 +08:00
iptables 枚举
yumenoks
2019-07-12 15:50:47 +08:00
@lihongjie0209 cnip 为允许出站的列表 先是设置 iptables -A OUTPUT 为拒绝.
然后 iptables -A OUTPUT -p tcp -m set --match-set cnip src -j ACCEPT 这样写对么?
3CH0
2019-07-12 15:59:32 +08:00
iptables -A OUTPUT -p tcp -m set ! --match-set cnip src -j DROP
yumenoks
2019-07-12 16:01:33 +08:00
@3CH0 设置好 ipset cnip 之后 只需要设置这一句就可以了吗?
greenskinmonster
2019-07-12 16:06:10 +08:00
iptables -A OUTPUT -m geoip ! --destination-country CN -j DROP
用 geoip 模块
yumenoks
2019-07-12 16:21:48 +08:00
@3CH0 @greenskinmonster 目前用的 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 不到网页内容了,还需要什么设置吗?
herozzm
2019-07-12 16:24:16 +08:00
你需要一个国内 ip 库,ip138 里去下载
yumenoks
2019-07-12 16:25:16 +08:00
@herozzm 已经下载好了批量添加到了 ipset cnip 这列表里面了
catcalse
2019-07-12 17:25:01 +08:00
iptables geo
yumenoks
2019-07-12 17:39:58 +08:00
@catcalse geo 回比较效率吗?还有上面的设置还有啥要完善的吗?
3CH0
2019-07-12 17:43:27 +08:00
@3CH0 #5 应该是 dst
yumenoks
2019-07-12 18:34:27 +08:00
@3CH0 -destination-country cnip src -j DROP?
yumenoks
2019-07-12 19:12:39 +08:00
@greenskinmonster 装 geoip 各种出错郁闷中!!!
greenskinmonster
2019-07-12 19:20:11 +08:00
@yumenoks 用 ipset 也一样啊,还是写规则的问题
yumenoks
2019-07-12 19:22:48 +08:00
@greenskinmonster 主要是规则参数不是很熟悉..
pussy2019
2019-07-13 09:21:42 +08:00
@方滨兴
AlynxZhou
2019-07-13 10:59:49 +08:00
放到国内不就成了?(滑稽
yumenoks
2019-07-13 12:58:37 +08:00
@AlynxZhou 不太成,防火墙规则没那么广泛哈哈,还是自己定义的好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/582377

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX