V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
yumenoks
V2EX  ›  Linux

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

  •  
  •   yumenoks · 2019-07-12 14:28:23 +08:00 · 5187 次点击
    这是一个创建于 1940 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如何限制 Linux 本机只能访问国内的 IP?
    百度了下只找到了,限制某一个国家的 IP 访问本机,但是我这个正好相反,
    百度到的是进站,我的这个应该是限制出站,要怎么弄呢?
    21 条回复    2019-07-15 21:39:29 +08:00
    nyanyh
        1
    nyanyh  
       2019-07-12 15:05:06 +08:00
    ipset 白名单?
    yumenoks
        2
    yumenoks  
    OP
       2019-07-12 15:34:08 +08:00
    恩差不多,如果是存在于 cnip 这个列表的才能出去,如果不是就不行,大概是这样的需求
    lihongjie0209
        3
    lihongjie0209  
       2019-07-12 15:35:14 +08:00
    iptables 枚举
    yumenoks
        4
    yumenoks  
    OP
       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
        5
    3CH0  
       2019-07-12 15:59:32 +08:00
    iptables -A OUTPUT -p tcp -m set ! --match-set cnip src -j DROP
    yumenoks
        6
    yumenoks  
    OP
       2019-07-12 16:01:33 +08:00
    @3CH0 设置好 ipset cnip 之后 只需要设置这一句就可以了吗?
    greenskinmonster
        7
    greenskinmonster  
       2019-07-12 16:06:10 +08:00   ❤️ 2
    iptables -A OUTPUT -m geoip ! --destination-country CN -j DROP
    用 geoip 模块
    yumenoks
        8
    yumenoks  
    OP
       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
        9
    herozzm  
       2019-07-12 16:24:16 +08:00
    你需要一个国内 ip 库,ip138 里去下载
    yumenoks
        10
    yumenoks  
    OP
       2019-07-12 16:25:16 +08:00
    @herozzm 已经下载好了批量添加到了 ipset cnip 这列表里面了
    catcalse
        11
    catcalse  
       2019-07-12 17:25:01 +08:00
    iptables geo
    yumenoks
        12
    yumenoks  
    OP
       2019-07-12 17:39:58 +08:00
    @catcalse geo 回比较效率吗?还有上面的设置还有啥要完善的吗?
    3CH0
        13
    3CH0  
       2019-07-12 17:43:27 +08:00
    @3CH0 #5 应该是 dst
    yumenoks
        14
    yumenoks  
    OP
       2019-07-12 18:34:27 +08:00
    @3CH0 -destination-country cnip src -j DROP?
    yumenoks
        15
    yumenoks  
    OP
       2019-07-12 19:12:39 +08:00
    @greenskinmonster 装 geoip 各种出错郁闷中!!!
    greenskinmonster
        16
    greenskinmonster  
       2019-07-12 19:20:11 +08:00
    @yumenoks 用 ipset 也一样啊,还是写规则的问题
    yumenoks
        17
    yumenoks  
    OP
       2019-07-12 19:22:48 +08:00
    @greenskinmonster 主要是规则参数不是很熟悉..
    pussy2019
        18
    pussy2019  
       2019-07-13 09:21:42 +08:00
    @方滨兴
    AlynxZhou
        19
    AlynxZhou  
       2019-07-13 10:59:49 +08:00
    放到国内不就成了?(滑稽
    yumenoks
        20
    yumenoks  
    OP
       2019-07-13 12:58:37 +08:00
    @AlynxZhou 不太成,防火墙规则没那么广泛哈哈,还是自己定义的好
    yumenoks
        21
    yumenoks  
    OP
       2019-07-15 21:39:29 +08:00
    @greenskinmonster ipset 也可以用这个命令么?
    iptables -A OUTPUT -m geoip ! --destination-country CN -j DROP
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2723 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:33 · PVG 20:33 · LAX 05:33 · JFK 08:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.