|
本帖最后由 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网络设置:
- vi /etc/network/interfaces
- # Include files from /etc/network/interfaces.d:
- source-directory /etc/network/interfaces.d
- # Local loopback
- auto lo
- iface lo inet loopback
- # Interface
- auto eth0
- allow-hotplug eth0
- iface eth0 inet static
- up ip link set eth0 promisc on
- address 192.168.1.2
- netmask 255.255.255.0
- gateway 192.168.1.1
- dns-nameservers 192.168.1.1
- # wireless wlan0
- allow-hotplug wlan0
- 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:
- 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/ )
- root@Armbian-N1:~# systemctl stop network-manager
- root@Armbian-N1:~# systemctl disable network-manager
复制代码
因为omv是使用systemd-networkd管理网络,两者会有冲突。如果不使用omv设置br0,你会发现每次重启,br0的地址会自动重置为192.168.1.1了,会与主路由ip地址重复,发生地址冲突。而且你在network-manager中设置的所有网络参数是不起作用的,这里花了我大量时间来填这个坑。
3. docker-op 网络设置:
- vi /etc/config/network
- ...
- config interface 'lan'
- option ifname 'eth0'
- option proto 'static'
- option netmask '255.255.255.0'
- option ipaddr '192.168.1.3'
- option gateway '192.168.1.1'
- option dns '8.8.8.8 114.114.114.114'
复制代码
4. Armbian-ap设置:
- vi /etc/hostapd
- ssid=Armbian_N1
- interface=wlan0
- hw_mode=g
- channel=5
- bridge=br0
- driver=nl80211
- logger_syslog=0
- logger_syslog_level=0
- wmm_enabled=1
- wpa=2
- preamble=1
- wpa_psk=66eb31d2b48d19ba216f2e50c6831ee11be98e2fa3a8075e30b866f4a5ccda27
- wpa_passphrase=12345678
- wpa_key_mgmt=WPA-PSK
- wpa_pairwise=TKIP
- rsn_pairwise=CCMP
- auth_algs=1
- macaddr_acl=0
- ## IEEE 802.11n
- #ieee80211n=1
- #ht_capab=[DSSS_CK-40][HT20+]
- #country_code=US
- #ieee80211d=1
- ## IEEE 802.11n
- ## IEEE 802.11a
- #hw_mode=a
- ## IEEE 802.11a
- ### IEEE 802.11ac
- #ieee80211ac=1
- #vht_capab=
- #vht_oper_chwidth=1
- #vht_oper_centr_freq_seg0_idx=42
- ### IEEE 802.11ac
- # controlling enabled
- ctrl_interface=/var/run/hostapd
- ctrl_interface_group=0
复制代码 这里AP使用的是2.4G,如需使用5G,请自行参考修改。
至此,全部网络设置完成,可以重启N1,愉快的玩耍吧!!
最终网络情况如下:
- <blockquote>root@Armbian-N1:~# ifconfig
- br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
- ether 56:68:2d:d8:f3:d2 txqueuelen 1000 (Ethernet)
- RX packets 895516 bytes 577721320 (550.9 MiB)
- RX errors 0 dropped 17 overruns 0 frame 0
- TX packets 612667 bytes 1726647364 (1.6 GiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 172.18.0.1 netmask 255.255.255.0 broadcast 172.18.0.255
- ether 02:42:29:7c:e0:06 txqueuelen 0 (Ethernet)
- RX packets 1531 bytes 862832 (842.6 KiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 3235 bytes 771472 (753.3 KiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- ether 56:68:2d:d8:f3:d2 txqueuelen 1000 (Ethernet)
- RX packets 12218612 bytes 13733195880 (12.7 GiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 12699204 bytes 13583275299 (12.6 GiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- device interrupt 21
- lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
- inet 127.0.0.1 netmask 255.0.0.0
- loop txqueuelen 1000 (Local Loopback)
- RX packets 222558 bytes 71449425 (68.1 MiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 222558 bytes 71449425 (68.1 MiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- veth51676a5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- ether 26:fc:f2:d4:b9:8b txqueuelen 0 (Ethernet)
- RX packets 1531 bytes 884266 (863.5 KiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 3235 bytes 771472 (753.3 KiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- vethffa56e3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- ether ea:ab:46:9e:56:b3 txqueuelen 0 (Ethernet)
- RX packets 4028897 bytes 11446192343 (10.6 GiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 4411257 bytes 12598806763 (11.7 GiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- ether b8:27:eb:74:f2:6c txqueuelen 1000 (Ethernet)
- RX packets 451430 bytes 42466061 (40.4 MiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 599142 bytes 258044857 (246.0 MiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
复制代码
- root@Armbian-N1:~# brctl show
- <blockquote>
- bridge name bridge id STP enabled interfaces
- br0 8000.56682dd8f3d2 no eth0
- vethffa56e3
- wlan0
- docker0 8000.0242297ce006 no veth51676a5
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|