我的 5.10 代 homelab
也是一个小升级。
为什么又双叒叕升级了?
为了后续想部署一些 PoE+ 的设备,并且交换机还得有 VLAN 配置,所以购买了 Netgear 家的 GS316EPP。
然后,感觉现在的 9U 柜子太小,就想买个大点的柜子,然后为了让卧室变安静所以想放在客厅。结果当然是发现买的 12U 也太小了,里面真的超级热。
并且,我想将我的房间跟主干网(这个后续本来就想弄在客厅)之间使用光纤连接。正好我手上的 GS316EPP 和 CCR1009 都有 SFP 口。
现在是个什么样子?
怎么在已有的上面配置?
客厅
首先将所有设备搬到客厅的机柜内,然后针对两个房间连接的需求拉明线(钉墙上)。因为我的移动光纤接入点在我的卧室,所以还需要买针对这个情况的光纤延长线。
之后,Mikrotik 上因为基本所有的设备都变动了,所以大改了一下。
- SFP+ 口原来是空的,目前作为跟卧室 SFP 口连接的发射端。SFP 模块使用的是 S-85DLC05D。
- ETH 口(这是个 combo port,它的旁边还有一个 SFP 口,两者只能同时用一个)原来是在 SFP 口接入了猫棒,用于联通宽带拨号,目前是作为 Linksys E8450 的口。
- ETH1 口原来是作为移动家宽接入,不变。
- ETH2 口原来是作为移动企宽接入,不变。
- ETH3 口忘记原来作为什么了,目前作为 Synology 的口。
- ETH4 口原来是作为鲲鹏机器的网口,目前作为 QNAP 的口。
- ETH5 口原来是作为 Redmi AX6000 的网口,目前作为 MS-01 的口。
- ETH6 口原来是作为 Linksys E8450 的网口,目前作为联通家宽接入,这次购买了另一块 VSOL V2802RH 来作为联通宽带的拨号。
- ETH7 口备用,作为管理口。
随着网口设备的变动,VLAN 也要跟着变动:
- LANBridge 仅包含 eth3、eth4、eth5、eth7、combo1 和 sfp-sfpplus1。
- 对设置 Bridge 下的 Ports 进行设置,其中 eth3、eth4 和 eth5 的 PVID 为 10,剩下均为 1
- VLAN 1: 对 LANBridge、combo1 & sfp-sfpplus1 做 Unagged
- VLAN 10: 对 LANBridge、combo1 & sfp-sfpplus1 做 Tagged,对 eth5、eth3 和 eth4 做 Untagged
- VLAN 20、30、40、100 & 200: 对 LANBridge、combo1、sfp-sfpplus1 eth5 做 Tagged
基本就完成了。因为想把一些吵的设备放在客厅,其中包括了一些工作用的开发板,所以稍微对 Linksys 的 VLAN 进行调整:
VLAN ID | Local | lan1 | lan2 | lan3 | lan4 | wan |
---|---|---|---|---|---|---|
1 | v | - | - | - | - | U |
10 | v | U | U | - | - | T |
20 | v | - | - | - | - | T |
30 | v | - | - | U | U | T |
40 | v | - | - | - | - | T |
100 | v | - | - | - | - | T |
200 | v | - | - | - | - | T |
基本就完成了。
卧室
卧室的新交换机上,16 号口为 SFP,插入的同样为 Mikrotik S-85DLC05D 光模块。
随后就是设置 VLAN,选择 802.1Q Advanced 之后开始设置。这里我就小小的偷懒一下了。
VLAN ID | lan1 | lan14 | lan15 | lan16 |
---|---|---|---|---|
1 | U | T | T | U |
10 | - | T | T | T |
20 | - | T | T | T |
30 | - | T | T | T |
40 | - | T | T | T |
100 | - | T | T | T |
200 | - | T | T | T |
其它口没有插,就空着吧。1 号口之所以 lan 设置成 Untagged 是因为想用这个口也能作为管理口。
然后卧室基本也大功告成了,因为剩下的设备不动,RX6000 还留着呢,有开发板可以往上面插。
遇到的坑
接好光纤没有网
我这样光纤内网对内网传输的话不要勾选 sfp-sfpplus(也就是 SFP+)口 Ehternet 内的 Auto Negotiation,需要手动选择 Speed 为 1G base X。这样的话你会遇到一个看似光纤通了,发送端有在发包但是接收端没有反应的情况。我被这个坑了快 1 个小时。
homepod 指定 Wi-Fi
因为 homepod 肯定跟你共用 Apple ID,而像我一样你自己的手机连上 Self Network 的话,在 IoT Network 的 homepod 会不时地尝试连接到跟你手机一样的 Wi-Fi 网络,这样就糟糕啦!
还好我们可以通过下发配置文件解决这个问题。当然,你需要一台 Mac。
首先,下载 Apple Configurator。然后打开它,点击 File > New Profile 来创建一个新的配置文件。
之后,找到程序左侧的 Wi-Fi,并填写好你的 IoT Wi-Fi 信息。最后不要忘记在 General 那里给自己的配置文件起个名字。最后点击 File > Save,编写配置文件大功告成了。
接下来,我们需要将配置文件 AirDrop 到你的 iOS 设备上。发送成功之后,你的 iOS 设备应该会自动弹出这个配置文件问你安装到哪里,选择其它装置,然后选择你的 homepod。接下来安装即可。
通常,你可能要多试几次——甚至要将你的手机靠近 homepod,或者临时的将手机和 homepod 放在同一个 Wi-Fi 下,不过成功之后,你的 homepod 就不会随着你的手机跑了。
homepod 跨 VLAN 通过别的苹果设备连接不上
本来有一个可以在 RouterOS 上部署 Bonjour-reflector 的(见参考链接第二条),但我的 Mikrotik 设备并不支持 container 特性。Mikrotik 官方说他们会有一个简单的关于 mDNS 的解决方法,但现在依然没兑现。
不过还好,在 Mikrotik 论坛内有人弄出来了只用 Bridge filter 的办法,试了一下还真的能用。
首先,创建你想让 homepod 在哪些 VLAN 工作的 MACVLAN:
/interface macvlan add interface=ServerVLAN name=macvlan10
/interface macvlan add interface=SelfVLAN name=macvlan20
/interface macvlan add interface=IoTVLAN name=macvlan100
/interface macvlan add interface=GuestVLAN name=macvlan200
然后,创建一个 non-VLANed 的桥,并将所有的 MACVLAN 添加进去。
/interface bridge add name=BridgemDNS protocol-mode=none
/interface bridge port add bridge=BridgemDNS interface=macvlan10
/interface bridge port add bridge=BridgemDNS interface=macvlan20
/interface bridge port add bridge=BridgemDNS interface=macvlan100
/interface bridge port add bridge=BridgemDNS interface=macvlan200
接下来,设置这个桥的 Filters 规则,在这个桥上只允许 mDNS 流量。
/interface bridge filter add action=accept chain=forward comment="Allow mDNS only" dst-address=224.0.0.251/32 dst-mac-address=01:00:5E:00:00:FB/FF:FF:FF:FF:FF:FF dst-port=5353 in-bridge=BridgemDNS ip-protocol=udp mac-protocol=ip out-bridge=BridgemDNS src-port=5353
/interface bridge filter add action=drop chain=forward in-bridge=BridgemDNS out-bridge=BridgemDNS comment="Drop all other L2 traffic"
最后,记录下你这个新桥的 MAC 地址,创建一个桥的 NAT 规则。将下方的 11:22:33:44:55:66 改成你桥的 MAC 地址。
/interface bridge nat add action=src-nat chain=srcnat dst-mac-address=01:00:5E:00:00:FB/FF:FF:FF:FF:FF:FF to-src-mac-address=11:22:33:44:55:66 comment="SNAT to Primary VLAN bridge"
大功告成了。
机柜太热
这个没办法,肯定要加散热的东西。不过现在硬盘在 50 多°C左右徘徊,感觉还行……估计又要买大一点的机柜了。
参考链接
- https://old.reddit.com/r/HomePod/comments/10jw15k/specify_homepod_wifi_connection_with/
- https://github.com/nberlee/bonjour-reflector/blob/main/docs/RouterOS/README.md
- https://forum.mikrotik.com/viewtopic.php?t=204025
如果喜欢本文,欢迎点击下方的「鼓掌」按钮!
如果上面没有加载出任何东西,可以点击这里。