恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3405|回复: 20

[N1盒子] 【原创】Docker内OpenWRT设置成主路由,为WiFi接入的客户提供源自有线网口的网络服务

  [复制链接]
发表于 2019-6-26 23:35 | 显示全部楼层 |阅读模式
本帖最后由 heq 于 2019-8-27 18:24 编辑

警告:大量CLI操作,不熟悉Linux者慎入

前两天看到这篇恩山网友大作,非常有启发。其中详细地记录了在N1、光猫(必须关闭DHCP服务)都接在普通交换机的网络环境下,N1通过内部运行在docker上的OpenWRT连接光猫拨号上网,为交换机上其他设备提供网络服务的设置过程。相当于单臂路由另一种很好的实现,armbian提供硬件驱动与服务,路由系统却是货真价实的OpenWRT。

本帖延续这个思路,硬件层仍由armbian控制,运行在docker上的OpenWRT作为主路由,扮演Routerd AP的角色。

本方案适用场合:在家里网络末端提供一台软路由,有线接入上级网络(DHCP或PPPOE),允许其它无线设备接入其WiFi分享网络。出差外出时也可随身携带,提供自己熟悉的网络环境。

本方案在armbian_5.60_aml-s9xxx_debian_stretch_default_4.18.7_20180922.img.xz与armbian_5.77_aml-s905_debian_stretch_default_5.0.2_20190401.img.xz上均测试通过,OpenWRT用的是18.06.2官方版本,其它标准OpenWRT应该也没问题(未做测试)。

以下为具体设置步骤,假设N1已经刷好armbian系统,参考 N1刷入Armbian后换软件源、安装Docker并提速 安装docker。


基本设定
  1.        host IP: 10.168.10.1,   gateway: 10.168.10.10(OpenWRT)
  2. container IP: 10.168.10.10, gateway: DHCP from upstream network 192.168.10.0/24
复制代码



ARMBIAN设置
1 软件准备
  1. # apt-get install hostapd
  2. # docker import https://downloads.openwrt.org/releases/18.06.2/targets/armvirt/64/openwrt-18.06.2-armvirt-64-default-rootfs.tar.gz openwrt:18.06.2
复制代码

2 网络设置
  1. # vi /etc/network/interfaces
  2. ...
  3. iface eth0 inet dhcp
  4. ...
  5. iface wlan0 inet manual
  6. ...

  7. # vi /etc/network/interfaces.d/bridge
  8. auto br-lan
  9. iface br-lan inet static
  10.         address 10.168.10.1
  11.         netmask 255.255.255.0
  12.         dns-nameservers 10.168.10.10
  13.         gateway 10.168.10.10
  14.         bridge_ports wlan0
复制代码
3 启动WiFi(2.4G)
  1. # vi /etc/default/hostapd
  2. ...
  3. DAEMON_CONF="/etc/hostapd.conf"
  4. ...

  5. # vi /etc/hostapd.conf
  6. ...
  7. interface=wlan0
  8. ...
  9. bridge=br-lan
  10. driver=nl80211
  11. ...
复制代码

4 N1重启后,新建container与配套网络
  1. # docker network create -d bridge  --subnet 10.168.10.0/24 --gateway=10.168.10.1 -o "com.docker.network.bridge.name=br-lan" lanet
  2. # docker run -d --name N1 --network lanet --privileged openwrt:18.06.2 /sbin/init
  3. # docker network create -d macvlan --subnet=192.168.10.0/24 --gateway=192.168.10.1 -o parent=eth0 wanet
  4. # docker network connect wanet N1
  5. # docker exec -it N1 sh
复制代码

Container(OpenWRT)设置
网络设置
  1. # vi /etc/config/network
  2. ...
  3. config interface 'lan'
  4. ...
  5.         option ipaddr '10.168.10.10'
  6. ...

  7. config interface 'wan'
  8.         option ifname 'eth1'
  9.         option proto 'dhcp'

  10. config interface 'wan6'
  11.         option ifname '@wan'
  12.         option proto 'dhcpv6'
复制代码


ARMBIAN设置
1 重启N1后,手工启动container
  1. # docker start N1
复制代码
2 更换缺省路由到OpenWRT,确认网络环境正常
  1. # route del default
  2. # route add default gw 10.168.10.10
复制代码
3 手机可以看到N1放出的ARMBIAN 无线信号,用密码 12345678 登入后应能正常上网。网络设置里可以看到gateway为10.168.10.10
确认一切正常?设置container自动重启
  1. # docker update --restart always N1
复制代码

4 修改网络设置
  1. # vi /etc/network/interfaces
  2. ...
  3. iface eth0 inet manual
  4. ...
复制代码
5 最后重启N1,设置全部完成。

登入N1的无线网络后,可以通过 http://openwrt 访问路由器。






2网络设置.pdf

96.43 KB, 下载次数: 140

评分

参与人数 3恩山币 +5 收起 理由
hcyme + 2 强大的恩山!(以下重复1万次)
tinylion + 1 率全体恩山路由党以及党魁向你学习!
qgtxqj + 2 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-6-26 23:38 | 显示全部楼层
占楼备用,后继使用
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-27 00:04 来自手机 | 显示全部楼层
支持一个 楼主辛苦了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-27 08:29 | 显示全部楼层
armbian 8.8 楼主试过吗?我安装的8.8,装不上docker。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-27 09:07 | 显示全部楼层
大神,能不能给一个完整版的配置说明,配置文件修改的是容器还是主机标注一下,谢谢了。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-27 09:15 | 显示全部楼层
楼主强大, 关注一下
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-27 09:24 | 显示全部楼层
,感谢楼主!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-27 09:29 | 显示全部楼层
,楼主提供了另一个思路,
那就是AP WIFI的实现不一定要用OP里,而是用hostapd,基于armbian原生的
通过修改默认网关,指向OP就好,真的不错,谢谢分享了!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-29 23:25 | 显示全部楼层
赞回头试试a
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-7-1 08:38 | 显示全部楼层
兄弟能不能弄成纯AP模式呢?AP的网段和上级的一致

点评

heq
那就没有必要这样复杂了,Armbian下通过hostapd+桥接eth0与wlan0就能实现。 第一步armbian设置中,按上传的PDF,但要将如下内容将eth0与wlan0桥接。 现在重启N1即能实现你的要求。 真看不出这样的意义何在。只  详情 回复 发表于 2019-7-2 07:43
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-7-1 08:58 | 显示全部楼层
主路由模式设置成功了,请教是否可以搞成AP模式,有时候也就为了纯粹上个网,不需要fan greatwall
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-7-2 07:43 | 显示全部楼层
tinylion 发表于 2019-7-1 08:38
兄弟能不能弄成纯AP模式呢?AP的网段和上级的一致

那就没有必要这样复杂了,Armbian下通过hostapd+桥接eth0与wlan0就能实现。
第一步armbian设置中,按上传的PDF,但要将如下内容将eth0与wlan0桥接。
  1. # vi /etc/network/interfaces.d/bridge
  2. auto br-lan
  3. iface br-lan inet dhcp
  4.     bridge_ports wlan0 eth0
复制代码

现在重启N1即能实现你的要求。

真看不出这样的意义何在。只需要一个Dump AP吗?市场上随便找一个AP可能更专业吧。

点评

嗯嗯,谢谢兄弟指点哈!同网段不做NAT,意义还是很大的  详情 回复 发表于 2019-7-2 08:28
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-7-2 07:46 来自手机 | 显示全部楼层
学习学习认真贯彻
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-7-2 08:28 | 显示全部楼层
heq 发表于 2019-7-2 07:43
那就没有必要这样复杂了,Armbian下通过hostapd+桥接eth0与wlan0就能实现。
第一步armbian设置中,按上 ...

嗯嗯,谢谢兄弟指点哈!同网段不做NAT,意义还是很大的
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-7-10 11:19 | 显示全部楼层
老大,我现在有一块 usb网卡eth1 怎么给openwrt 使用呢  ,docker 上我还跑了其他程序,  希望openwrt  lan口  与 主路由一个网段
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2019-10-14 04:25

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表