原版 openwrt 21.02.0-rc4 安装和使用教程
下载与安装(ESXI虚拟机下安装)
点击openwrt downloads下载相关镜像文件,本文以openwrt-21.02.0-rc4-generic-squashfs-combined.img.gz
为例。
下载之后解压为img
文件。
使用StarWind V2V Converter
将文件转换为ESXI可用的vmdk
镜像。转换出来之后有两个文件,都要用到。(如果不使用虚拟机,使用U盘在实体机器上安装,请搜索相关教程。可以直接使用U盘作为启动硬盘)。
在ESXI上添加新的虚拟机,系统选择linux,版本选择linux 4.x 或以上,其他默认。
创建虚拟机完成之后,修改虚拟机设置,删除默认硬盘。将上面转换出来的两个vmdk
文件上传到刚刚创建好的虚拟机文件夹目录下。
点击添加现有硬盘
选项,选中刚上传的vmdk文件,添加一个硬盘。其余内存大小、cpu等设置根据电脑配置自行选择。在虚拟机选项
>引导选项中
中将引导方式改为BIOS。
全部设置完成之后,点击保存,不要直接启动虚拟机。
openwrt 扩容
openwrt默认的硬盘空间太小。编辑一下刚才的虚拟机选项,将硬盘空间改为1G或者更多。点击保存。
保存成功之后,使用ESXI的文件管理器,将刚才修改大小之后的硬盘文件下载下来。使用 DiskGenius
打开此硬盘文件。将未格式化的那一部分空间扩展到最大。(也可以留一部分空间折腾Docker等应用,扩展空间之后保存。)
删除ESXI里面的虚拟机openwrt虚拟机硬盘文件,将扩展完空间的硬盘文件重新上传到刚才的虚拟机硬盘文件的地方。此时启动虚拟机,只要是第一次启动,刚才扩展的空间就会被默认占满。这样扩容就算完成了。
openwrt基本配置
开启虚拟机
进入系统之后按enter
开启控制台。输入vim /etc/config/network
修改网络设置。
按i
进入编辑模式,修改lan口IP,将option ipaddr '192.168.1.1'
中的IP地址改成你想要设置的ip地址。之后:wq
保存。
输入reboot
重启
重启完成之后,将线缆插入openwrt的lan
网口(根据你的虚拟机配置寻找你openwrt的lan
口)。
路由器网络
将openwrt的wan
口连接到主路由器lan
口上(也可以直接连接到光猫上),让路由器可以上网。
下面是openwrt 的opkg设置代理的方法,不用代理的话可以不管
- 确认本机与openwrt路由器在同一局域网下。
- ssh登录openwrt
- 输入命令
vi /etc/opkg.conf
回车 - 在文件最后添加
option http_proxy http://192.168.0.1:7890
, 前面的192.168.0.1
和7890
改成你已经科学上网电脑的ip和端口 - 保存退出
- 更新软件包列表:
opkg update
,使用opkg安装相应的软件opkg install 软件包
- 参考openwrt官网文档的
Proxy support
这一项。
openwrt语言设置和其他基础设置
在浏览器中输入lan
口IP地址并访问,此时你就能通过网页设置openwrt了。
此时openwrt的管理界面处于英文状态。在system
>software
中点击Update lists…
按钮更新列表
搜索luci-i18n-base-zh-cn
与luci-i18n-acme-zh-cn
(经过测试,这两个安装包可能不兼容,只安装uci-i18n-base-zh-cn就可以了。),分别安装这两个软件包。然后在system
中将语言改成中文。(安装luci-theme-material
主题软件包。主题包可自行选择,搜索theme
可以找到其他主题。)
此时可以修改一下时间同步
选项里的NTP
服务器,改为:ntp.aliyun.com
、time.apple.com
、cn.ntp.org.cn
、ntp.ntsc.ac.cn
。将时区
改为Asia/Shanghai
,之后点击与 NTP 服务器同步
更新时间。
在网络
>接口
>设备
中配置br-lan
接口,在网桥端口
中把所有wan
口之外没有用到的接口全部勾选并保存,让这些接口全部成为lan口。
扩容Overlay
扩容最简单的方式还是使用上面安装时候的扩容方式。如果是已经启动之后,安装了一些软件才想起来扩容,那就能用这种方式了。
安装lsblk
、cfdisk
、block-mount
软件包。(注意:block-mount
软件包为挂载点
管理,安装此软件包之后需要重启openwrt才能看到挂载点
界面)
在ESXI中关闭此虚拟机,直接更改此openwrt虚拟机的硬盘大小。推荐为2G或以上。(或者新添加一个硬盘,推荐为1G以上。这个没有试过)之后保存并重新开启此虚拟机。
点击OpenWrt扩容Overlay,按照esir
的视频教程扩容overlay。
- 如果你安装的是
generic-ext4-combined
系统,请看下面步骤。 - 当按照视频中的操作进行到输入命令
mount /dev/sda3 /mnt/sda3
挂载时,回车你会看到mount: mounting /dev/sda3 on /mnt/sda3 failed: No such file or directory
的报错。因为你的mnt
目录是空的,/overlay
目录也是空的。这时候就不用按照视频中的步骤继续操作了。按照下面的步骤继续。 - 重启openwrt
- 进入路由管理界面的
系统
>挂载点
- 新增一个挂载点,勾上
已启用
,UUID
选择为刚才格式化的1G
分区。挂载点选择作为外部 overlay 使用(/overlay)
点击保存
。 - 去掉其他的挂载了刚才格式化
1G
分区的已启用
对勾,点击保存并应用
,重启openwrt。 - 此时已经扩容完成。
自动挂载
分区默认会在 OpenWRT
重启后会自动挂载,如果遇到没有挂载的情况,需要编辑 /etc/rc.local
vim /etc/rc.local
在 exit 0
之前加入一行 mount /dev/sda3 /overlay
即可。
开启Sftp
安装 vsftpd
、openssh-sftp-server
软件包,(还是在系统
>Software(软件包)
里面搜索并安装,下面就不赘述了)之后就可以通过Xftp上传文件到openwrt了。
手动安装ipk软件包
按照上面步骤开启Sftp。
你可以使用Xftp
这个软件上传文件到openwrt里面,也可以使用其他支持sftp的软件进行上传。
上传完成之后,使用ssh工具登陆openwrt,执行下面的命令。
opkg update
opkg install /root/xxx.ipk #假设你将`ipk`文件上传到了`root`目录下。
在安装ipk时,务必要先安装这个ipk的依赖软件包,github的项目都会在项目介绍中写清楚依赖项目,如果缺少依赖在安装ipk时会报错。
一般的基础依赖包都可以在openwrt的系统
>Software(软件包)
搜索并安装。如果搜索不到,可以在github的依赖介绍页面寻找依赖项目的链接,手动去下载并安装。
ps:下面是实战
安装OpenClash
点击OpenClash,在此页面找到 OpenClash发布的ipk文件并下载。
如上一章节所写,在安装之前先到OpenClash页面上查看并安装依赖包。
下面是截至2021-8-6,OpenClash的依赖项目。
- luci
- luci-base
- iptables
- dnsmasq-full
- coreutils
- coreutils-nohup
- bash
- curl
- ca-certificates
- ipset
- ip-full
- iptables-mod-tproxy
- iptables-mod-extra
- libcap
- libcap-bin
- ruby
- ruby-yaml
- kmod-tun(TUN模式)
- luci-compat(Luci-19.07)
- ip6tables-mod-nat(ipv6)
在Software(软件包)
上一个一个搜索安装依赖,或者使用下面的命令批量安装(不同的包之间要加空格):
opkg update
opkg install luci luci-base iptables dnsmasq-full coreutils coreutils-nohup bash curl ca-certificates ipset ip-full iptables-mod-tproxy iptables-mod-extra libcap libcap-bin ruby ruby-yaml kmod-tun luci-compat ip6tables-mod-nat
安装dnsmasq-full
会可能会报错check_data_file_clashes: Package dnsmasq-full wants to install file /etc/init.d/dnsmasq But that file is already provided by package * dnsmasq
,提示相关功能已经由dnsmasq
实现。操作如下:
opkg remove dnsmasq #卸载dnsmasq
opkg install dnsmasq-full #重新安装dnsmasq-full
安装dnsmasq-full 可能会继续报错resolve_conffiles: Existing conffile /etc/config/dhcp is different from the conffile in the new package. The new conffile will be placed at /etc/config/dhcp-opkg.
,配置文件冲突了,这个不用管。
依赖安装好了,把ipk上传到openwrt的root目录,执行opkg install luci-app-openclash*.ipk
安装ipk.
至此OpenClash已经安装成功,刷新之后就可以看到OpenClash的管理页面了。