2024-11-09 17:56:43
仅仅更新了一点微小的东西。
又几个月过去了,没有什么设备变化,主要是网络上的变化。
跟 cola 大老板起了一个 OpenVPN,用于互相内网访问资源,当然因为一些网段冲突了所以无法访问。
在 Wireguard 的基础上起了个 VXLAN,于是在我这边开了个 VLAN,并且在 GS316EPP 处设置好 VLAN 并物理接入了一台设备,这台设备直接从对方的 Router 获取 DHCP,从而除了变相的实现代理上网以外,同时也能直接访问所在网段的资源。
因为其余不是我设置的,我只能发一下 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
其中,SynologyUsername
和 SynologyPassword
是你的群晖登录信息。也不要忘记更改 //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 {} \;
此时就大功告成了。因为我给自己开了个用户,所以我还需要将自己添加至 render
和 lxc_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>如果上面没有加载出任何东西,可以点击这里。
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>如果上面没有加载出任何东西,可以点击这里。
2024-07-21 11:41:20
注意:这里讨论的是 mstsc.exe。
经常我在使用系统的远程桌面连接来连接 RDP 的时候选择了保存密码,但下一次连接时依然会让我输入密码。这太糟心了!
于是我从网上嫖了一个方法,打开你的 PowerShell:
cmdkey /list:TERMSRV/*
列出你所有存储的 RDP 登录信息。cmdkey /delete:<你的 target 名字>
先删除它。cmdkey /generic:TERMSRV/<IP 地址或者域名> /user:<用户名> /pass:<密码>
重新添加一个 Generic Type 的 Target。如果喜欢本文,欢迎点击下方的「鼓掌」按钮!
<noframes>This browser has disabled frames.</noframes>如果上面没有加载出任何东西,可以点击这里。
2024-06-28 15:14:23
也是一个小升级。
为了后续想部署一些 PoE+ 的设备,并且交换机还得有 VLAN 配置,所以购买了 Netgear 家的 GS316EPP。
然后,感觉现在的 9U 柜子太小,就想买个大点的柜子,然后为了让卧室变安静所以想放在客厅。结果当然是发现买的 12U 也太小了,里面真的超级热。
并且,我想将我的房间跟主干网(这个后续本来就想弄在客厅)之间使用光纤连接。正好我手上的 GS316EPP 和 CCR1009 都有 SFP 口。
首先将所有设备搬到客厅的机柜内,然后针对两个房间连接的需求拉明线(钉墙上)。因为我的移动光纤接入点在我的卧室,所以还需要买针对这个情况的光纤延长线。
之后,Mikrotik 上因为基本所有的设备都变动了,所以大改了一下。
随着网口设备的变动,VLAN 也要跟着变动:
基本就完成了。因为想把一些吵的设备放在客厅,其中包括了一些工作用的开发板,所以稍微对 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 肯定跟你共用 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 就不会随着你的手机跑了。
本来有一个可以在 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>如果上面没有加载出任何东西,可以点击这里。
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 为话费。
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 外,各个核心服务在断电后需要正常关机的问题。
因为将 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>如果上面没有加载出任何东西,可以点击这里。