Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

perryyeh/armbian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Armbian 旁路由一键脚本

此项目提供快捷脚本,用于在类Armbian系统中创建Docker macvlan网络,并配置宿主机与容器之间的macvlan bridge互通。

核心容器是mosdns和adguardhome, mosdns提供域名分流(分流后的外部域名采用FakeIP方案),adguardhome提供域名缓存。

本代码已在群晖7.3+(可能需要补全欠缺的命令),飞牛1.0+,armbian(linux6.1+) 上测试通过。

✨ 功能特性

  • 交互式选择网卡并确认 IP / 网关 / 子网配置
  • 创建 Docker macvlan 网络
  • 创建宿主机 macvlan-bridge 接口用于互通
  • 写入并启用 Systemd 服务,确保开机自启
  • 预定义多个容器 IP:librespeed(.111) AdGuardhome(.114)、MosDNS(.119)、Mihomo(.120)
  • 此代码多数由openai和gemimi生成

⚙️ 脚本菜单说明

序号 功能描述
0 显示菜单
1 显示操作系统信息
2 显示网卡信息
3 显示磁盘信息
4 显示 Docker 信息
5 格式化磁盘并挂载
7 安装 Docker
8 创建macvlan(包括ipv4+ipv6)
9 清理 macvlan
10 安装 Portainer
11 安装 LibreSpeed
14 安装 AdGuardHome
19 安装 mosdns
20 安装 mihomo
21 安装 ddnsgo【依赖mihomo】
22 安装 ddnsgo【依赖mihomo】
23 安装 gost + gost-ui【依赖mihomo】
45 安装 samba
70 迁移docker目录
71 优化docker日志
90 创建macvlan bridge
91 清理macvlan bridge
97 安装watchtower 自动更新
98 强制使用watchtower更新一次镜像
99 退出脚本

🚀 使用方法

1. 直接运行脚本

bash <(curl -fsSL https://raw.githubusercontent.com/perryyeh/armbian/main/install.sh)

2. 或克隆项目运行

git clone https://github.com/perryyeh/armbian.git
cd armbian
chmod +x install.sh
./install.sh

3. 安装步骤

  1. 确立docker容器安装目录,硬盘没有格式化&加载的先格式化&加载
  2. 没docker的先安装docker(群晖和飞牛已有,直接跳过)
  3. 群晖和飞牛的网卡建议先开open vSwitch
  4. 确立专有ip段给macvlan使用,ipv4建议给一个新的/24段(或现有ipv4的开头/结尾),ipv6 ula建议给/64段,在路由器上设置dhcp时候避开这段不分配
  5. 选择网卡(群晖和飞牛建议选ovs开头网卡)创建macvlan
  6. 没有surge/openwrt当代理的,可安装mihomo替代,mihomo需开tun模式并配置好上游代理。
  7. 路由器里配置静态路由,198.18.0.0/15下一跳到surge/mihomo的ip。
  8. 安装mosdns,选surge当上游时dns写198.18.0.2;选mihomo当上游时,dns写mihomo的ip。
  9. 安装adguardhome,用mosdns当上游,dns写mosdns的ip。
  10. 最后创建macvlan bridge,解决宿主机和容器之间的互通。

4.ipv4+ipv6回家

⚠️ 入站协议尽量避免udp。下列方案依赖mihomo入站,请先安装mihomo并配置好入站端口。

场景 公网ipv4 公网ipv6 容器可得ipv6 入站方式
1 输入21,安装和mihomo共用ip【局域网ipv4+公网ipv6】的ddnsgo来更新ipv4+ipv6。ipv4在路由器上端口转发到mihomo,ipv6在路由器上开放ipv6端口入站
2 输入21,安装和mihomo共用ip【局域网ipv6】的ddnsgo来更新ipv6。 IPv4考虑relay(比如lucky), ipv6在路由器上开放ipv6端口入站
3 随意ddns后,路由器加端口转发,仅IPv4。
4 IPv6入站可做但不推荐,视作行5考虑
5 选relay/tunnel方案,比如cloudflare tunnel,frp,tailscale什么的

5.其他镜像

mihomo:解决代理和在外回家入站,入站统一收口到mihomo的ipv4+ipv6
ddnsgo:和mihomo共用ipv4+ipv6,解决域名更新问题
lucky:和mihomo共用ipv4+ipv6,解决ipv4打洞问题
gost:和mihomo共用ipv4+ipv6,解决内外端口不一致问题

📌 注意事项

  • 默认使用ipv4计算容器的mac地址,mac地址格式类似02:*:86
  • 默认使用ipv4计算ipv6 ula地址(⚠️这不符合RFC4193,想合规可手工输入合规的ipv6 ula),生成fd10::/64(对应10.0.0.0/8)、fd17::/64(对应172.16.0.0/12)、fd19::/64(对应192.168.0.0/16)作为 IPv6 网段,如不默认则一定要手工输入ipv6 ula
  • 安装macvlan bridge错误请回滚操作,以免流量死循环导致无法进入而重新刷机

📦 依赖:

📚 参考文献:

📜 License

MIT License © 2026

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages