FnOS NAS 系统的一些个人感受
fnOS飞牛私有云是一款高效又安全的 NAS 系统,目前看来是免费的。
此Nas系统基于 Linux 内核(Debian 发行版)开发,兼容主流 x86 硬件。
https://www.fnnas.com/
前言
本人有一台X86的迷你小电脑,当是用来玩iStoreOS
与openWrt
,后来吃灰了,目前一直挂在某鱼二手市场
配置与闲置信息如下
体验
飞牛系统发布后,先是安装体验了一下,之前没使用过其他NAS,但是了解过由于我对NAS的需求不大,没有要存的文件,也没有非存放的视频媒体等,所以体验了一下就继续吃灰了。
最后在官方社群看到有人说飞牛自带的相册很好用,由于之前使用过一小段时间MT Photos
,所以再次体验了下,发现还真不错,可以同步iPhone的实况照片,就是没有人脸地图等。
安装教程不多做说明,大概就是下载ISO镜像,使用RuFus刻录到U盘,然后U盘启动就可以
再说使用中的一些问题
Docker 接取镜像不太好用,尽管修改了源
网络中无法设置网关代理等
关于登录飞牛账号的问题
使用内容穿透需登录飞牛账号,由于我个人有点数据敏感,虽然我没啥数据(400G的硬盘还空闲着),但总感觉会把用户的大数据上传。
估计官方后续将对用户登录的内网穿透进行收费模式运营,不过我也希望官方可以把穿透交给用户选择,可以自行搭建服务器那种(出于个人信息考虑),毕竟,穿透的方式有很多,比如我现在使用的FRP穿透。
Docker模式下openWrt
最后我在Docker模式下openWrt来代替软路由的工作,将一些坑避免后教程
大概思路就是:
修改当前网口为混杂模式->Docker新建当前网口网络并设置IP段->pull openwrt镜像->启动openwrt实例->exec进入实例修改网口
推荐使用Xter
修改当前网口为混杂模式
使用root
权限完成
sudo -i
查看网口
ifconfig
# 输出以下
br-bff5025b5c66: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
inet6 fe80::42:f8ff:fe4c:4cf4 prefixlen 64 scopeid 0x20<link>
ether 02:42:f8:4c:4c:f4 txqueuelen 0 (Ethernet)
RX packets 388 bytes 26170 (25.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 612 bytes 209146 (204.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:4a:34:de:3f txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.168 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::2636:412a:bb18:f381 prefixlen 64 scopeid 0x20<link>
ether a8:b8:e0:01:16:18 txqueuelen 1000 (Ethernet)
RX packets 20230 bytes 3170753 (3.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24322 bytes 10766099 (10.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x80e00000-80efffff
enp2s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether a8:b8:e0:01:16:19 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x80b00000-80bfffff
enp4s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether a8:b8:e0:01:16:6a txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x80800000-808fffff
enp5s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether a8:b8:e0:01:16:6b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x80500000-805fffff
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2993 bytes 490241 (478.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2993 bytes 490241 (478.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth3f4e463: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::1030:c5ff:fee3:1f5b prefixlen 64 scopeid 0x20<link>
ether 12:30:c5:e3:1f:5b txqueuelen 0 (Ethernet)
RX packets 271 bytes 22479 (21.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 431 bytes 151514 (147.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我的是四网口主机,但是目前工作的网口是 enp1s0
开启enp1s0
网口混杂模式
ip link set enp1s0 promisc on
或者
ifconfig enp1s0 promisc
关闭混杂模式:
ifconfig enp1s0 -promisc
Docker新建当前网口网络并设置IP段
新建enp1s0
网口Docker网络,网络名:opnet
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=enp1s0 opnet
我的主路由器的IP地址是:192.168.0.1,所以--subnet
是192.168.0.0/24
,--gateway
是192.168.0.1
,建议根据自身网络IP来设置
docker network ls # 可以查看docker网络列表,上面新建的opnet也在其中
拉取openwrt
docker pull piaoyizy/openwrt-x86
我使用的是这个的openwrt
https://hub.docker.com/r/piaoyizy/openwrt-x86
另一个推荐
https://hub.docker.com/r/zzsrv/openwrt
启动实例
openwrt的ip设置为192.168.0.254
docker run -d --name=openwrt --restart always --privileged --network opnet --ip 192.168.0.254 piaoyizy/openwrt-x86:latest /sbin/init
修改openwrt的IP地址
docker exec -it openwrt bash
vim /etc/config/network
将以下IP修改为启动实例时设置的IP
config interface 'loopback'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
option device 'lo'
config globals 'globals'
option packet_steering '1'
config interface 'lan'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.0.8'
option gateway '192.168.0.1'
option dns '192.168.0.1'
option device 'br-lan'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'
option ipaddr '192.168.0.8'
修改为option ipaddr '192.168.0.254'
重启openwrt网口
./etc/init.d/network restart
FnOS Docker Clash
注意:本文不涉及怎么购买订阅地址,请自行解决
我用的 有点便宜
config.yaml
文件
我在windows中直接拷贝的
上传到飞牛的/vol1/1000/Docker/clash/config.yaml
docker-compose.yaml
文件
见 Clash & Yacd
Docker Clash 地址