V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
测试工具
SmokePing
IPv6 访问测试
cwcc
V2EX  ›  宽带症候群

如何在一个局域网内限制一台设备访问其他内网设备,但能让它上外网

  •  
  •   cwcc · 64 天前 · 2673 次点击
    这是一个创建于 64 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求就是给外面的伙伴开一个虚拟机让他临时用,但是由于家里设备比较多,且存在一些比较敏感的设备比如摄像头,NAS 等。虽然都有密码保护,但远不如直接隔离或者配置策略禁止访问来的安全。

    主路由是 OpenWrt 软路由,可调,虚拟机为 Hyper-V 桥接,也就是目前网络架构是一个软路由拨号的大平层内网。

    想让这台主机无法 ping 和连到别的私有主机,假设它的 IP 是 192.168.10.17 ,不能连接除 192.168.10.1 和 192.168.10.5 这两台设备之外的设备。

    之前想到并应用的策略是在那台虚拟机内写 iptables ,但是这样只能给伙伴开放非 root 权限了。

    21 条回复    2022-08-03 09:07:35 +08:00
    carrionlee
        1
    carrionlee  
       64 天前 via iPhone
    vlan
    ericbize
        2
    ericbize  
       64 天前
    看看有没有 交换机 acl 选项
    liuweisj
        3
    liuweisj  
       64 天前
    openwrt 上再创建个 lan 比如 192.168.11.0/24 ,然后 iptables 里限制 2 个网段之间的访问
    winglight2016
        4
    winglight2016  
       64 天前
    这需求很古怪,你不想他访问局域网其他机器,那么你让他使用局域网里的机器有什么特别意义吗?没有的话,公网 vps 不是更方便?
    cwcc
        5
    cwcc  
    OP
       64 天前
    @winglight2016 不古怪呀,我家里有计算资源,公网 VPS 成本不小了,而且带宽也没有家里的大。
    cwcc
        6
    cwcc  
    OP
       64 天前   ❤️ 1
    @liuweisj 这个法子我刚才尝试了下,成功把家里的网给断掉了,现在也不在家😢。
    chunchu
        7
    chunchu  
       64 天前
    也想过这么干,但是还没有实施。主要是想把摄像头和小米的设备单独设置一个 vlan
    Marionic0723
        8
    Marionic0723  
       64 天前 via Android
    openwrt 配置防火墙规则,192.168.10.17 ,到 LAN 全部拒绝,然后在这个规则上面(优先级)增加允许 10.1 和 10.15 。
    cwcc
        9
    cwcc  
    OP
       64 天前
    @Marionic0723 这个试过不太行,因为我从这个虚拟机访问同宿主的其他虚拟机好像是不走 openwrt 的。
    misaka19000
        10
    misaka19000  
       64 天前 via Android
    TPlink 路由器自带访客功能
    FrankAdler
        11
    FrankAdler  
       64 天前 via iPhone   ❤️ 1
    我也有这个需求,不过我宿主机是 pve ,感觉需要在宿主机上下功夫,因为有些包可能不过路由
    docx
        12
    docx  
       64 天前 via iPhone
    我用 OpenWRT 是弄两个接入点,一个自己用,另一个给访客开启内网隔离
    asilin
        13
    asilin  
       64 天前 via Android
    很简单:
    1. 将某一台主机和临时虚拟机划到另外一台网段
    2. 在这台拥有两个网段的主机上,做 DNAT ,将临时虚拟机的部分端口(例如 22 端口)映射出来,这样访问原来网段这台机器的 ip ,就会映射到临时虚拟机。
    3. 在这台虚拟机上使用 iptables 禁止临时虚拟机访问本机,达到隔离临时虚拟机的目的。

    最终,只要临时虚拟机 ip 不乱改动,就无法访问局域网内其他主机,实现你的目的。

    当然了,如果对方使用混杂模式抓包,或者为虚拟机增加新的 ip 网段,就有可能突破你的限制,不过,你的朋友会这么做吗?
    paradoxs
        14
    paradoxs  
       64 天前
    路由器里面有个访客模式, 通常这个模式下都会带有一个选项 ,叫“禁止访问内网设备”

    用这个就行。
    someonesnone
        15
    someonesnone  
       64 天前 via iPhone
    Guest wifi
    bigfei
        16
    bigfei  
       63 天前 via Android
    hyperv 上设置 guest 的 vlanid ,然后路由器上配置 vlan 之间的 firewall ,block VLAN 的访问即可。
    lonely701
        17
    lonely701  
       63 天前
    我能想到的最简单的也很安全的方法,这台主机单独拨号上网,这样就有两个物理上完全隔离的局域网了。缺点是另外需要一台路由器,然后光猫一般来说只有一个千兆口,你外面朋友用的这台机器就只能跑百兆了。
    cwcc
        18
    cwcc  
    OP
       63 天前
    网络就没有简单的😭感觉再搞十年网络也依然是小白。
    luoshengdu
        19
    luoshengdu  
       62 天前   ❤️ 1
    @cwcc 软路由不知道有没有多个物理网口做 lan 口的,如果有,参考图中物理网口 3 [最简单的实现,但是局域网互通性能不好] ;否则在 lan 口添加一个 vlan ,然后在 hyper-v 内增加虚拟机的网络设备填写 vlan 号。 然后防火墙做规则禁止两个网段互通 [vlan 的方式局域网互通性能好]

    我的主用网段是 10.1.1.0/24 ; nas 在 10.1.9.x 里面; 172.16 里面放一些实验性的东西。然后做防火墙相互拒绝访问即可
    whyou
        20
    whyou  
       62 天前
    @luoshengdu 我觉得你这个思路最可行的。而且本来就不需要这两个接口之间局域网互通的嘛。
    Kowloon
        21
    Kowloon  
       61 天前 via iPhone
    VLAN
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2017 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 12:03 · PVG 20:03 · LAX 05:03 · JFK 08:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.