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

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

  •  
  •   cwcc · 2022-07-31 09:22:30 +08:00 · 5500 次点击
    这是一个创建于 606 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    用这个就行。
    someonesnone
        15
    someonesnone  
       2022-07-31 19:49:25 +08:00 via iPhone
    Guest wifi
    bigfei
        16
    bigfei  
       2022-07-31 22:30:44 +08:00 via Android
    hyperv 上设置 guest 的 vlanid ,然后路由器上配置 vlan 之间的 firewall ,block VLAN 的访问即可。
    lonely701
        17
    lonely701  
       2022-08-01 11:41:37 +08:00
    我能想到的最简单的也很安全的方法,这台主机单独拨号上网,这样就有两个物理上完全隔离的局域网了。缺点是另外需要一台路由器,然后光猫一般来说只有一个千兆口,你外面朋友用的这台机器就只能跑百兆了。
    cwcc
        18
    cwcc  
    OP
       2022-08-01 18:03:09 +08:00
    网络就没有简单的😭感觉再搞十年网络也依然是小白。
    luoshengdu
        19
    luoshengdu  
       2022-08-01 20:58:28 +08:00   ❤️ 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  
       2022-08-02 10:48:48 +08:00
    @luoshengdu 我觉得你这个思路最可行的。而且本来就不需要这两个接口之间局域网互通的嘛。
    Kowloon
        21
    Kowloon  
       2022-08-03 09:07:35 +08:00 via iPhone
    VLAN
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3319 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:35 · PVG 21:35 · LAX 06:35 · JFK 09:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.