去年搞了一台 n1 盒子,寒假期间从海鲜市场淘来了一台中兴的千兆路由器 (型号是E503),准备让 N1 盒子做旁路网关,实现软路由(主要目的是实现透明的魔法)
现在我的(宿舍)网络拓扑图如下:
|
|
旁路网关就是把内网中的终端设备的网关设置为旁路由的网关(192.168.123.251),而旁路由的网关设置为主路由网关(192.168.123.1),如是,则内网中的所有流量都将经过旁路由的转发,再到主路由。
除了手动设置网关外,可以通过 DHCP 自动设置网关。
n1 刷入 Armbian
由于我购入的 n1 已经刷入过 openwrt,直接插入烧录好的 U 盘即可从 U 盘启动 我使用的 Armbian 固件是:Armbian_24.2.0_amlogic_s905d_bullseye_6.6.15_server_2024.02.01.img.gz 可以从 Releases · ophub/amlogic-s9xxx-armbian · GitHub 获取
如何选择版本? 参考: DebianReleases - Debian Wiki
我选择的是 Bullseye,较老的版本。我希望尽量使用 docker 管理我 n1 盒子上的各种应用,因此 debian 的版本并不重要。
下载后解压得到镜像文件 .img
|
|
(如你所见,我是在 Linux 环境下进行操作的)
Linux 下推荐的烧录工具是 Etcher
|
|
烧录后,插入 n1 盒子 (据称推荐插入靠近网口的那个 usb 口),启动后进入 U 盘内的 armbian 系统。
默认的 root
密码是1234
输入 nand–sata-install
烧录 Armbian 到 eMMC
docker 安装
先换源
|
|
使用armbian-config
配置固定的网络地址
|
|
这将在新建一个文件叫 static 输入如下内容,注意根据你的具体情况设置。
|
|
- address 是 armbian 的地址(自定义)
- gateway 写主路由的 ip 地址
- dns-nameservers 可以写主路由的 ip,也可以写dns 服务器
使用 armbian-install
安装 docker
使用 docker 安装 openwrt
开启网卡的混杂模式(即接收内网中所有数据包,无论其目的地是否是本地)
|
|
将这句命令加入
|
|
首先使用 macvlan 创建给 openwrt 用的 network
|
|
开 openwrt 容器
|
|
进去修改root密码
|
|
修改ip地址
|
|
在 interface 'lan'
里面改
|
|
此时可以在内网的终端设备上通过 192.168.123.251
访问 luci
界面进行配置。
配置旁路网关
openwrt 中
网络-接口-lan 设置: 基本设置:
- 协议:静态
- ipv4: 192.168.123.251
- 网关: 192.168.123.1
- 自定义DNS: 114.114.114.114, 223.5.5.5 高级设置:
- 勾选强制链路 物理设置:
- 取消桥接接口
- 接口选择 eth0
在下面的 DHCP 高级设置中勾选动态 DHCP
和 强制
DHCP 选项输入:
3,192.168.123.251
(路由器)6,192.168.123.251
(DNS服务器)
主路由中
关闭 DHCP
设置 openwrt 插件
由于众所周知的原因此处略去,需要提示的一点是不一定要开启 旁路网关兼容,需要试一试。