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,新建虛擬機,沒有特別說明就是無腦下一步。

  • 安裝客戶機操作系統這里選擇稍后安裝操作系統。
  • 選擇客戶機操作系統這里選擇 其他 Linux 5.X或更高版本
  • 虛擬機名稱,選擇安裝目錄,根據自己喜好設置。
  • 網絡類型選擇 使用橋接網絡

最重要的一步,選擇磁盤這里

  • 選擇使用現有虛擬磁盤,找到下載到D盤下的vmdk文件。

啟動虛擬機

然后虛擬機創建完成,可以直接啟動。

如果你看到到了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.

友情提示

可以自行在網上找到別人編譯好的固件,跳過編譯環節,不過可能存在后門等風險,請自行甄別。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM