其他分享
首页 > 其他分享> > openwrt软路由折腾教程

openwrt软路由折腾教程

作者:互联网

前言

最近一直想在家里弄个服务器,苦于(贫穷)没有想好能用来做哪些事情,经过一番调研下来,发现有个叫做“软路由”的新名词,于是就研究了一下。经过这几天的一番折腾大概知道这玩意儿应该怎么玩了,写个教程记录一下。

正巧最近是618时间,可能会趁此机会淘一些E3、E5之类的处理器,搭配一个小主板,自己组一个小机器装软路由来主路由。

安装虚拟机

准备一台Ubuntu系统虚拟机,我使用的操作系统版本是Ubuntu 20.04 LTS。

安装教程网上很多,自行搜索。

注意:

  1. 分配尽量多的CPU,后期可降低。
  2. 分配40G左右磁盘。
  3. 记住设置的用户名和密码。
  4. 最好有一个能够科学冲浪的工具。

环境初始化

进入虚拟机之后,出现登录界面,看到的是你刚刚设置的用户名的名称,然后输入密码进行登录。

我这里的用户名是huan

修改root密码

sudo passwd root

需要输入两次相同的密码。

环境准备

系统更新

sudo apt-get update -y

安装工具

sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync net-tools

开启ssh登录

Ubuntu默认没有开启ssh服务,需要手动安装

sudo apt-get install openssh-server -y

查看IP

ifconfig

记录下IP地址并使用xshell等工具连接,如何查看IP及使用xshell工具,请自行搜索。

编译准备

源码拉取

cd /opt
sudo git clone https://github.com/coolsnowwolf/lede

使用sudo命令创建、下载的文件,所属用户和组都属于root,编译openwrt过程中,禁止使用root用户来操作。因此需要将文件目录所属用户和所属组切换为非root权限用户(我这里所属用户和组都是huan)

sudo chown -R huan:huan /opt/lede/

组件安装

cd /opt/lede/
./scripts/feeds update -a
./scripts/feeds install -a

配置

make menuconfig

会弹出来如下设置页面

这里是选择在虚拟机跑lede,所以进入Target System,移动光标到x86,按键盘上的Y选中。如果后期要将lede安装到其他平台,就需要选择对应的目标系统。

LuCI

LuCI相当于是lede管理工具,包括主题,插件等。

根据需求,选择相应的主题和插件,如果刚开始不太了解,可以先跳过这一步的配置,后期熟悉之后就可以按需添加。

配置好之后,保存,回到Terminal终端。

下载依赖

make -j$(($(nproc) + 1)) download

$(($(nproc) + 1))意思是使用CPU核数+1个线程来运行。

开始编译

make -j$(($(nproc) + 1))

等待编译,最好有科学上学工具,8核处理器整个编译过程下来大概需要2个多小时。

编译完成

编译完成之后,会将编译好的文件保存在bin/targets/x86/64目录下

因为之前选的Target System是x86,因此会在targets目录下生成x86平台的固件。如果选择其他平台,则会在bin/targets目录生成对应平台的目录。

查看目录

可以看到这里已经生成了x86-64的文件,具体每一种文件代表什么含义,请参考这篇文章openwrt攻略(正确用法)

这里我选择的是openwrt-x86-64-generic-ext4-combined.vmdk

如果你的目录下没有这个vmdk后缀的文件,但是肯定会有img.gz后缀的文件,在/home/huan目录(家目录)创建lede目录,将img.gz拷贝到/home/huan/lede目录下方便后续使用。

mkdir /home/huan/lede

家目录是创建用户时根据不同用户名,在/home目录下生成对应用户名的目录,该用户对该目录拥有增删改查的权限,而不需要sudo等命令。

cp /opt/lede/bin/targets/x86/64/openwrt-x86-64-generic-ext4-combined.img.gz /home/huan/lede

解压并转换成vmdk文件。

gunzip openwrt-x86-64-generic-ext4-combined.img.gz

qemu-img convert -f raw -O vmdk  openwrt-x86-64-generic-ext4-combined.img openwrt-x86-64-generic-ext4-combined.vmdk

vmdk是VMware可识别的虚拟机文件,可以直接加载并使用。

下载文件

打开新的终端页面,找到一个本地目录,进入该目录后,使用命令进行远程下载。比如在D盘:

[C:\~]$ d:
[D:\]$ scp huan@10.4.7.128:/home/huan/lede/openwrt-x86-64-generic-ext4-combined.vmdk .

如果提示输入yes/no,那么输入yes,然后输入密码。

至此,编译相关工作已完成。

安装Openwrt

到这里,已经很简单了。

创建虚拟机

打开VMware,新建虚拟机,没有特别说明就是无脑下一步。

最重要的一步,选择磁盘这里

启动虚拟机

然后虚拟机创建完成,可以直接启动。

如果你看到到了IPv6那里就不动了,可以试试按一下回车,可以感受一下,什么是惊喜。。。

配置IP

设置lan口IP地址为自动获取(DHCP)

uci set network.lan.proto=dhcp

保存设置

uci commit network

uci是类似于centos中的systemctl或Ubuntu的service命令。

重启网络服务,使配置生效

/etc/init.d/network restart

查看IP,这里如果用ifconfig可能看不全IP信息,可以尝试使用其他命令

ip addr

嗯,是那个熟悉的味道。

修改密码

passwd root

输入两次,回车。

服务查看

在浏览器中输入IP地址,进入页面。

OK, Enjoy yourself.

友情提示

可以自行在网上找到别人编译好的固件,跳过编译环节,不过可能存在后门等风险,请自行甄别。

标签:教程,x86,虚拟机,lede,openwrt,huan,64,目录,路由
来源: https://www.cnblogs.com/liuhuan086/p/14892690.html