之前使用 OpenWRT 做主路由 + 物理 AP 的形式搭建家庭网络,这个方案耦合度太高了,容易崩。
经过一阵子研究,换成了 iKuai 做主路由,在 Proxmox 中使用 LXC 部署的 Debian + ShellCrash 做旁路网关的方案,iKuai 中局域网 DHCP 服务的 DNS 和网关地址默认指向 Debian 的静态 IP,不需要的设备设置网关和 DNS 地址指向 iKuai 的 IP 。
ShellCrash 配置为 TUN + FakeIP 模式,内置 DNS 指向自建的 AdguardHome 地址。稳定运行一周了。
关键点:Proxmox 中 LXC 部署的 Debian 需要在“硬件”设置中添加网络设备 /dev/net/tun
终于可以方便设置哪些设备出国,哪些设备不出国了。
57 个赞
我一直都是n1+armbian+shellCrash+AdguardHome做的旁路由,主要是玩不来OpenWrt
Game0526
(Game0526)
4
shellCrash 跑在 docker 里,用 macvlan 单独分配一个 ip 做的旁路由
1 个赞
一直是all in one ,ikui主+op副 (unraid系统)基本稳定365天。只有一次,特然断电1s,掉了ikui的网卡,整个家庭网络瘫痪 。试过几次长时间断电无问题
1 个赞
我就是这样搞得,但是遇到一个问题,时不时的就上不去网了, 然后改成http代理,通过端口好的话就正常,.直接把网关指向这个shellCrash机器的时候,就又上不去了. 无从下手,不知道该从哪里开始排查,很尴尬.
我把系统换成了ubuntu22就好了,之前用的是debian. 没能力去研究问题出在哪里了.
Squatter
(Squatter)
14
一直使用debian安装mihomo做旁路由,这样不用每个设备都安装软件,有的比如电视还不方便安装
1 个赞
7li7li
(7li7li)
16
为什么不用open当旁路由 能安装各种扶墙插件
ikuai主,需要科学的设备设置网关指向旁路由,不需要的默认即可
1 个赞
Game0526
(Game0526)
17
主要3步,创建 docker network,创建 macvlan 桥和路由表,创建容器。可以参考我这个脚本
# # macvlan 需要开启网卡混杂模式
# ip link set dev eth0 promisc on
# # 创建 docker macvlan 网络
# docker network create -d macvlan \
# --subnet=192.168.50.0/24 \
# --gateway=192.168.50.1 \
# -o parent=eth0 macvlan_network
# # 宿主机添加一个 macvlan 桥用于宿主和容器通信
# # 以下操作都在宿主机上运行,新增一个叫mynet(不要和容器的macvlan重名)的macvlan接口
# ip link add macvlan-bridge link eth0 type macvlan mode bridge
# ip link set macvlan-bridge up
# # 修改路由表,使宿主机到192.168.0.100的通信全部经由mynet进行
# ip route add 192.168.50.4 dev macvlan-bridge
# export http_proxy=http://192.168.50.4:7890 https_proxy=http://192.168.50.4:7890 all_proxy=socks://192.168.50.4:7890
docker run -d --name crash \
--cap-add=NET_ADMIN \
--cap-add=NET_RAW \
--net macvlan_network \
--ip 192.168.50.4 \
--restart=on-failure:5 \
crash \
crond -f
# 然后进 docker 去安装 crash(大致两步,1. 安装 iptables/nfttable,2. 安装 crash),具体安装步骤继续参考官方文档
2 个赞
Game0526
(Game0526)
19
是必须的要执行一次,注释掉的执行过重启了一直有效,所以注释了。
someway
(Jens)
20
我刚安装成功了,第一次启动一切正常,重启盒子和容器后,容器内就无法上网了。唯一能看到的错误信息是:
shellcrash 里重启服务的时候会报
sed: can't move '/etc/resolv.confoiiLeL' to '/etc/resolv.conf': Resource busy
服务已启动!
你的家庭网络 IP 是什么网段?我创建 docker macvlan 用的是同一个子网