V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
yumenoks
V2EX  ›  Linux

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

  •  
  •   yumenoks · Jul 12, 2019 · 5955 views
    This topic created in 2491 days ago, the information mentioned may be changed or developed.
    如何限制 Linux 本机只能访问国内的 IP?
    百度了下只找到了,限制某一个国家的 IP 访问本机,但是我这个正好相反,
    百度到的是进站,我的这个应该是限制出站,要怎么弄呢?
    21 replies    2019-07-15 21:39:29 +08:00
    nyanyh
        1
    nyanyh  
       Jul 12, 2019
    ipset 白名单?
    yumenoks
        2
    yumenoks  
    OP
       Jul 12, 2019
    恩差不多,如果是存在于 cnip 这个列表的才能出去,如果不是就不行,大概是这样的需求
    lihongjie0209
        3
    lihongjie0209  
       Jul 12, 2019
    iptables 枚举
    yumenoks
        4
    yumenoks  
    OP
       Jul 12, 2019
    @lihongjie0209 cnip 为允许出站的列表 先是设置 iptables -A OUTPUT 为拒绝.
    然后 iptables -A OUTPUT -p tcp -m set --match-set cnip src -j ACCEPT 这样写对么?
    3CH0
        5
    3CH0  
       Jul 12, 2019
    iptables -A OUTPUT -p tcp -m set ! --match-set cnip src -j DROP
    yumenoks
        6
    yumenoks  
    OP
       Jul 12, 2019
    @3CH0 设置好 ipset cnip 之后 只需要设置这一句就可以了吗?
    greenskinmonster
        7
    greenskinmonster  
       Jul 12, 2019   ❤️ 2
    iptables -A OUTPUT -m geoip ! --destination-country CN -j DROP
    用 geoip 模块
    yumenoks
        8
    yumenoks  
    OP
       Jul 12, 2019
    @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  
       Jul 12, 2019
    你需要一个国内 ip 库,ip138 里去下载
    yumenoks
        10
    yumenoks  
    OP
       Jul 12, 2019
    @herozzm 已经下载好了批量添加到了 ipset cnip 这列表里面了
    catcalse
        11
    catcalse  
       Jul 12, 2019
    iptables geo
    yumenoks
        12
    yumenoks  
    OP
       Jul 12, 2019
    @catcalse geo 回比较效率吗?还有上面的设置还有啥要完善的吗?
    3CH0
        13
    3CH0  
       Jul 12, 2019
    @3CH0 #5 应该是 dst
    yumenoks
        14
    yumenoks  
    OP
       Jul 12, 2019
    @3CH0 -destination-country cnip src -j DROP?
    yumenoks
        15
    yumenoks  
    OP
       Jul 12, 2019
    @greenskinmonster 装 geoip 各种出错郁闷中!!!
    greenskinmonster
        16
    greenskinmonster  
       Jul 12, 2019
    @yumenoks 用 ipset 也一样啊,还是写规则的问题
    yumenoks
        17
    yumenoks  
    OP
       Jul 12, 2019
    @greenskinmonster 主要是规则参数不是很熟悉..
    pussy2019
        18
    pussy2019  
       Jul 13, 2019
    @方滨兴
    AlynxZhou
        19
    AlynxZhou  
       Jul 13, 2019
    放到国内不就成了?(滑稽
    yumenoks
        20
    yumenoks  
    OP
       Jul 13, 2019
    @AlynxZhou 不太成,防火墙规则没那么广泛哈哈,还是自己定义的好
    yumenoks
        21
    yumenoks  
    OP
       Jul 15, 2019
    @greenskinmonster ipset 也可以用这个命令么?
    iptables -A OUTPUT -m geoip ! --destination-country CN -j DROP
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3904 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 00:46 · PVG 08:46 · LAX 17:46 · JFK 20:46
    ♥ Do have faith in what you're doing.