Unraid 篇一:Unraid虚拟单网卡安装openwrt做旁路由,以及OpenWrt的优化配置
创作立场声明:把最近的对外网访问的研究方案分享出来,针对与Unraid这一个Nas系统平台,和大家探讨交流。
使用Unraid的Nas系统已有一个多月,对其强大的可定制能力以及对虚拟机和docker的各种硬件直通,喜爱不已。在Unraid系统中搭建了各种Docker:FileBrower私有云、Jellyfin媒体中心、typecho博客、MySQL数据库、TransmissionPT下载器、Nginx代理服务器Docker、Lychee相册等。其中在Nginx的Docker下实现了我的个人小站、导航页、可道云、归档管理,四网合一
。
在Unraid下安装openwrt虚拟机作为旁路由,用于为内网提供内网穿透服务,流量并不是特别大,因此不需要网卡直通,只需要在unraid下虚拟一个网卡即可。
OpenWrt的版本选择:
OpenWRT是一个开源的、高度模块化的嵌入式Linux系统,拥有强大的网络组件和扩展性,拥有比较丰富的插件市场,基本可以满足日常的各种需求。
目前OpenWrt官方的稳定版本:OpenWrt 19.07,默认英文界面,可安装中文插件进行汉化,这种固件纯净,Bug比较少,基本是稳定,缺点是各种插件均需要自己安装,界面丑。除此之外,还有一些国内大佬根据官方固件进行修改的固件源码,如Lean大佬的固件,此类固件预先安装个基本常用的插件,如去广告、代理、ddns、内网穿透等,界面漂亮,符合国内用户习惯,缺点是存在一些不易察觉的Bug,使用其他人编译Lean的固件不是特别稳定,需要经常更新,自己编译又需要一定的技术能力,不适合作为长期不折腾的目标。
本文使用官方原版OpenWrt的最新稳定版本OpenWrt 19.07 x86平台的固件,链接此可进行下载,其中,有五种版本,选择第一种combined-ext4.img.gz的镜像下载即可,此镜像本身是一种虚拟磁盘,解压开箱即用,安装十分方便。
配置Unriad虚拟机,安装OpenWrt
1. 将下载好的combined-ext4.img.gz文件拷贝到Unraid下的任意共享文件夹,可拷贝到ISO共享文件夹,只要Unriad能找到的此文件。本文拷贝到了'domains'文件夹下。在此文件夹下对combined-ext4.img.gz进行解压,保留解压的文件:'openwrt-19.07.1-x86-64-combined-ext4.img'。
2. 打开Unraid后台管理页面,找到'VMS'虚拟机,点击'ADD VM'添加虚拟机,找到'Linux',添加一台'Linux'类型的虚拟机。
3. 在Linux虚拟机配置界面下按图所示配置,其中内存设置为256MB足够用;BIOS选择SeaBIOS;'Primary vDisk Location:'首选磁盘选择'Manual'手动模式,链接到找到之前在Unraid里解压文件的位置( 此处仅供参考,本文为:/mnt/disk1/domains/OpenWrt-19.07/openwrt-19.07.1-x86-generic-combined-ext42.img )
网络模式设置为'br*'桥接模式,不勾选'Start VM after creation',然后点击创建。
4. 创建完成后,点击刚刚创建的图标,选择编辑。
在配置界面的右上角点击'FORM VIEW'高级视图,找到下图所示的段落,修改虚拟网卡的型号为'e1000',然后点击更新更改:'UPDATE'。
5. 手动开启创建好的Openwrt虚拟机,选择'VNC Remote'打开OpenWrt前台界面,等待一段时间(10s),按下'回车'键,出现OpenWrt的后台登录界面。输入指令vi /etc/config/network回车。修改网络配置。
6. 将光标移动到红框所示位置,按下键盘'i'进行更改此处ip,将ip更改为局域网下的ip(此处仅供参考,本文上级路由是192.168.1.1,分配的ip段192.168.1.1到192.168.1.254,故此处改为其中一个ip:192.168.1.120),记下此处的ip,后面使用。然后点击键盘'Esc',在依次同时按下'Shift'+':',左下方输入'wq',进行保存。
7. 继续在后台里输入指令'passwd root'然后回车,输入两次密码,来设置OpenWrt的管理后台密码。(此处仅供参考,本文输入:passwd root 123456 123456,后台密码就是123456)
8. 手动重启OpenWrt虚拟机,然后用浏览器打开上面配置好的ip,输入上面设置的密码。
配置Openwrt
到目前为止Openwrt还不能正常访问外网,需要配置。首先,先安装中文包。
安装中文语言包
1. 进入Openwrt的管理页面,上方菜单依次点击'System'->'Sofeware'->'Upload Package',用于安装离线的插件包。
2. 安装OpenWrt的离线中文环境包luci-i18n-base-zh-cn,此包的百度网盘:re1v (备用下载地址)。
3. 点击'Install'安装完成。重新刷新页面,可自动切换为中文(如果还是英文可到菜单'System'->'System'->'langue'手动切换)
配置网络
1. 在管理界面上方菜单栏依次点击'网络'->'接口',出现下图所示:
2. 点击Lan接口的'编辑',进入配置。在'基本设置'中,设置两处:1) 设置IPv4网关为自己的局域网上级路由器ip;2) dns服务器设置为一样的局域网上级路由器ip。
3. 接着,点击'DHCP服务器',勾选'忽略此接口',然后点击右下方的'保存',然后点击'保存并应用'。
配置防火墙
1. 在管理界面上方菜单栏依次点击'网络'->'防火墙',出现下图所示:
按图中所示,配置防火墙通信策略,将'Forward'设置为允许,wan的入站流量全设置为允许,然后点击右下方的'保存',然后点击'保存并应用'。
2. 测试OpenWrt能否正常访问外网。在管理界面上方菜单栏依次点击'网络'->'网络诊断',点击IPv4的'Ping', 等待一段时间,如果出现类似字样'64 bytes from 139.59.209.225: seq=0 ttl=49 time=188.654 ms',表示网络配置成功。
更换OpenWrt国内源
OpenWrt默认的软件插件源是国外的,下面替换为国内源,加速插件安装。
1. 在管理界面上方菜单栏依次点击'系统'->'SofeWare'->'Configuration opkg...',使用下面的国内镜像源替换文本。
src/gz openwrt_core http://mirrors.ustc.edu.cn/lede/releases/19.07.1/targets/x86/64/packages
src/gz openwrt_base http://mirrors.ustc.edu.cn/lede/releases/19.07.1/packages/x86_64/base
src/gz openwrt_luci http://mirrors.ustc.edu.cn/lede/releases/19.07.1/packages/x86_64/luci
src/gz openwrt_packages http://mirrors.ustc.edu.cn/lede/releases/19.07.1/packages/x86_64/packages
src/gz openwrt_routing http://mirrors.ustc.edu.cn/lede/releases/19.07.1/packages/x86_64/routing
src/gz openwrt_telephony http://mirrors.ustc.edu.cn/lede/releases/19.07.1/packages/x86_64/telephony
2. 点击'Update Lists...',测试获取官方所有软件包列表:
3. 等待一段时间后,重新刷新页面,出现下面,表示配置成功,可以通过搜索关键词来安装插件:
至此,Unraid下安装OpenWrt,以及初始配置OpenWrt完成,接下来,会出一篇在OpenWrt里安装Frp内网穿透来实现局域网下的设备外网访问的目的。
我是'江枫雨',下篇再见~~~

请问下 你在op首页看到的网口显示是半双工吗
不是,用的unraid的虚拟机装op
请问楼主unraid下用docker装openwrt来做单臂路由吗?
请问UNRAID虚拟机装OPENWRT能科学上网吗?
防火墙放行了吗,openwrt本身能上去网吗,先测试一下这个
教程写的非常好。按这个教程在群晖上安装OpenWRT做旁路由后,在终端上设置网关和DNS都是旁路由的IP地址,但上不了网,不知什么原因。希望楼主解答。谢谢!
教程写的非常棒.简明扼要.条理清晰.跟着操作很容易.阿文菌的教程废话太多.有的步骤纯粹是凑字数
老哥,求解,我旁路由设置好后诊断能ping通,但局域网里的主机输入旁路由网关就上不了网是啥原因?
谢谢
,不过我好久没更新了
,之前攒了好多关于unraid的技术研究,有空的话,会分享出来
不可描述咋安装?
看了好几天还是你的文章最接地气,大佬的思路跟不上。
楼主厉害,你的文章我都学习一遍
哈哈,那就好😊
找到原因了,是主路由防火墙设置的问题。
检查一下lan口的网关和dns,还有防火墙的放行
@江枫雨 按照文章设置,怎么ping不通外网啊
wan可以不要
做旁路的话是不是只留lan就可以了?wan可以删除吗?
先做个标记,回头研究一下!
借问下在 unraid下装ikuai,明明分配了硬盘,到安装界面却是0 M,导致安装不成功。。。
装的docker如果应用过硬。openwrt操作起来1太麻烦,还是换成原生的debian方便。后期编译啥的1也不成问题。我用的是软路由,其他嵌入式另当别论。
旁路用debian会不会有点大材小用
。openwrt做旁路,用的插件没多少,搞一搞,手动配置一下也能装好。主要占用资源少,磁盘占用才200m,内存用128m也足够
。主路由爱快也不错,gui比较好,插件有市场
我自己也装过openwrt。不过最后主路由选了opnsense:gui配置能力更高。旁路有就直接debian了。openwrt做旁路有,如果要装的其他app,会缺一堆模块,包。
我暴风一期用的coolshare虚拟机专用版,主要是不可描述用途。但是现在用不可描述跑分也就18000分,跟K2P区别不大。。同样的不可描述四网口,能跑到18W分,NAT性能损失没有这么大吧。。
先鼓捣一番,不懂再请教你,现在也是学习中,大白
网卡直通类似,也不难。只是需要看你的主板对网卡的兼容性,具体来说看iomu组是不是单独分开的,如果分不开,就没办法用。我的就是设备分组分不开,直通不了
主要用来做旁路由,流量小,用来内网穿透和去广告,代理,还是可以的
我现在折腾网卡直通,还没弄通…之前已经设置好可以单臂路由,不过感觉可能设置有问题,网速冲不上满速,意义不大?
可惜我的minipcie无线网卡直通不上去
前面说了,旁路由,内网穿透,为其他app做外网访问用。ssr可以用,还可以去广告,装上插件,然后设置网关即可