【SDN】普通路由器刷OpenWrt + OpenVSwitch教程完美版_搭建SDN OpenFlow1.3协议的路由器(Flash>16M)
生活随笔
收集整理的這篇文章主要介紹了
【SDN】普通路由器刷OpenWrt + OpenVSwitch教程完美版_搭建SDN OpenFlow1.3协议的路由器(Flash>16M)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
* * ┏┓ ┏┓+ +* ┏┛┻━━━┛┻┓ + +* ┃ ┃ * ┃ ━ ┃ ++ + + +* ████━████ ┃+* ┃ ┃ +* ┃ ┻ ┃* ┃ ┃ + +* ┗━┓ ┏━┛* ┃ ┃ * ┃ ┃ + + + +* ┃ ┃* ┃ ┃ + * ┃ ┃ * ┃ ┃ + * ┃ ┗━━━┓ + +* ┃ ┣┓* ┃ ┏┛* ┗┓┓┏━┳┓┏┛ + + + +* ┃┫┫ ┃┫┫* ┗┻┛ ┗┻┛+ + + +*
一、教程簡介
Author: louis
Email:louis.yyj.dev@foxmail.com
編譯環境:Ubuntu20.04(or Ubuntu18.04) 建議20.04
路由器品牌:紅米
路由器型號:Redmi AX6000
編寫日期:2023.2.14 (情人節快樂)
更新日期:2023.3.3
刷機前請確認你的路由器支持OpenWrt,并確定Flash大小,具體方法請進入下面的網址,在Model一欄中輸入你路由器型號,如"TL-MR3420",有搜索結果,并列出你路由器支持的版本(路由器背部或進入路由管理界面查看版本),則代表支持,否則不支持,點擊Device Page可查看路由器硬件信息。路由器型號確認網址
如果你的路由器Flash=4M,請移步該教程,刷入僅支持OpenFlow1.3的OpenWrt,無法刷入OpenVSwitch。請注意,僅刷入OpenFlow1.3但不含OpenVSwitch的路由器是無法進行流表操作的,僅能體驗一下控制與轉發分離的操作,故建議購買更大FLASH的路由器,以成功部署SDN:點我轉跳
如果倉庫失效,可進入OpenWrt倉庫發布網站進行更正:OpnWrt倉庫發布網址
福利:如果各位網友如果不想自己部署固件編譯環境,可以直接下載我打包好的"openwrt"文件夾到根目錄,直接sudo make menuconfig + make V=99即可編譯出固件,免去環境搭建和試錯環節(教程步驟還是簡單看一下),好用給我點個贊就行。
OpenWrt完整包下載地址(免部署環境.請在Ubuntu20.04.6下使用): 鏈接:https://pan.baidu.com/s/19y1XNZ7yPKTLMEKNvsAvoQ 提取碼:guet二、教程正文
1.安裝依賴
(更新系統源與軟件) sudo apt update && sudo apt upgrade(安裝依賴) sudo apt install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev subversion git gawk asciidoc libz-dev python3-pip(可選,更改python指向python3、pip指向pip3) echo alias python=python3 >> ~/.bashrc echo alias pip=pip3 >> ~/.bashrc source ~/.bashrc2.獲取OpenWrt、OpenVSwitch并安裝依賴
(獲取OpenWRT源碼) git clone https://git.openwrt.org/openwrt/openwrt.git (或從百度網盤下載(文件夾放到home目錄下):https://pan.baidu.com/s/1I3t0zdim_HEWaoYuZAgQsw 提取碼: guet)(進入代碼目錄,一定要先進入openwrt目錄,再克隆packages文件夾) cd openwrt/(獲取OpenWRT依賴——packages包) git clone git://git.openwrt.org/openwrt/packages.git (或從百度網盤下載(文件夾放到home目錄下):https://pan.baidu.com/s/162gLGBOp56P3IHmeF1AvhQ 提取碼: guet)(更新最新代碼,安裝最新組件) sudo ./scripts/feeds update -a sudo ./scripts/feeds install -a (如果運行此處有警告,別管,在運行一次該命令即可) ./scripts/feeds install -a -p luci ./scripts/feeds update packages luci(更新版本號) svn up(添加openVSwitch代碼連接) echo 'src-git openVswitch https://github.com/pichuang/openvwrt.git' >>feeds.conf(克隆OpenVSwitch源碼) sudo ./scripts/feeds update openVswitch(安裝OpenVSwitch) sudo ./scripts/feeds install -a -p openVswitch(添加一個patch) wget https://gist.githubusercontent.com/pichuang/7372af6d5d3bd1db5a88/raw/4e2290e3e184288de7623c02f63fb57c536e035a/openwrt-add-libatomic.patch -q -O - | patch -p13.配置系統、編譯并生成固件
(進入編譯前設置) sudo make menuconfig對其中的選項設置參考如下(根據路由器實際型號選擇):(選擇CPU型號,必選) Target System ---> 選擇 "Atheros ATH79" (請根據你的實際路由器型號選擇) Subtarget ---> 選擇 "Device with small flash" (請根據你的實際路由器型號選擇)(選擇路由器型號,必選) Target Profile ---> 選擇 "TP-Link TL-MR3420 v1" (請根據你的實際路由器型號選擇)(添加UTF-8編碼,必選) Kernel module ---> Native Language Support ---> 光標放在"kmod-nls-utf8"選項上,按兩下空格變成<*>(添加openVSwitch支持,必選) Network ---> Open vSwitch ---> 除了"ovsd"以外,全部調成<*>(添加openFlow1.3支持,必選) Network ---> OpenFlow---> 調成<*>(添加LuCI用戶交互界面、LuCI中文語言支持包、LuCI_DDNS選項,可選) LuCI ---> 1.Collection ---> 光標放在"luci"選項上,按2下空格,變成<*> LuCI ---> 2.Modules ---> Translations ---> 光標放在"Chinese Simplified (zh_Hans)"選項上,按兩下空格變成<*> LuCI ---> 3.Applications ---> 光標放在"luci-app-ddns"選項上,按兩下空格變成<*>(添加復位鍵支持,沒有該選項則忽略此步驟,可選) Utilities ---> 光標放在"restorefactory"選項上,按兩下空格變成<*>(其他,建議配置) Advanced configuration options(for developers) 按一下空格調成<*>,然后按回車進入: Target Options 調成<*>后回車進入,取消掉"Build packages with MIPS16 instructions",即調成<> Toolchain 調成<*>后回車進入,選擇 Binutils Version(Binutils 2.39) ---> 選擇"Binutils 2.40"在Libraries選項里找到libustream-openssl和libustream-mbedtls這兩個組件,取消選中其中一個,只能2選1:最后選擇界面最下方的 "save" ,回車2下后保存,選擇"Exit"退出。(更改所有文件和文件夾的擁有者為當前用戶) sudo chgrp -R $USER * sudo chown -R $USER *(編譯,需要聯網,勿用sudo,首次編譯時間較久,大于2小時,耐心等待) make V=99(如果編譯出來的固件太大無法刷機,使用下面語句清理編譯信息后,重新配置,減少插件量,再編譯) make clean make dirclean sudo rm .config make menuconfig 重新選擇信息,減少配置然后重新編譯:make V=994.刷入固件
(打開編譯保存目錄) cd /home/$USER/openwrt/bin/ar71xx/(列出所有文件) ls(找到我們所需要的固件) 固件命名格式:openwrt-系統版本-硬件平臺-具體分支-設備型號-硬件版本-分區類型-固件類型.bin openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin (如果從路由器原廠固件刷OpenWRT,則選擇該固件刷入) openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-sysupgrade.bin (如果路由器原本就有OpenWRT,則選擇該固件刷入)(由于路由器原系統原因,最好將名稱改短一些,并用副本來操作,保留原文件以免出錯) cp openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin /home/$USER/ (根據實際文件名操作) cd (更名為:"myOPenWRT.bin",根據實際文件名操作) mv openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin myOPenWRT.bin 然后使用網頁登陸路由器原管理界面,找到類 似"路由升級"或者"軟件升級"等入口, 選擇myOPenWRT.bin文件刷入OpenWRT固件,具體見下方圖片:5.刷機成功,連接路由器并進行一些常規設置
(Ubuntu系統安裝SSH工具) sudo apt install ssh刷機成功后默認關閉無線WIFI功能,故需要先用SSH登陸管理頁面,用一條網線連接電腦和路由器lan口。(連接路由器,默認賬號:root 地址:192.168.1.1) ssh-keygen -R 192.168.1.1 (清除公鑰,否則如果之前ssh過192.168.1.1則會報錯:WRNING:REMOTE......) ssh root@192.168.1.1 (可能會有提示一些信息,輸入yes即可)如果看見如下信息,恭喜你,刷機成功!-------------------------------------------------------------------------- BusyBox v1.23.2 (2023-02-17 15:26:17 CST) built-in shell (ash)_______ ________ __| |.-----.-----.-----.| | | |.----.| |_| - || _ | -__| || | | || _|| _||_______|| __|_____|__|__||________||__| |____||__| W I R E L E S S F R E E D O M-----------------------------------------------------CHAOS CALMER (Chaos Calmer, r49632)-----------------------------------------------------* 1 1/2 oz Gin Shake with a glassful* 1/4 oz Triple Sec of broken ice and pour* 3/4 oz Lime Juice unstrained into a goblet.* 1 1/2 oz Orange Juice* 1 tsp. Grenadine Syrup----------------------------------------------------- root@OpenWrt:~# --------------------------------------------------------------------------如果你沒有反應,請自行排出軟、硬件錯誤,再不行就是變磚了,請自行百度救磚。(打開路由器的WIFI功能) vi /etc/config/wireless 按一下鍵盤的"I"鍵,進入修改模式 將option disable 1改為0,按下"ESC"鍵,再輸入:wq 然后回車,即完成修改并保存 reboot 重啟路由發現WIFI出來了,默認WIFI名為:OpenWrt 現在你的路由就支持openflow1.3協議啦!三、部分可刷OpenWrt+OVS+OpenFlow1.3路由器推薦
1.紅米(ReadMi) AX6000 CPU:2000MHz Flash:128 469元
2.小米(XiaoMi) AX3200 / AX6S CPU:1350MHz Flash:128MB(非易失閃存) 265元
3.網件(NETGEAR) R6300V2 CPU:800MHz Flash:128MB(非易失閃存) 250元
4.D-LINK(友訊) DIR-885L CPU:1400MHz Flash:32NOR + 128NAND 159元
5.小米(XiaoMi) 4A 千兆版 CPU:880MHz(雙核) Flash:16MB 139元
6.小米(XiaoMi) 4C CPU:580MHz Flash:16MB 79元
7.小米(XiaoMi) 4A 普通版 CPU:575MHz Flash:16MB 109元
教程結束,覺得寫的不錯的給個贊吧,謝謝各位!
總結
以上是生活随笔為你收集整理的【SDN】普通路由器刷OpenWrt + OpenVSwitch教程完美版_搭建SDN OpenFlow1.3协议的路由器(Flash>16M)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚幻4 程序化 植被_首次资产发行商通过
- 下一篇: elisa标准曲线怎么做_ELISA标准