需求就是给外面的伙伴开一个虚拟机让他临时用,但是由于家里设备比较多,且存在一些比较敏感的设备比如摄像头,NAS 等。虽然都有密码保护,但远不如直接隔离或者配置策略禁止访问来的安全。
主路由是 OpenWrt 软路由,可调,虚拟机为 Hyper-V 桥接,也就是目前网络架构是一个软路由拨号的大平层内网。
想让这台主机无法 ping 和连到别的私有主机,假设它的 IP 是 192.168.10.17 ,不能连接除 192.168.10.1 和 192.168.10.5 这两台设备之外的设备。
之前想到并应用的策略是在那台虚拟机内写 iptables ,但是这样只能给伙伴开放非 root 权限了。
1
carrionlee 2022-07-31 09:30:56 +08:00 via iPhone
vlan
|
2
ericbize 2022-07-31 09:38:14 +08:00
看看有没有 交换机 acl 选项
|
3
liuweisj 2022-07-31 10:02:50 +08:00
openwrt 上再创建个 lan 比如 192.168.11.0/24 ,然后 iptables 里限制 2 个网段之间的访问
|
4
winglight2016 2022-07-31 10:16:48 +08:00
这需求很古怪,你不想他访问局域网其他机器,那么你让他使用局域网里的机器有什么特别意义吗?没有的话,公网 vps 不是更方便?
|
5
cwcc OP @winglight2016 不古怪呀,我家里有计算资源,公网 VPS 成本不小了,而且带宽也没有家里的大。
|
7
chunchu 2022-07-31 11:26:33 +08:00
也想过这么干,但是还没有实施。主要是想把摄像头和小米的设备单独设置一个 vlan
|
8
Marionic0723 2022-07-31 11:46:47 +08:00 via Android
openwrt 配置防火墙规则,192.168.10.17 ,到 LAN 全部拒绝,然后在这个规则上面(优先级)增加允许 10.1 和 10.15 。
|
9
cwcc OP @Marionic0723 这个试过不太行,因为我从这个虚拟机访问同宿主的其他虚拟机好像是不走 openwrt 的。
|
10
misaka19000 2022-07-31 12:50:48 +08:00 via Android
TPlink 路由器自带访客功能
|
11
FrankAdler 2022-07-31 14:03:01 +08:00 via iPhone 1
我也有这个需求,不过我宿主机是 pve ,感觉需要在宿主机上下功夫,因为有些包可能不过路由
|
12
docx 2022-07-31 14:23:06 +08:00 via iPhone
我用 OpenWRT 是弄两个接入点,一个自己用,另一个给访客开启内网隔离
|
13
asilin 2022-07-31 14:25:07 +08:00 via Android
很简单:
1. 将某一台主机和临时虚拟机划到另外一台网段 2. 在这台拥有两个网段的主机上,做 DNAT ,将临时虚拟机的部分端口(例如 22 端口)映射出来,这样访问原来网段这台机器的 ip ,就会映射到临时虚拟机。 3. 在这台虚拟机上使用 iptables 禁止临时虚拟机访问本机,达到隔离临时虚拟机的目的。 最终,只要临时虚拟机 ip 不乱改动,就无法访问局域网内其他主机,实现你的目的。 当然了,如果对方使用混杂模式抓包,或者为虚拟机增加新的 ip 网段,就有可能突破你的限制,不过,你的朋友会这么做吗? |
14
paradoxs 2022-07-31 14:26:43 +08:00
路由器里面有个访客模式, 通常这个模式下都会带有一个选项 ,叫“禁止访问内网设备”
用这个就行。 |
15
someonesnone 2022-07-31 19:49:25 +08:00 via iPhone
Guest wifi
|
16
bigfei 2022-07-31 22:30:44 +08:00 via Android
hyperv 上设置 guest 的 vlanid ,然后路由器上配置 vlan 之间的 firewall ,block VLAN 的访问即可。
|
17
lonely701 2022-08-01 11:41:37 +08:00
我能想到的最简单的也很安全的方法,这台主机单独拨号上网,这样就有两个物理上完全隔离的局域网了。缺点是另外需要一台路由器,然后光猫一般来说只有一个千兆口,你外面朋友用的这台机器就只能跑百兆了。
|
18
cwcc OP 网络就没有简单的😭感觉再搞十年网络也依然是小白。
|
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 里面放一些实验性的东西。然后做防火墙相互拒绝访问即可 |
20
whyou 2022-08-02 10:48:48 +08:00
@luoshengdu 我觉得你这个思路最可行的。而且本来就不需要这两个接口之间局域网互通的嘛。
|
21
Kowloon 2022-08-03 09:07:35 +08:00 via iPhone
VLAN
|