Logo

site icon251 | 电酱

由昵称“猫C”或“电酱”的作者运营,分享开源、游戏、动漫等兴趣,注重编程风格和个人品味。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

251 | 电酱 RSS 预览

我的 5.10.1 代 homelab

2024-11-09 17:56:43

仅仅更新了一点微小的东西。

为什么又双叒叕升级了?

又几个月过去了,没有什么设备变化,主要是网络上的变化。

跟 cola 大老板起了一个 OpenVPN,用于互相内网访问资源,当然因为一些网段冲突了所以无法访问。

在 Wireguard 的基础上起了个 VXLAN,于是在我这边开了个 VLAN,并且在 GS316EPP 处设置好 VLAN 并物理接入了一台设备,这台设备直接从对方的 Router 获取 DHCP,从而除了变相的实现代理上网以外,同时也能直接访问所在网段的资源。

现在是个什么样子?

2024.11 的构造.png

怎么在已有的上面配置?

因为其余不是我设置的,我只能发一下 GS316EPP 的设置:

VLAN ID lan1 lan13 lan14 lan15 lan16
1 U - T T U
10 - - T T T
20 - - T T T
30 - - T T T
50 - U - - T
40 - - T T T
100 - - T T T
200 - - T T T

大功告成。

自动化压制?

每一周现在我都会压制日本电视的录制,目前都是在我自己的 PC 上压制,感觉很费时间,还要手动上传,打算借着将 E5 OneDrive for Business 同步接入 QNAP 的东风顺便把自动压制做了。

经过一个小时的考察,打算在 Proxmox 上再开一个 lxc,用 iGPU 来压制,这样可以跟 Jellyfin 共用一个 iGPU。如果在 QNAP 或者 Synology 上实现虽然也不是不行,但是感觉会影响 CPU,因为 yadif 这种 deinterlacer 好像是在 CPU 上跑的?

遂开始新建一个 Unprivileged container,同样的,因为我的 E5 同步是在 NAS 上的,所以要在 host 创建一个目录用于挂载文件。

mkdir -p /mnt/lxc_shares/e5

然后将挂载的相关信息写入 /etc/fstab

{ echo '' ; echo '# Mount CIFS share on demand with rwx permissions for use in LXCs ' ; echo '//SynologyIP/mount/QNAP-e5 /mnt/lxc_shares/e5 cifs _netdev,x-systemd.automount,noatime,uid=100000,gid=110000,dir_mode=0770,file_mode=0770,user=SynologyUsername,pass=SynologyPassword 0 0' ; } | tee -a /etc/fstab

其中,SynologyUsernameSynologyPassword 是你的群晖登录信息。也不要忘记更改 //SynologyIP/mount/QNAP-e5 这一部分,例如 //10.0.0.1/Videos

_netdev 让 systemd 认为挂载的是一个网络载点。

x-systemd.automount 如果 NAS 离线然后重新在线了,可以让它被自动挂载。

noatime 设置读取文件(夹)的时候不修改时间戳。

uid=100000,gid=110000 的设置是为了让 host 跟 LXC 内的 UID 和 GID 对应上。简单来说,host 内的 UID 是 100000 的话,LXC 内对应的 UID 就是 0。host 内的 GID 是 110000 的话,LXC 内对应的 GID 就是 10000。

dir_mode=0770,file_mode=0770 设置只有这个 UID 和 GID 才有读写执行权限。Proxmox 的 root 用户对任何文件都有权限。

接下来手动挂载。后面重启之后就是自动挂载。

mount /mnt/lxc_shares/e5

假设你已经创建好了 LXC,修改你的 LXC 设置。

{ echo 'mp0: /mnt/lxc_shares/e5,mp=/mnt/backup' ; } | tee -a /etc/pve/lxc/LXC_ID.conf

我这里需要读写文件夹(压制完再 copy 回去,从而直接上传到 E5),所以去掉了 ro=1

不要忘记将 LXC_ID.conf 里面的 LXC_ID 修改成你实际的 ID。

随后进入 LXC 的终端,添加一个用户组。GID=10000 的话会跟 host 的 GID=110000 对应上。

groupadd -g 10000 lxc_shares

因为我们之前已经做了 Jellyfin 的编解码支持已经设置过一次了,只需要照猫画虎。但这里我遇到了一个问题,我发现跟 Jellyfin 那边不同,我这边的 render 组默认是 993,而 108 被一个叫做 rdma 的组占领了。

root@machine:~# cat /etc/group | grep render
render:x:993:

此时我们需要做一个交换,思路就是,先更改 rdma 组的 GID 为 110,然后过一遍 filesystem 上的文件,将 108 组所有的文件改成 110,最后再将 render 组的 GID 更改为 108。

groupmod -g 110 rdma
groupmod -g 108 render
find / -gid 108 ! -type l -exec chgrp 110 {} \;

此时就大功告成了。因为我给自己开了个用户,所以我还需要将自己添加至 renderlxc_shares

usermod -aG render misaka00251
usermod -aG lxc_shares misaka00251

之后我在 lxc 内用 qsv 遇到了各种莫名其妙的问题,甚至遇到了 Intel 都知道的 bug,然后我转投了 vaapi 虽然可以压制但是画质不尽人意,而且参数非常复杂,最终跟 qsv 硬刚了一个周末,因为 bug 的原因,以前用 hevc 压制,目前只能用 h264 压制了。期待我能找到更好的方法吧。

压制脚本我就先留着不放了吧,怕还有 bug,有需要可以戳我,我单独给你 :D


如果喜欢本文,欢迎点击下方的「鼓掌」按钮!

<noframes>This browser has disabled frames.</noframes>

如果上面没有加载出任何东西,可以点击这里

中国移动吉比特 P22g-Clac 企业网关 telnet 教程

2024-08-27 00:57:29

本来我是想获取 LOID 的,结果未果,先记录一下吧。

访问 192.168.1.1 使用用户名 CMCCAdmin 登录,密码为 aDm8H%MdA。此时,你应该会被跳转到 192.168.1.1/start.ghtml 这个页面,此时不要关闭这个标签页 A。

新开一个浏览器标签页 B 或者窗口,访问 http://192.168.1.1/usr=CMCCAdmin&psw=aDm8H%MdA&cmd=1&telnet.gch,如果出现 error 1010 代表你的密码错了,如果出现 TelnetSet Success! 代表 telnet 被开启了。

然后在这个新开的标签页 B 内访问 http://192.168.1.1/getpage.gch?pid=1002&nextpage=tele_sec_tserver_t.gch,就可以看到 Telnet 的设置窗口,但不要在这里设置,我们回到最初的 URL 为 192.168.1.1/start.ghtml 的标签页 A,点击刷新,此时应该就会加载跟新标签页 B 一样的 Telnet 设置窗口。

这一步非常重要,如果是在新开的标签页 B 内更改密码的话是不会生效的。

在最初的标签页 A 内设置 telnet 密码之后,可以使用 putty 等软件用 telnet 协议登录啦。

用户名是 CMCCAdmin,密码就是你自己刚刚设置的密码。进入光猫之后,输入 su 来获取 root 权限,密码是 aDm8H%MdA

然后运行 sidbg 1 DB decry /userconfig/cfg/db_user_cfg.xml 来 dump 你现在的光猫配置。解密后的文件在 /tmp/debug-decry-cfg,如果想获取全文的话可以开启 putty 的 log output 功能,这样 cat 一下这个文件就可以变相的存在你的电脑上了。

但我在这个配置文件里面完全没有看到 LOID 信息,这个企业网关貌似不重置也无法重新认证来下发业务数据。不过在光猫的关于认证的设置页面里,可以看到 Password 模式 / LOID 模式 / SN 模式一闪而过,但随后又显示认证成功了。


如果喜欢本文,欢迎点击下方的「鼓掌」按钮!

<noframes>This browser has disabled frames.</noframes>

如果上面没有加载出任何东西,可以点击这里

奇怪的 RDP 不保存密码的现象

2024-07-21 11:41:20

注意:这里讨论的是 mstsc.exe。

经常我在使用系统的远程桌面连接来连接 RDP 的时候选择了保存密码,但下一次连接时依然会让我输入密码。这太糟心了!

于是我从网上嫖了一个方法,打开你的 PowerShell:

  1. cmdkey /list:TERMSRV/* 列出你所有存储的 RDP 登录信息。
  2. 你可能会发现,每次都让你连接的那个 Target 的 Type 时 Domain Password。使用命令 cmdkey /delete:<你的 target 名字> 先删除它。
  3. 之后,我们使用 cmdkey /generic:TERMSRV/<IP 地址或者域名> /user:<用户名> /pass:<密码> 重新添加一个 Generic Type 的 Target。
  4. 再去连接看看,应该完全没问题了。

如果喜欢本文,欢迎点击下方的「鼓掌」按钮!

<noframes>This browser has disabled frames.</noframes>

如果上面没有加载出任何东西,可以点击这里

我的 5.10 代 homelab

2024-06-28 15:14:23

也是一个小升级。

为什么又双叒叕升级了?

为了后续想部署一些 PoE+ 的设备,并且交换机还得有 VLAN 配置,所以购买了 Netgear 家的 GS316EPP。

然后,感觉现在的 9U 柜子太小,就想买个大点的柜子,然后为了让卧室变安静所以想放在客厅。结果当然是发现买的 12U 也太小了,里面真的超级热。

并且,我想将我的房间跟主干网(这个后续本来就想弄在客厅)之间使用光纤连接。正好我手上的 GS316EPP 和 CCR1009 都有 SFP 口。

现在是个什么样子?

2024.06 的构造.png

怎么在已有的上面配置?

客厅

首先将所有设备搬到客厅的机柜内,然后针对两个房间连接的需求拉明线(钉墙上)。因为我的移动光纤接入点在我的卧室,所以还需要买针对这个情况的光纤延长线。

之后,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左右徘徊,感觉还行……估计又要买大一点的机柜了。

参考链接


如果喜欢本文,欢迎点击下方的「鼓掌」按钮!

<noframes>This browser has disabled frames.</noframes>

如果上面没有加载出任何东西,可以点击这里

我的 5.9 代 homelab

2024-05-07 08:00:00

不算大升级吧。

为什么又双叒叕升级了?

Dell optiplex 7060 不是很稳定。第一次出现不稳定是当时起了个 Gentoo 的 LXC,然后里面编译 glibc 的时候总是死机。之后就是莫名其妙的死机了好几次。最终想要一台 MS-01 替换掉这台 optiplex,前者比后者性能又强大,还省电。并且,客厅目前的 Koyori 风扇太吵了,打算将 Koyori 的职责推到 Proxmox 上的 Yamada 上。还好我早已经将 HomeFolder 放到 Synology 上了。

五一黄金周的时候,朋友告诉我移动企业宽带的优惠回来了,遂办了一根。200Mbps 上下行对等,1 个静态 IP,3600 一年,每年返费 1800 为话费。

现在是个什么样子?

2024.05 的构造.png

Koyori 虽然放到了我的房间,但是已经不是 7*24 小时运行的状态了。睡觉的时间点是 99.9999% 不会开它的。

怎么在已有的上面配置?

因为我要将 Koyori 从 Linksys 上拔出了,Dell Optiplex 也要从 Mikrotik 上拔出了,正好 Redmi AX6000 还有一个 LAN 空位,而且我正好配置给了 VLAN 10,所以我将 Mikrotik 上原来分配给 Dell Optiplex 的 eth2 分给了企业宽带,而 Koyori 插到了 AX6000 上。因为是静态 IP 的连接方法,所以直接在 IP Address 处设置好静态 IP 的参数就行了。

然后去 Mangle 规则那边设置 mark routing,我将 VLAN 10 划分给了企业宽带,因为可以用端口开各种服务了(80 和 443 还挺麻烦的,别的端口可以用)。

之后,因为我之前的 Proxmox 设置了 Synology 上的备份,所以再做一次备份之后直接在 MS-01 上恢复即可。

Koyori 上还有一些服务,也一并花时间迁移到了新的 Proxmox 上,这方面单独写了博客文章。

同时,这样也正好解决了除了 Mikrotik 外,各个核心服务在断电后需要正常关机的问题。

VLAN 划分又出了问题?

因为将 Proxmox 搬到了客厅,虽然 VLAN 10 可以应用到大多数的机器,但是 Proxmox 内有一个 UU 加速器,需要 VLAN 40。现在的奇怪现象是,Mikrotik 能检测到这台 VM,并且有 offer IP,但是 OpenWRT 拿不到这个 IP。想了半天感觉不是 OpenWRT 的问题,应该是我需要重新划分 VLAN。到 Linksys 后台看果然是这样。

那么怎么设置呢?只需要将对应网口的 VLAN 30 和 40 设置为 Tagged 即可。因为后续可能在 30 下面搞一些东西,所以将 30 也先勾选上了。

VLAN ID Local lan1 lan2 lan3 lan4 wan
1 v - - - - U
10 v U U U U T
20 v - - - - T
30 v - T - - T
40 v - T - - T
100 v - - - - T
200 v - - - - T

设置完之后,必须重启 OpenWRT 才生效

期待下一次 homelab 会变成什么样子呢!


如果喜欢本文,欢迎点击下方的「鼓掌」按钮!

<noframes>This browser has disabled frames.</noframes>

如果上面没有加载出任何东西,可以点击这里