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

2022-07-31 09:22:30 +08:00
 cwcc

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

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

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

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

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

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

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

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

我的主用网段是 10.1.1.0/24 ; nas 在 10.1.9.x 里面; 172.16 里面放一些实验性的东西。然后做防火墙相互拒绝访问即可
whyou
2022-08-02 10:48:48 +08:00
@luoshengdu 我觉得你这个思路最可行的。而且本来就不需要这两个接口之间局域网互通的嘛。

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

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

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

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

© 2021 V2EX