找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 31848|回复: 177

[N1盒子] (完美解决)N1-Armbian-omv系统实现自带ap热点互通docker-op旁路由

 火... [复制链接]
发表于 2021-1-20 23:14 | 显示全部楼层 |阅读模式
本帖最后由 ccbcfan 于 2021-5-16 15:57 编辑

去年10月入手的N1,andriod盒子、op、armbian、desktop来回拆腾了个遍,刷成砖后救砖顺便升级了emmc。
现在是Armbian+OMV+docker(op+bt7+lychee+maccms10+filerun+tvheadend+jellyfin), 中间填坑无数,总算是基本稳定,满足自已的需求了。

唯一不圆满的就是: N1的自带的wifi-ap功能无法与docker-op旁路由同时实现连通。即N1启用wifi-ap功能时,无法与docker-op旁路由直通,试过论坛大佬分享的各种教程方法,要么是N1连通了op,ap不正常,要么ap正常,N1不能连通op,难道真的没办法实现像N1直刷op的无线ap功能吗?
由于N1是放在书房做旁路由(注意是旁路由模式,因为希望局域网都在同一网段方便共享,不想增加nat,op主路由按参考贴就能解决),且笔电只有wifi没有网口,所以N1-ap成了刚需。虽然N1自带的无线是个鸡肋,但有聊胜于无,有时做个wifi扩展还是方便的。其实还有个重要用途: 考虑到家庭网络的稳定,设置的不是全局旁路,按本教程设置的N1-AP, 因docker-op中开启了DHCP服务,连上的wifi客户端无需额外设置,自动获得的网关、DNS都是op旁路由ip(192.168.1.3), 所以能使用op中的fq、去ad等所有功能,就像接在op中的wifi一样。

当然,直刷F大的op固件也能实现以上所有功能(包含wifi热点正常),但总感觉在armbian下应该更好玩。

经过多次尝试,终于实现了,完美。  
这样的设置论坛里也没发现有人发过,所以分享出来,供需要的网友参考!!


系统:
Armbian_20.10_Aml-s9xxx_buster_5.9.8-flippy-49+.img,刷入emmc后安装了omv+docker,过程可参考论坛其他贴子,略。
主要参考贴:小白刷OMV,docker,openwrt,aria2,主旁路由,AP热点等
                   docker运行OpenWRT借助vlan实现单臂全功能主路由,支持WiFi 与IPv6 PPPoE

主路由(华为光猫hs8145v路由模式):192.168.1.1
N1-armbian: 192.168.1.2
docker-openwrt: 192.168.1.3  (旁路由模式)
有关ip设置,请根据自已的实际情况调整

1.  armbian网络设置:
  1. vi /etc/network/interfaces

  2. # Include files from /etc/network/interfaces.d:
  3. source-directory /etc/network/interfaces.d
  4. # Local loopback
  5. auto lo
  6. iface lo inet loopback

  7. # Interface
  8. auto eth0
  9. allow-hotplug eth0
  10. iface eth0 inet static
  11. up ip link set eth0 promisc on
  12.   address 192.168.1.2
  13.   netmask 255.255.255.0
  14.   gateway 192.168.1.1
  15.   dns-nameservers 192.168.1.1

  16. # wireless wlan0
  17. allow-hotplug wlan0
  18. iface wlan0 inet manual

复制代码
以上为初始网络设置,是为了下一步设置做准备,一旦后续设置最终完成,以上网络设置全部会被清零,不要奇怪,这是正常的。

注: 以上设置gateway 192.168.1.1,N1-armbian宿主机通过主路由上网。
也可以设置为gateway 192.168.1.3,N1-armbian宿主机通过op旁路由上网

【注意】据我测试所知,宿主机网关指向docker-op的ip时,主路由器外网端口映射到内网宿主机时会出现不正常,原因不明,有知道解决方法的也请跟贴指出,暂时解决办法是将宿主机网关指向主路由。如果宿主机有fq需要,建议通过旁路由sock5或http代理fq。

现在重启网络, 登录omv,在OMV中-网络设置里,添加网桥,自动会设为br0,(注意不要使用armbian自带的网络管理建立网桥br0,必须使用omv来建br0网桥,否则各种问题多多),接口里添加eth0, ip设为静态地址:192.168.1.2 ,网关、DNS同上设为192.168.1.1 ,保存退出。

2.   docker网络设置:
(这是与论坛通用设置不同的地方,也是成功与否的关键)
我是结合上述参考贴中的网络设置,做了些变动。
docker network create -d bridge  --subnet 192.168.1.0/24 --gateway=192.168.1.2 -o "com.docker.network.bridge.name=br0" lanet

大致意思是: docker 以bridge方式建立 lanet网络,并将lanet 使用的虚拟接口vethxxxxx加入到宿主机的网络桥br0,这样设置的结果是,dcoker容器里的eth0、宿主机的eth0和wlan0都在同一网桥里互相连通,且都在192.168.1.0/24网段。

然后启动容器里的op:
  1. docker run --name openwrt --restart always -d --network lanet --privileged unifreq/openwrt-aarch64 /sbin/init
复制代码

注意:docker网络设置论坛通用的是macvlan网络模式,能解决armbian与docker-op的互通,但解决不了自带ap互通、容器间互通,我这里使用的是bridge网络模式,这种模式设置后的最大好处是,以后使用“--network lanet”新增容器,设置容器ip后(如192.168.1.X ), 无需额外设置,所有容器间的网络与宿主机、主路由都在同一网段,网络也是互通的!!!



避坑关键点:
shell下,关闭armbian原生网络管理服务network-manager
(详见官网说明:https://forum.armbian.com/topic/17064-setting-up-static-ip-address-not-working/ )

  1. root@Armbian-N1:~# systemctl stop network-manager

  2. root@Armbian-N1:~# systemctl disable network-manager
复制代码

因为omv是使用systemd-networkd管理网络,两者会有冲突。如果不使用omv设置br0,你会发现每次重启,br0的地址会自动重置为192.168.1.1了,会与主路由ip地址重复,发生地址冲突。而且你在network-manager中设置的所有网络参数是不起作用的,这里花了我大量时间来填这个坑。

3.  docker-op 网络设置:
  1. vi /etc/config/network     
  2. ...
  3. config interface 'lan'
  4.     option ifname 'eth0'
  5.     option proto 'static'
  6.     option netmask '255.255.255.0'
  7.     option ipaddr '192.168.1.3'                             
  8.     option gateway '192.168.1.1'   
  9.     option dns '8.8.8.8 114.114.114.114'  
复制代码


4. Armbian-ap设置:
  1. vi /etc/hostapd

  2. ssid=Armbian_N1
  3. interface=wlan0
  4. hw_mode=g
  5. channel=5
  6. bridge=br0
  7. driver=nl80211

  8. logger_syslog=0
  9. logger_syslog_level=0
  10. wmm_enabled=1
  11. wpa=2
  12. preamble=1

  13. wpa_psk=66eb31d2b48d19ba216f2e50c6831ee11be98e2fa3a8075e30b866f4a5ccda27
  14. wpa_passphrase=12345678
  15. wpa_key_mgmt=WPA-PSK
  16. wpa_pairwise=TKIP
  17. rsn_pairwise=CCMP
  18. auth_algs=1
  19. macaddr_acl=0

  20. ## IEEE 802.11n
  21. #ieee80211n=1
  22. #ht_capab=[DSSS_CK-40][HT20+]
  23. #country_code=US
  24. #ieee80211d=1
  25. ## IEEE 802.11n

  26. ## IEEE 802.11a
  27. #hw_mode=a
  28. ## IEEE 802.11a

  29. ### IEEE 802.11ac
  30. #ieee80211ac=1
  31. #vht_capab=
  32. #vht_oper_chwidth=1
  33. #vht_oper_centr_freq_seg0_idx=42
  34. ### IEEE 802.11ac

  35. # controlling enabled
  36. ctrl_interface=/var/run/hostapd
  37. ctrl_interface_group=0
复制代码
这里AP使用的是2.4G,如需使用5G,请自行参考修改。

至此,全部网络设置完成,可以重启N1,愉快的玩耍吧!!


最终网络情况如下:
  1. <blockquote>root@Armbian-N1:~# ifconfig
  2. br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  3.         inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
  4.         ether 56:68:2d:d8:f3:d2  txqueuelen 1000  (Ethernet)
  5.         RX packets 895516  bytes 577721320 (550.9 MiB)
  6.         RX errors 0  dropped 17  overruns 0  frame 0
  7.         TX packets 612667  bytes 1726647364 (1.6 GiB)
  8.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  9. docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  10.         inet 172.18.0.1  netmask 255.255.255.0  broadcast 172.18.0.255
  11.         ether 02:42:29:7c:e0:06  txqueuelen 0  (Ethernet)
  12.         RX packets 1531  bytes 862832 (842.6 KiB)
  13.         RX errors 0  dropped 0  overruns 0  frame 0
  14.         TX packets 3235  bytes 771472 (753.3 KiB)
  15.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  16. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  17.         ether 56:68:2d:d8:f3:d2  txqueuelen 1000  (Ethernet)
  18.         RX packets 12218612  bytes 13733195880 (12.7 GiB)
  19.         RX errors 0  dropped 0  overruns 0  frame 0
  20.         TX packets 12699204  bytes 13583275299 (12.6 GiB)
  21.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  22.         device interrupt 21

  23. lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
  24.         inet 127.0.0.1  netmask 255.0.0.0
  25.         loop  txqueuelen 1000  (Local Loopback)
  26.         RX packets 222558  bytes 71449425 (68.1 MiB)
  27.         RX errors 0  dropped 0  overruns 0  frame 0
  28.         TX packets 222558  bytes 71449425 (68.1 MiB)
  29.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  30. veth51676a5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  31.         ether 26:fc:f2:d4:b9:8b  txqueuelen 0  (Ethernet)
  32.         RX packets 1531  bytes 884266 (863.5 KiB)
  33.         RX errors 0  dropped 0  overruns 0  frame 0
  34.         TX packets 3235  bytes 771472 (753.3 KiB)
  35.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  36. vethffa56e3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  37.         ether ea:ab:46:9e:56:b3  txqueuelen 0  (Ethernet)
  38.         RX packets 4028897  bytes 11446192343 (10.6 GiB)
  39.         RX errors 0  dropped 0  overruns 0  frame 0
  40.         TX packets 4411257  bytes 12598806763 (11.7 GiB)
  41.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  42. wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  43.         ether b8:27:eb:74:f2:6c  txqueuelen 1000  (Ethernet)
  44.         RX packets 451430  bytes 42466061 (40.4 MiB)
  45.         RX errors 0  dropped 0  overruns 0  frame 0
  46.         TX packets 599142  bytes 258044857 (246.0 MiB)
  47.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

复制代码

  1. root@Armbian-N1:~# brctl show
  2. <blockquote>
  3. bridge name     bridge id               STP enabled     interfaces
  4. br0             8000.56682dd8f3d2       no              eth0
  5.                                                         vethffa56e3
  6.                                                         wlan0
  7. docker0         8000.0242297ce006       no              veth51676a5

复制代码











本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-1-21 09:02 来自手机 | 显示全部楼层
本帖最后由 ccbcfan 于 2021-3-3 10:54 编辑


补充:Armbian_20.10_Aml-s9xxx_buster_5.9.8-flippy-49+.img
下载地址在F大的网盘中有,同步更新到了flippy-53+以上,用法一样。之所以使用F大的armbian而不用原版,是因为F大针对N1做了很多方面的优化,且一直在更新,直接刷入不用再做什么修改了,很方便。详见:
https://www.right.com.cn/forum/thread-4055451-1-1.html


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-1-21 23:17 | 显示全部楼层
本帖最后由 ccbcfan 于 2021-2-8 00:52 编辑

填坑填坑填坑
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-2-8 01:13 | 显示全部楼层
总算完美解决了!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-2-8 13:28 | 显示全部楼层
总算稳定完美了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-9 10:42 | 显示全部楼层
学习高端操作一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-9 11:07 | 显示全部楼层
恭喜这位兄弟完美解决!!!

点评

小狮子兄弟专研分享精神更值得学习。 拜读过你的很多干货分享贴,受益匪浅。  详情 回复 发表于 2021-2-9 12:03
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-9 11:47 | 显示全部楼层
看看帖子里藏了啥好东西~~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-9 11:53 | 显示全部楼层
N1-Armbian-omv系统实现自带ap热点互通docker-op旁路由
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-9 11:53 | 显示全部楼层
谢谢分享!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-2-9 12:03 | 显示全部楼层
tinylion 发表于 2021-2-9 11:07
恭喜这位兄弟完美解决!!!

小狮子兄弟专研分享精神更值得学习。
拜读过你的很多干货分享贴,受益匪浅。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-13 15:09 | 显示全部楼层
完美解决)N1-Armbian-omv系统实现自带ap热点互通docker-op旁路由 [修改]
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-13 21:56 | 显示全部楼层
armbian在哪里下载
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-13 22:14 | 显示全部楼层
N1-Armbian-omv系统实现自带ap热点互通docker-op旁路由 ,太牛了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-2-14 07:53 | 显示全部楼层

恭喜这位兄弟完美解决!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-19 14:37

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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