1228 日 , 2024 1:03:29
年前小聚

虽然今年加班很多很累,但在今年这么困难的日子里,公司还是发出了预期的工资,还是比较欣慰的。

年前小聚插图

趁发了年终奖,和几个狐朋狗友一起小聚,喝了两三杯,一起吹吹逼,埋怨下傻逼同事,吐槽吐槽工作生活中遇到的烦恼事儿。

年前小聚插图1

607 日 , 2024 23:56:27
Unraid 无法远程访问 Web UI

家里某次停电,重启Unraid后,发现无法通过 ZeroTier 在外网访问 Unraid 的 Web 页面,但是可以通过IPV6地址直接访问。

在网上查阅资料后发现,其他的端口可以正常访问,是默认的 80 端口出现了问题。Unraid 的 Web 服务器默认监听 80 端口。

根据网上给出的解决方案,在“网络设置” 的 “Interface Extra” 中配置监听的网络接口,默认只监听内网接口 br0,这时只能内网访问。

需要在下方的网关设置中,找到 ZeroTier 网段的网关,类似“ztcfww5wot”(每个人都不一样),将它填入"Include listening interfaces"。

image-20240607235221201

进命令行,ifconfig。找到 zerotier,比如我是

image-20240607235326358 就是这串,ztcfww5wot

应用改动后 Unraid 就会同时监听内外网接口,可以通过 ZeroTier 访问 Web UI 了。 但是重启后仍然会重置网络配置,虽然"Include listening interfaces"中仍然还有“ztcfww5wot”,似乎不起作用了,需要删除,重新进行添加,注意删除后要先应用。

  1. ABC : 请问重启后无法通过zerotier容器访问web ui目前有新的解决方案吗?
    • 小电脑 博主 : 我是通过我上面提到的方法就可以实现外网访问了,删除然后重新添加zerotier的监听接口,就可以了,其他的方法我也不清楚
  2. ABC : !/bin/bash 功能:修复Unraid重启后ZeroTier无法访问Web UI的问题(含IP自动检测) 作者:DeepSeek-R1 版本:v2.0 依赖:User Scripts插件、Docker服务 --------------------- 配置区 --------------------- LOG_FILE="/var/log/zerotier_fix.log" # 日志文件路径 ZEROTIER_CONTAINER="zerotier" # ZeroTier容器名称 ZEROTIER_NETWORK="192.168.193.0/24" # ZeroTier分配的IP段 MAX_WAIT_DOCKER=300 # 等待Docker启动的最长时间(秒) --------------- 高级设置(非必要勿改)------------- PRIMARY_INTERFACE="br0" # 主网络接口名称 --------------------------------------------------- 初始化日志文件 echo "===== 脚本执行时间: $(date) =====" > $LOG_FILE exec 2>>$LOG_FILE 发送通知到Unraid WebUI notify -i "normal" -s "脚本启动" -d "开始修复ZeroTier访问问题..." 函数:从指定接口获取IPv4地址 get_interface_ip() { local interface=$1 尝试使用ip命令获取 local ip=$(ip -4 addr show $interface 2>/dev/null | grep -oP '(?<=inet\s)\d+(\.\d+){3}') # 如果ip命令失败则尝试ifconfig if [ -z "$ip" ]; then ip=$(ifconfig $interface 2>/dev/null | awk '/inet / {print $2}' | cut -d: -f2) fi echo $ip } 函数:验证IP格式 validate_ip() { local ip=$1 local regex='^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' if [[ $ip =~ $regex ]]; then return 0 else return 1 fi } 自动检测UNRAID_LOCAL_IP echo "[INFO] 正在检测网络接口 ${PRIMARY_INTERFACE} 的IP地址..." >> $LOG_FILE UNRAID_LOCAL_IP=$(get_interface_ip $PRIMARY_INTERFACE) if [ -n "$UNRAID_LOCAL_IP" ]; then if validate_ip $UNRAID_LOCAL_IP; then echo "[SUCCESS] 自动检测到IP: $UNRAID_LOCAL_IP" >> $LOG_FILE else echo "[ERROR] 检测到无效IP格式: $UNRAID_LOCAL_IP" >> $LOG_FILE notify -i "alert" -s "IP异常" -d "接口${PRIMARY_INTERFACE} IP格式错误" exit 1 fi else echo "[ERROR] 无法获取接口 ${PRIMARY_INTERFACE} 的IP,请检查:" >> $LOG_FILE echo "1. 网络接口名称是否正确(当前配置:$PRIMARY_INTERFACE)" >> $LOG_FILE echo "2. 是否已正确配置网络" >> $LOG_FILE notify -i "alert" -s "网络错误" -d "接口${PRIMARY_INTERFACE} IP未找到" exit 1 fi 函数:检查命令是否存在 check_command() { if ! command -v $1 &>/dev/null; then echo "[ERROR] 命令 $1 未安装,退出脚本." >> $LOG_FILE notify -i "alert" -s "依赖缺失" -d "$1 未安装" exit 1 fi } 检查必要命令 check_command "docker" check_command "iptables" 等待Docker服务就绪 echo "[INFO] 等待Docker服务启动..." >> $LOG_FILE timeout=$MAX_WAIT_DOCKER while ! docker ps &>/dev/null && [ $timeout -gt 0 ]; do sleep 5 timeout=$((timeout - 5)) done if [ $timeout -le 0 ]; then echo "[ERROR] Docker服务未在${MAX_WAIT_DOCKER}秒内启动,退出脚本." >> $LOG_FILE notify -i "alert" -s "服务超时" -d "Docker未就绪" exit 1 fi 检查ZeroTier容器状态 echo "[INFO] 检查容器 ${ZEROTIER_CONTAINER} 状态..." >> $LOG_FILE if ! docker inspect $ZEROTIER_CONTAINER &>> $LOG_FILE; then echo "[ERROR] 容器 ${ZEROTIER_CONTAINER} 不存在,请检查名称." >> $LOG_FILE notify -i "alert" -s "容器异常" -d "${ZEROTIER_CONTAINER} 未找到" exit 1 fi 确保容器处于运行状态 if [ "$(docker inspect -f '{{.State.Running}}' $ZEROTIER_CONTAINER)" != "true" ]; then echo "[WARN] 容器未运行,尝试启动..." >> $LOG_FILE docker start $ZEROTIER_CONTAINER &>> $LOG_FILE sleep 10 fi 添加iptables规则(幂等操作) echo "[INFO] 配置iptables端口转发..." >> $LOG_FILE iptables -t nat -C PREROUTING -s $ZEROTIER_NETWORK -p tcp --dport 80 -j DNAT --to-destination $UNRAID_LOCAL_IP:80 2>/dev/null if [ $? -ne 0 ]; then iptables -t nat -A PREROUTING -s $ZEROTIER_NETWORK -p tcp --dport 80 -j DNAT --to-destination $UNRAID_LOCAL_IP:80 echo "[SUCCESS] 添加iptables规则: ${ZEROTIER_NETWORK} -> ${UNRAID_LOCAL_IP}:80" >> $LOG_FILE else echo "[INFO] 规则已存在,跳过添加." >> $LOG_FILE fi 重启Nginx服务(强制重新绑定端口) echo "[INFO] 重启Nginx服务..." >> $LOG_FILE /etc/rc.d/rc.nginx restart &>> $LOG_FILE 最终状态检查 if [ $? -eq 0 ]; then echo "[SUCCESS] 脚本执行完成!" >> $LOG_FILE notify -i "normal" -s "修复成功" -d "WebUI应可通过ZeroTier访问" else echo "[ERROR] Nginx重启失败,请检查日志." >> $LOG_FILE notify -i "alert" -s "关键错误" -d "查看日志: ${LOG_FILE}" exit 1 fi
606 日 , 2024 15:40:15
2024计划

博客计划

  • hexo搭建教程
    • butterfly主题
    • https+cloudflare cdn
  • robotUI文档
    • 通信原理+kuka原理
    • 机器人学+机器人刚度
    • UG到机器人关节空间轨迹转换处理
    • pyqt界面设计
    • vrep仿真交互
    • 点云处理
  • 年度总结
  • 研究生总结
  • 机械设计网页
    • 过盈量计算
    • 花键校核
    • 轴承校核
    • 转轴校核
  • 游戏服务器
    • 森林服务器
    • 为转变者服务器
    • 泰拉瑞亚服务器
    • 文明6联机
  • typora+cos+picgo搭建个人博客系统
  • 个人数码设备整理
  • 白嫖微软云(四):免费申请office E5开发者订阅
  • arcadia面板

游戏计划

  • 巫师3:还是玩不起兴趣
  • CS2:永远的牛战士
  • 幻兽帕鲁:和朋友玩了一阵子
  • 森林:快通关了
  • 泰拉瑞亚:玩到中期,存档丢了
  • 文明6:这游戏真上头,一玩一天就过去了
  • 艾尔登法环:唯一真神
  • 帝国时代4:就和朋友开了两三把,还是太吃操作了
  • 地平线5:买了在仓库吃灰
  • 女神异闻录5皇家版:还没来得及玩
  • 庄园领主:不值98这个价,画面都做得挺不错的,内容太少了,玩一会就无聊起来了
606 日 , 2024 15:32:51
2023总结

博客

在2023年的博客中,我分享了从技术教程、软件开发、游戏攻略到机器学习等多元化的内容。每月的文章不仅记录了个人的学习轨迹和项目开发经验,如铣削机器人的设计优化、云端AI绘画平台的部署、微软云的服务搭建,以及网站和网络配置的技巧,还探讨了深度学习和电机学等专业知识。

12 月

2023-12-21内网访问:使用 Zerotier 进行打洞

9 月

2023-09-29群星攻略记录

2023-09-02铣削加工机器人(四):机器人铣削加工软件设计

2023-09-02铣削加工机器人(三):机器人加工轨迹优化

8 月

2023-08-30白嫖微软云(二):虚拟机创建和服务搭建

2023-08-28ANSYS 学习笔记(一)

2023-08-28电机学(一):导论

2023-08-28白嫖微软云(一):申请 Azure 学生订阅

2023-08-27Stable Diffusion(一):AI 绘画 AutoDL 平台云端部署

2023-08-06云服务器 + FRP+Nginx,无需添加端口,直接使用域名访问家里的任何设备

7 月

2023-07-23铣削加工机器人(二):机器人刚度性能建模及轨迹分割

2023-07-11搭建网盘聚合应用 Alist

2023-07-11DDNS+IPV6 实现外网访问

2023-07-09改善深度神经网络:超参数调试(一) 深度学习实践层面

6 月

2023-06-30机器学习与神经网络学习笔记

2023-06-04铣削加工机器人(一):机器人运动学

2023-06-01导航页搭建

2023-06-01使用 Cloudflare 自建 github 代理

5 月

2023-05-30wordpress-argon 主题

2023-05-07nginx 将域名反代到端口后 css、js、图片等样式不加载的问题

3 月

2023-03-27粒子群算法

游戏

  • 巫师3:不知为何,巫师三感觉还是玩不下去
  • BattleBlock Theater:还是没有通关,感觉需要找个人和我一起玩
  • Life is Strange:依旧没有通关
  • 返校:依旧没有通关
  • 群星:玩了几十个小时,才堪堪入门,科技树、国策太复杂了,到后期需要操作的点太多,玩起来还是挺上头的。
  • CS2:永远的牛战士。
  • LOL:大乱斗职业选手
  • 泰拉瑞亚:和朋友一起开了个存档,玩到一半存档丢了,就没玩了。

数码设备

最值得的购买:铭瑄 4060ti 16G 3099 在涨价前买的,买完就涨价了

最心痛的设备:雷神显示器 1299 买完今年618降价了300。。

游玩

毕业旅行去了南京,逛了秦淮河,明孝陵。

330 日 , 2024 14:34:56
简简单单吃个羊头

在抖音和B站经常刷到老马的视频,简简单单半分钟就干掉一个羊头,还吃的那么香,我就心动了,马上就想去试一下。

第一口还有点新鲜感,到后面冷下来又膻又腻,下不去嘴了,最后也没吃完,感觉全身都被羊头的膻味浸透了。。。羊头还是不推荐,一般人真吃不来。

简简单单吃个羊头插图

简简单单吃个羊头插图1

122 日 , 2024 8:28:55
2024株洲的第一场雪

忽如一夜春风来,千树万树梨花开。

一觉醒来,株洲就变成了一片雪白的世界~

2024株洲的第一场雪插图

2024株洲的第一场雪插图1

2024株洲的第一场雪插图2

看到别人捏的小鸭子,真可爱。

2024株洲的第一场雪插图3

1017 日 , 2023 20:53:14
901 日 , 2023 21:43:24
肠胃炎又犯了,拉肚子拉到头晕

肠胃炎犯了,上班都没去,躺了一天,吃了药还是不太管用。

实在是受不了了,看了B站的兔扒咯推荐吃点益生菌,也咨询了京东的营养师。

肠胃炎又犯了,拉肚子拉到头晕插图肠胃炎又犯了,拉肚子拉到头晕插图1

营养师推荐益生菌和消化酶一起搭配服用下,我就在京东上买了拜尔的益生菌和消化酶,现在也只能死马当活马医了。

肠胃炎又犯了,拉肚子拉到头晕插图2肠胃炎又犯了,拉肚子拉到头晕插图3

一直以来肚子就不是特别舒服,经常性的便秘和拉肚子,希望调养一段时间能好一点吧。

 

526 日 , 2023 19:17:13