群晖上用Docker安装OpenWrt

这篇具有很好参考价值的文章主要介绍了群晖上用Docker安装OpenWrt。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

群晖上用Docker安装OpenWrt,群晖,docker,软路由

什么是 OpenWrt ?

OpenWrt 是一款基于 Linux 系统的开源路由器操作系统,可以将普通的 PC 或嵌入式设备转变成为一个功能强大的路由器。

老苏对没玩过的东西总是比较好奇,准备用 Docker 搭建一个 OpenWrt 来研究研究。

网上管这种玩法叫旁路路由,但是老苏不确定自己能否实现这样的效果,第一阶段的目标只要跑起来就行了,剩下的可以慢慢学习。

安装

在群晖上以 Docker 方式安装。

为避免模式切换带来的困扰,本次安装全程采用命令行方式,请用 SSH 客户端登录到群晖,但老苏尽量避免了进入容器内的操作

网络环境说明

开始前先简单说明下老苏局域网的网络环境

IP 说明
192.168.0.1 主路由 IP
192.168.0.11 准备分配给 OpenWrt 容器的 IP
192.168.0.197 群晖 IP

查看网卡信息

登录到群晖上,执行 ifconfig 命令,显示当前网络配置信息

群晖上用Docker安装OpenWrt,群晖,docker,软路由

其中,docker0 是 一个虚拟网桥,它用来为 Docker 的容器提供网络连接服务,而 docker-xx则是各个容器的网络接口

往下拉,还会看到其他的网络接口,而 eth0 通常表示第一个以太网接口,也就是我们的主网卡

群晖上用Docker安装OpenWrt,群晖,docker,软路由

开启混杂模式

在正常模式下,当网卡接收到数据包时,会验证它是否属于自己。如果不是,会丢弃数据包,但在混杂模式下,则会接收所有经过网卡的数据包,包括不是发给本机的包

网上大部分用的命令是

ip link set eth0 promisc on

但应该用 ifconfig 也可以

# 设置混杂模式
ifconfig eth0 promisc

# 禁用混杂模式
ifconfig eth0 -promisc

创建 macvlan 网络

macvlan 是一种 Linux 的网络驱动,它可以让容器或虚拟机直接连接到物理网络,而不需要使用 NAT 或桥接。macvlan 会为每个容器或虚拟机分配一个独立的 MAC 地址,这样它们就可以在网络上被识别和访问

# 创建 macvlan 网络
docker network create -d macvlan \
   --subnet=192.168.0.0/24 \
   --gateway=192.168.0.1 \
   -o parent=eth0 \
   macnet

群晖上用Docker安装OpenWrt,群晖,docker,软路由

其中:

  • 192.168.0.0/24 是老苏当前局域网的网段
  • 192.168.0.1 是当前网关(也就是主路由 IP)
  • eth0 为群晖主机的网卡
  • macnet 为要创建的子网名称,可以随便取

你需要根据自己的网段进行修改。完成后,可以通过 docker network ls 查看

群晖上用Docker安装OpenWrt,群晖,docker,软路由

网络配置文件

docker 目录中新建 openwrt 及子目录

# 新建文件夹 openwrt 和 子目录
mkdir -p /volume1/docker/openwrt/data/lock

# 进入 openwrt 目录
cd /volume1/docker/openwrt

# 创建 network.conf 文件
touch network.conf

# 编辑 network.conf 文件
vi network.conf

现在的目录结构是这样的

群晖上用Docker安装OpenWrt,群晖,docker,软路由

将下面的内容写入到 network.conf

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option packet_steering '1'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.0.11'
        option gateway '192.168.0.1'
        option dns '8.8.8.8 114.114.114.114'

config interface 'vpn0'
        option ifname 'tun0'
        option proto 'none'

我们只要关注 lan 部分

  • ipaddr:是老苏准备分给 OpenWrtIP 地址,要和当前局域网在同一个网段
  • gateway :是主路由的 IP地址
  • dns: 老苏用了 8.8.8.8114.114.114.114

运行容器

# 启动容器
docker run -d \
   --restart always \
   --name openwrt \
   --network macnet \
   --privileged \
   --ip 192.168.0.11 \
   -v $(pwd)/network.conf:/etc/config/network \
   -v $(pwd)/data:/var \
   sulinggg/openwrt:x86_64 /sbin/init

其中:

  • -d:使容器运行在 Daemon 模式;
  • --restart always :容器退出时始终重启,使服务尽量保持始终可用;
  • --name openwrt :容器的名称;
  • --network macnet:将容器加入 macnet 网络;
  • --privileged: 容器运行在特权模式下;
  • /sbin/init:容器启动后执行的命令;

正常情况下,你可以直接跳到 运行 章节,开始访问 OpenWrt 的网页了

进入容器

这一步,是假设后续你更改了 network.conf 文件,就会需要进入容器内重新加载网络配置,而不需要重启容器,这样会更快捷

# 进入容器
docker exec -it openwrt /bin/ash

# 加载网络配置
/etc/init.d/network restart

#退出容器
exit

群晖上用Docker安装OpenWrt,群晖,docker,软路由

运行

这里需要特别说明的是,即便你启用了 tailscale 子网路由,从远程访问 http://192.168.0.11 也是无法打开登录界面的,需要在局域网登录后,在 Web 管理页面取消 只允许内网访问 才行

现在在浏览器中输入 http://192.168.0.11 ,就能看到登录界面

默认用户: root,密码为空

群晖上用Docker安装OpenWrt,群晖,docker,软路由

登录成功后的主界面

群晖上用Docker安装OpenWrt,群晖,docker,软路由

首先当然是设置密码

群晖上用Docker安装OpenWrt,群晖,docker,软路由

默认情况下,是开启了 Dropbear 实例的

群晖上用Docker安装OpenWrt,群晖,docker,软路由

所以你可以用 SSH 客户端登录到 OpenWrt,账号密码和 Web 是一样的

群晖上用Docker安装OpenWrt,群晖,docker,软路由

接下来,就是慢慢学习了,如果有时间的话 😂

参考文档

SuLingGG/OpenWrt-Docker: Build OpenWrt Docker Images For Raspberry Pi 1~4 (Daily Update)
地址:https://github.com/SuLingGG/OpenWrt-Docker

在Docker 中运行 OpenWrt 旁路网关 | 美丽应用
地址:https://mlapp.cn/376.html

immortalwrt/immortalwrt at openwrt-18.06-k5.4
地址:https://github.com/immortalwrt/immortalwrt/tree/openwrt-18.06-k5.4文章来源地址https://www.toymoban.com/news/detail-668603.html

到了这里,关于群晖上用Docker安装OpenWrt的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker 安装 openwrt

    一 实用意义 linux 服务器,一般采用无界面安装,可以减少资源,更好滴发挥服务器的性能。 openwrt 一般装虚拟机,需要界面操作,为了一个openwrt 再来安装桌面 和虚拟机,显得不那么划算,而docker 是服务器中必备的软件,在docker中安装openwrt,就显得顺理成章了。 二 准备工

    2024年04月26日
    浏览(28)
  • Homeassistant --openwrt docker 安装

    openwrt homeassistant安装教程 前提:在N1盒子上面烧录 f大的openwrt系统 (安装81+o 或者82+o都可以)      点击网络点击接口然后修改 这样网络是属于旁路由上网了 可以联通网络了 主要需要填写正确  1.点击配置  2.修改默认桥接的地址(建议修改路由器地址)  1、然后在ssh软件内

    2024年02月15日
    浏览(28)
  • 群晖-第5章-Docker安装gitlab

    群晖安装gitlab可以只在内网访问,也就不需要前面几章的内容,但是我这个是通过外网HTTPS访问的。 参考: Nas码农篇:群晖Docker安装Gitlab - 知乎 群晖Docker安装gitlab-ce-zh中文版,并绑定阿里域名并启用https_docker gitlab-ce_CodingPioneer的博客-CSDN博客 使用Docker安装Gitlab及相关配置_

    2024年02月05日
    浏览(24)
  • 在 Docker 环境下安装 OpenWrt

    在 Docker 环境下安装 OpenWrt 是一种方便且易于管理的方式,它允许您在不需要物理设备的情况下运行 OpenWrt。以下是在 Docker 中安装 OpenWrt 的步骤: 首先,您需要安装 Docker。具体安装方法可以参考 Docker 官方文档。在安装完成后,运行以下命令验证 Docker 是否已正确安装: do

    2024年03月26日
    浏览(36)
  • 黑群晖Docker通过SSH安装青龙面板

    1、在群晖中开启SSH 2、使用终端进入群晖系统 3、查看需要查找的Docker镜像 这里会列出来搜索到的镜像,找到想要安装的镜像名称。 4、通过命令拉取所需镜像  ​​​​​​  拉取成功后进入群晖操作界面运行Docker,进入镜像管理,可以看到你拉取的镜像。  选中镜像并运

    2024年02月08日
    浏览(60)
  • OpenWRT安装docker内核kernel版本不够

    记录下,在openwrt中安装docker,docker-compose,dockerd遇到如下错误: 原因:内核版本不够,升级内核: 去这个网址找openwrt可用的最新的linux内核:https://downloads.openwrt.org/snapshots/targets/x86/64/packages/ 然后安装:

    2024年02月15日
    浏览(43)
  • 群晖DSM 7.1环境下docker安装DooTask

    DooTask是国人开发的一款轻量级的开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具。 大家感兴趣的话可以去他的官网详细了解。 这个软件默认docker环境下安装,但是要求docker-compose的版本是2.

    2024年02月04日
    浏览(28)
  • 群晖DS3617xs Docker安装远程迅雷教程

    如您的群晖中已安装Docker,请略过第一步。 打开群晖中的“套件中心”,然后搜索“Docker” 安装Docker实用工具,我这是是已经安装过的。静静等待安装好,安装好之后,打开Docker。 打开Docker后,在“注册表”中搜索“xunlei”或者“迅雷”。 下载“cnk3x/xunlei”这个镜像文件,

    2024年02月02日
    浏览(50)
  • 黑/白群晖 安装 zerotier-docker 完美版

    由于对象需要存照片和视频,256g已经塞不下了,于是前两天在咸鱼买了个星际蜗牛,由于卖家已经刷好了 6.23 版本,官网套件无法安装,于是又重刷了一下 7.2 版本系统,通过矿神的套件源安装zerotier,但是发现路由功能有问题,我无法用内网ip访问路由器的后台,多次百度无

    2024年02月12日
    浏览(31)
  • 群晖(Synology)NAS 后台安装 Docker 后配置 PostgreSQL

    群晖(Synology)NAS 的后台在新版本对 Docker 不再称为 Docker,现在改称为 Container Manager 了。 单击进入后运行 Container Manager。 针对 PostgreSQL 的容器,我们选择容器后,如果你已经安装了 PostgreSQL 的话,应该就能看到运行的容器了。 然后选择设置。 在 PostgreSQL 的容器设置中有

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包