🪓Armbian Docker Openwrt 旁路由详细设置教程
2024-1-3
| 2024-2-10
0  |  阅读时长 0 分钟
type
status
password
date
slug
summary
category
URL
tags
icon
本教程基于如下软硬件环境:
设备:斐讯 N1(aarch64 架构)
系统:Debian GNU/Linux 10 (buster) with Linux 5.4.108
Docker Version: 20.10.5

设置

设置 Armbian 宿主机静态内网 IP 地址
根据下面给出的内容修改,此处目的是固定 armbian 宿主机的内网 IP 地址。
notion image

设置混杂模式

编辑 /etc/rc.local 文件
添加下面的指令到 /etc/rc.local 文件 exit 0 之前
notion image
为 Docker 创建自定义网络并制定 Docker 容器的内网 IP 范围
  • -subnet=10.10.10.0/24 创建 Docker macnet 内网范围
  • -gateway=10.10.10.1 指定 macnet 的网关地址
  • -ip-range 10.10.10.32/27 限制容器的内网 IP 范围(从 10.10.10.33 到 10.10.10.62)
  • -aux-address="macnet=10.10.10.63" 指定 10.10.10.63 用于容器跟宿主机通信(容器访问 10.10.10.63 就等于访问宿主机 10.10.10.2)

创建docker

然后我们就可以跑 Docker 容器了,下面我以 openwrt 容器为例给大家演示一下。
我说一下上面 docker run 指令中的重点:
  • -restart always 自启动容器(因为是跑的 openwrt 软路由需要自启动)
    • -network macnet 将该 openwrt 容器添加到我们刚刚创建的 macnet 网络中
    • -ip 10.10.10.40 指定 openwrt 容器的 IP 地址(设置为 10.10.10.33 – 10.10.10.62 以内的任意 IP 都可以)
    • -privileged 给 openwrt 容器特权
    然后我们需要进入 openwrt 容器的内部修改网络配置
    修改 /etc/config/network 配置文件
    只需要把配置文件 lan 口设置的 IP 地址设置为上面 docker run 用的 10.10.10.40 地址就可以,必须相对应!
    notion image
    修改后保存配置文件然后执行 reboot 重启 openwrt 容器。或重启网络/etc/init.d/network restart
    此时通过浏览器访问内网 http://10.10.10.40 打开 openwrt 后台( 默认密码:password)

    旁路由设置

    最后说一下 openwrt 旁路由的主要设置
    1、网络 >> 接口,设置 LAN 口的 IPv4 网关:10.10.10.1,设置 IPv4 广播:10.10.10.255,DNS 服务器:223.5.5.5、223.6.6.6
    notion image
    2、再把下面的 DHCP 服务器 >> 基本设置,勾选 “忽略此接口”
    notion image
    3、DHCP 服务器 >> IPv6 设置,路由通告服务:已禁用,DHCPv6 服务:已禁用,NDP 代理:已禁用
    notion image
    4、返回顶部菜单,物理设置 >> 桥接接口 (去掉勾选)然后页面拉到底,点击保存应用。
    notion image
    5、网络 >> 防火墙,LAN 入站数据、出站数据、转发三项全部允许,然后勾选右侧 IP 动态伪装MSS 钳制,点击保存应用。
    notion image
    补充:防火墙页面上放的 启用 SYN-flood 防御 去掉勾选。
    6、防火墙 >> 自定义规则,酌情添加 iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE (如果上面勾选了IP 动态伪装MSS 钳制,则此处可以不添加自定义规则,如果上面未勾选IP 动态伪装MSS 钳制,则此处建议添加自定义规则)点击重启防火墙。
    notion image
    7、网络 >> Turbo ACC 网络加速,勾选启用 BBR
    notion image
    8、主路由设置网关和 DNS 指向旁路由 openwrt
    notion image
    9、至此教程基本已经结束了,但是可能会遇到端口映射后在外部网络无法通过映射的端口访问内网设备。下面给出解决办法,除主路由自身以外的所有内网设备映射的端口都要改成指向 openwrt 旁路由地址:10.10.10.40
    notion image
    补充:也可以直接在主路由设置 DMZ 到 10.10.10.40(旁路由)以后就不需要在主路由设置端口映射了,直接在旁路由做端口映射就可以了。
    10、然后在 openwrt 旁路由 >> 防火墙 >> 端口转发 这里再去映射到每个端口所对应的内网设备地址。
    notion image
    因为旁路由设备只有 1 个 LAN 口 所以 openwrt 添加的端口转发还需要点击修改按钮,设置 LAN 到 LAN 转发,而不是 WAN 到 LAN。
    notion image
    11、教程中用的 docker 容器有个小问题,需要在系统启动项中添加个本地启动脚本,下面给出脚本内容。(如果你有特殊上网需求则需要添加下面的脚本内容到启动项,如果你没有特殊上网需求则可以不添加)
    notion image
    主路由设置如下:
    设备地址:10.10.10.1
    DHCP:启用
    DHCP 范围:10.10.10.100 – 10.10.10.200(预留 100 个自动 DHCP 分配地址一般足够了)
    网关地址:10.10.10.40(指向旁路由)
    DNS地址:10.10.10.40(指向旁路由)
    旁路由设置如下:
    旁路由地址:10.10.10.40
    DHCP:关闭
    网关地址:10.10.10.1(指向主路由)
    DNS地址:10.10.10.1(指向主路由,或者223.5.5.5、223.6.6.6)
    Armbian 宿主机设置如下:
    宿主机地址:10.10.10.2
    网关:10.10.10.1
    掩码:255.255.255.0
    DNS:10.10.10.1
    Docker 网络设置如下:
    保留地址:10.10.10.63(用于容器内部与宿主机 Armbian 通信,因为在容器内部之间访问 10.10.10.2 是不通的!所以容器内部访问 10.10.10.63 就等于访问 10.10.10.2)
    容器网络范围:10.10.10.32/27(等于 10.10.10.33 – 10.10.10.62 一共 32 个内网地址,一般家用 32 个内网地址分配给容器足够了,如果不够用可以自行适当调整范围,但是调整范围后需要其他的网络配置也要相应的调整!)
    本教程不单单局限于 Armbian Docker 旁路由,还同样适用其他架构的 Docker 旁路由,只要能理解本文的具体内容,那么任何旁路由就都不难搞了。
  • 工具
  • 论文阅读:Improving language understanding by generative pre-training论文阅读:Neural Machine Translation of Rare Words with Subword Units
    Loading...
    目录