[N1盒子]N1 安装 Docker 版 Openwrt

179次阅读
没有评论

共计 1025 个字符,预计需要花费 3 分钟才能阅读完成。

通过 docker 安装 Openwrt 作为软路由,可以实现去广告等功能,同时可以节省一个设备,实现旁路网关。

前提:准备一个 xxx-rootfs.tar.gz 格式的 OPENWRT 固件文件

1. 打开网卡的混杂模式

ip link set eth0 promisc on

2. 创建网络

子网 10.0.0.0/24 根据实际情况修改
网关 10.0.0.1 根据实际情况修改

docker network create -d macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.1 -o parent=eth0 openwrt

3. 将固件上传至 N1,导入固件

docker import openwrt-*-rootfs.tar.gz openwrt

4. 启动 Openwrt

docker run --restart always --name openwrt -d --network network --privileged openwrt:latest /sbin/init

5. 进入容器

docker exec -it openwrt sh

6. 修改 ip

假设固件默认后台 10.0.0.1, 我要修改为 10.0.0.5

sed -i‘s/10.0.0.1/10.0.0.5/’/etc/config/network && /etc/init.d/network restart

7. Armbian 和 OpenWrt 网络互通

按照上面设置完旁路由发现 Docker 的宿主机 Armbian 系统和 OpenWrt 无法互相访问。需要修改 Armbian 网络配置/etc/network/interfaces,增加如下内容:

up ip link set eth0 promisc on

auto macvlan
iface macvlan inet static
    address 192.168.123.123
    netmask 255.255.255.0
    gateway 192.168.123.1
    dns-nameservers 192.168.123.1
    pre-up ip link add macvlan link eth0 type macvlan mode bridge
    post-down ip link del macvlan link eth0 type macvlan mode bridge

其中 address 是要固定的 Armbian 的地址,gatewaydns-nameservers 填主路由地址就可以了。
保存后执行 systemctl restart networking 使配置生效,两个地址就可以互相访问了。

正文完
觉得有用?欢迎赞赏,感谢!
post-qrcode
 0
苏维歌
版权声明:本站原创文章,由 苏维歌 于2024-04-24发表,共计1025字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码