Contents
前言
其实吧,我很久以前也用过lede,只不过当初的主要目的是为了多拨,后来用了爱快以后,发现多拨方面爱快无敌,就弃用了lede(一方面原因也是不太喜欢lede的界面)。现在家里的上网是实体爱快+ac86u的梅林系统,爱快有3个wan口:wan口1单线3拨;wan口2接ac86u的lan口(ac86u的wan口接回爱快的lan口);wan口3接光猫的itv口实现IPTV的多端使用。这么用起来没毛病,也稳定,所以我一直以来对openwrt不太有研究的动力。
不过最近由于我在研究未来家庭数据中心围绕IPv6公网地址的出入流量优化及安全方案(参见:家庭数据中心系列 家庭数据中心v4v6双栈网络架构及应用访问流程优化),所以在多方面考察相关的技术,其中就包括lucky、socat之类的v6转v4技术,而这些都是可以直接以软件包的形式运行在openwrt上的。加之我总觉得在现在而今眼目下,有虚拟化技术的情况下还单独用一个ac86u来做科学网关略low(而且万一坏了还要买个新的??),所以也想准备一个备用方案,所以就有了专门研究openwrt的动力了。
另:本文只是安装过程的记录,没啥技术含量。
安装openwrt
下载镜像并解压缩
注:官方的openwrt是纯净版,除了基本基本功能啥都没有,所有需要的软件都需要自己安装(我就喜欢这种,像win都是自己下官方镜像自己装,打死不用其他版本)。如果大家喜欢那种定制好的全功能的,需要自己找下镜像。
下载最新的适合PVE的 img版本,我写这篇文章的时候最新版本为23.05.2,官网下载链接如下:
openwrt 23.05.2官方下载链接。
在pve上直接下载.gz的包到/root文件夹:
wget https://downloads.openwrt.org/releases/23.05.2/targets/x86/64/openwrt-23.05.2-x86-64-generic-squashfs-combined-efi.img.gz
解压缩扩展名为.gz的包,可以使用gzip,如果没有安装先使用apt进行安装,如下:
apt install gzip #安装gzip
cd /root #进入下载目录
gunzip openwrt-23.05.2-x86-64-generic-squashfs-combined-efi.img.gz #进行解压缩,得到扩展名为.img的文件
在PVE中新建虚拟机
按照后续图文流程操作即可:
将前面解压缩以后的.img文件作为磁盘直接导入VM id为107的虚拟机:
cd /root #进入下载文件夹
qm importdisk 107 openwrt-23.05.2-x86-64-generic-squashfs-combined-efi.img local-lvm #将.img文件作为硬盘导入VM id为107的虚拟机
导入成功:
在107的虚拟机的硬件里面就会多一块未使用的磁盘0:
修改引导顺序:
在控制台点击"Start Now"给虚拟机开机:
初始化openwrt
进入系统后第一步是使用"passwd"命令给root用户设置密码:
使用命令查看openwrt的默认接口IP地址:
ip address
默认地址是192.168.1.1,ssh也是打开的,如果需要改IP地址,其实现在已经可以ssh到openwrt然后在命令行下修改ip地址了,不过没啥必要,web界面也可以改。直接将电脑改IP改为192.168.1.0这个网段,然后直接使用浏览器登录
http://192.168.1.1
,用户名"root",密码就是前面用passwd命令设置的密码:openwrt基础配置
配置IP地址
进入"Network"-"interfaces":
点击红框中的"Edit":
根据你的实际环境修改openwrt的IP信息,一般来说,用PVE来安装openwrt大概率是做旁路由了,所以就需要根据主路由的配置信息来设置openwrt,假设主路由的lan口的IP地址是192.168.100.254,那么openwrt的接口也需要配置成192.168.100.x这个网段(假设为192.168.100.1),并且网关需要指向192.168.100.254:
最后返回接口界面点击"Save&Apply"生效:
重新用设置的新的IP地址登录。
注:我这里只是用最简单的openwrt单网卡的部署方式来演示安装配置,一般作为旁路由也足够了,随后只需要让所有的客户端通过dhcp分配的方式将默认网关指向旁路由(或者只是需要科学的客户端将默认网关直接指向旁路由)即可。但是实际上来讲,这种方式其实很折腾且低效,并且有非常大的隐患(比如旁路由死机了,所有默认网关指向旁路由的都上不了网了)。
其实,最科学而高效的方式是openwrt采用双虚拟网卡(一个lan口和一个wan口)的设置,然后所有客户端的默认网关都指向主路由;主路由通过多wan口分流的方式将去往需要科学访问的目标域名或者指定源IP地址发来的请求,通过单独的wan口发往旁路由的lan口,然后旁路由的wan口又指向主路由的lan口正常上网。采用这种方式,一来如果旁路由死机了也不影响正常大部分的客户端的,二来灵活性也高:如果是基于目标域名进行设置,能够既不影响全网客户端的正常上网而又能达到都能访问一些特殊域名的效果,实乃最佳方案。。。这个我以后专门用一篇文章来讲吧。
添加中文语言包
首先需要更新openwrt的软件包列表:
更新下软件包列表:
更新成功(可能需要科学或者魔法):
搜索中文语言包名字并安装:
luci-i18n-base-zh-cn
安装成功:
在"System"-"Language and Style"中修改语言为简体中文:
界面已经变成中文了:
后话
今天就暂且这样水一篇文章吧,虽然没啥技术含量,但是所谓万丈高楼从地起,有一才有二嘛。