解决开启 IPv6 防火墙后 Unraid Connect 无法使用的问题

给 Unraid 开启 ip6tables 后,发现 Unraid Connect 报错 Unraid API Error, Cloud: socket closed 并且无法备份配置文件了。

2024-06-10 update:
问题解决了,应该是我防火墙没加 ESTABLISHED,RELATED 规则(

ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

推测是防火墙的问题,于是一番查询后发现 Unraid Connect 是由 unraid-api 这个二进制提供的。那就来看看它用的是哪个端口好啦。

lsof -i -P -n | grep unraid-ap
unraid-ap 5448   root   19u  IPv4  21972      0t0  UDP 192.168.1.100:54435 
unraid-ap 5448   root   20u  IPv6  21973      0t0  UDP [2001:xxxx]:51423 
unraid-ap 5448   root   21u  IPv6  21974      0t0  UDP [2001:xxxx]:36283 
unraid-ap 5448   root   25u  IPv6  56784      0t0  TCP [2001:xxxx]:35856->[2606:xxxx]:443 (SYN_SENT)

猜测一下应该是 IPv6 的 35856 端口,那我们用 ip6tables -A INPUT -p tcp --dport 35856 -j ACCEPT 打开这个端口试试。刷新一下控制台发现问题解决了。但这个端口似乎是每次启动后会变的,那就比较麻烦了。

继续阅读“解决开启 IPv6 防火墙后 Unraid Connect 无法使用的问题”

为 Unraid 开启 ipv6 防火墙

最近 Arteria 这家 ISP 抽风,IPv4 很难用,于是便把 Unraid 的 IPv6 打开了。由于这边的 DHCP v6 和 RA 均为 Relay,路由器防火墙不能管理 IPv6 的数据包,这也就导致开启了 IPv6 的 Unraid 服务器直接暴露于 IPv6 公网中。并且 Unraid 默认并没有任何防火墙设置,很不安全。
但 Unraid 系统内有安装 iptables 和 ip6tables,所以配合 User Scripts 这个插件,我们便可实现启动后自动设置 ip6tables 的操作,进而强化服务器安全性。

继续阅读“为 Unraid 开启 ipv6 防火墙”