0%

本文介绍基于OpenWrt 23.05,构建一个IPv6-mostly家庭网络。

目前国内三大运营商的家庭宽带基本实现了IPv6全覆盖。那么在2025年的今天,我们可以抛弃IPv4,只使用ipv6了吗?基于这个问题我在家里搞了一个纯ipv6的试验网。

所谓IPv6-mostly,个人理解就是在一个双栈的网络下。对于支持IPv6-Only的终端只使用IPv6协议栈,不使用IPv4协议栈,在访问IPv4网络时通过NAT64进行协议栈转换。对于仍然需要使用IPv4的终端,仍然维持双栈配置,从而实现平滑过渡。

这里还涉及到一系列的过渡技术,包括NAT64、DNS64、PREF64、DHCP Option 108、464XLT等。

阅读全文 »

最近C同学希望升级一下他家里的网络,让我给他一点方案,希望能实现低成本的家庭基无线网络漫游、NAS相册备份、视频转码播放、无感出国留学、在外远程接入等功能。

这些基本上就是很标准的homelab玩法了,由于是从零开始搭建,再此记录一下以便日后可以翻看。

阅读全文 »

几年前在垃圾桶捡到几个Orange Pi Plus 2,配置较低,放在2024年的今天已经做不了什么事情了,唯一还能用是的就是他支持HEVC硬件解码4k30fps输出,可以当机顶盒来用,并在内核主线支持较为完善,有Armbian系统和LibreElec系统可选。

我这里记录的是在Orange Pi Plus 2上安装LibreElec和Armbian,并调整参数使得硬件解码可以正常使用。

请注意文章发布时间,随着时间的推移可能有些描述会变得不准确。

阅读全文 »

Zabbix 的安装过程并不简单,而且各种环境排列组合版本众多,所以有必要记录一下自己的安装过程,以便日后翻看。

我这里记录的是Debian12+Zabbix 6.0 LTS的安装过程,基本上是照着Zabbix官网来的,添加了一些本地化的适配。

阅读全文 »

威联通的NAS比群晖多了HDMI接口,可以用于视频播放。想着可以用于替换我现有的PVE+kodi+虚拟群晖,不用再搞个虚拟机出来,于是就进坑了。

本篇是真从入门到入土,最终因为种种原因还是放弃使用了,仅记录一下心得,可能日后还能用得上。

阅读全文 »

1.在国内自建 stun,这个比较简单的,用 coturn 建一个就行了。openwrt 下可以用restund,但是我还没解决动态 ip 怎么更新的问题,所以暂时是在固定 ip 的云主机上用 coturn 搭建。
2.用标准5060端口,实测发现在非标准端口下 linphone 发包的时候没有携带端口号,导致45秒断线,其他客户端暂未发现此问题,推测是 linphone 客户端的问题。非标端口做了 srv 记录也是一样。
3.asterisk 位于路由器后面时,路由器端口映射5060和 rtp 端口。
asterisk 本机 hostname 要改成 sip 域名,并添加 hosts  sip 域名只向本机私网 ip。
在 sip.conf 里面要配置localnet=x.x.x.x/255.255.255.0 ;Zero conf local network,否则会有30秒断线问题。

参考:Asterisk call drop after 30 seconds - Stack Overflow

4.linphone 客户端开启推送通知后 sip Contact 字段包含 token 信息长度超255字节,会被asterisk 丢弃溢出部分,导致接听32秒断线。对于自建 asterisk 需要取消推送通知选项。对于 linphone 官方服务可以开启。

参考:infamous 30 or 33 second call disconnect of incoming calls - linphone · Issue #265 · BelledonneCommunications/linphone-android · GitHub
5.sip.conf 配置(rtp直通、nat穿透、拨打外域部分)

1
2
3
4
5
6
7
8
tlsdontverifyserver=yes  
srvlookup=yes
media_address=ddns.domain.net
externhost=ddns.domain.net
localnet=x.x.x.x/255.255.255.255; asterisk private ip
directmedia=update
directrtpsetup=yes
icesupport=yes

6.安卓自带 sip 客户端 在离开 WiFi 范围网络失效,自动切换到数据,或者反过来切换的时候,不会重新连接sip服务器注册,只有手动切换数据 WiFi 的时候会主动重新注册。

如果 sip 服务器用的是双栈网络,在数据网络用了 ipv6,即使手动切换到 WiFi 也会用 ipv6 进行连接。

如果 WiFi 没有 ipv6 会注册失败。为此我的 sip 服务器只绑定了 ipv4。动态 ip 更换 ip 之后安卓自带 sip 客户端不会重新解析域名,需要手动切一下数据 WiFi 激活注册。

总结一下就是安卓自带 sip 客户端是个半成品,不实用。

7.关于 chan-dongle

openwrt-19.07.8 自带 chan-dongle 版本太旧,可以正常使用不支持长短信。

openwrt-21.02.1 自带 chan-dongle 版本,棒子初始化不正常(mt7620平台,E1750棒子)。

支持长短信、openwrt_sdk 编译通过、棒子初始化正常,所有功能都可以使用的版本。

fix Cannot parse UCS-2 error (#131) · wdoekes/asterisk-chan-dongle@ca9b692 · GitHub

openwrt-19.07 Makefile

1
2
3
4
PKG_SOURCE_VERSION:=ca9b69276738af1d571ec120e103d317701760c2
PKG_SOURCE_DATE=2021-04-19
PKG_RELEASE:=1
PKG_MIRROR_HASH:=skip

8.openwrt-19.07.8 官方编译的 asterisk-16.22.0 有闪退问题(mt7620平台)

使用 sdk 编译回退到 asterisk-16.10 正常

1
src-git telephony [https://git.openwrt.org/feed/telephony.git^edbeb1b9a30153b06cbb8120cdd718e1ac0ba7d2](https://git.openwrt.org/feed/telephony.git%5Eedbeb1b9a30153b06cbb8120cdd718e1ac0ba7d2)

前言:

kodi官方的版本只支持Ubuntu,之前用Debian仓库的版本又不能硬件解码。时隔1年kodi发布了19版本,我也找到了在Debian下真正好用的kodi了。

果断抛弃了Ubuntu Server 转投PVE的怀抱。虚拟机才是All in one最终的归宿。

阅读全文 »

前言:

本文主要介绍Proxmox VE 6.3的安装配置和利用Clover实现NVME SSD引导。

最近发现运行了2年的All in one小主机硬盘出现了坏道,于是萌生了重装+升级的想法,为了日后易于查找记录一下过程。

HTPC硬件平台(升级后) J1800+16G RAM+128G NVME SSD + 500G机械

阅读全文 »