87 lines
4.3 KiB
Markdown
87 lines
4.3 KiB
Markdown
---
|
|
page-title: "Run an OpenWRT VM on Proxmox VE"
|
|
url: https://i12bretro.github.io/tutorials/0405.html
|
|
date: "2023-03-27 23:56:45"
|
|
---
|
|
## What is OpenWRT?
|
|
|
|
> OpenWrt is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. All components have been optimized to be small enough to fit into the limited storage and memory available in home routers. *-[https://en.wikipedia.org/wiki/OpenWrt](https://en.wikipedia.org/wiki/OpenWrt)*
|
|
|
|
## Creating the VM
|
|
|
|
1. Open a web browser and navigate to the ProxMox web UI https://ProxMoxDNSorIP:8006/
|
|
2. Click the Create VM button at the top right
|
|
3. On the General tab, name the VM OpenWRT and set a VM ID (123 in this example) > click Next
|
|
4. On the OS tab select Do not use any media and set the Guest OS Type to Linux and Version to 5.x - 2.6 Kernel > click Next
|
|
5. On the System tab click Next
|
|
6. On the Hard Disk tab set the Disk size to 0.001 > click Next
|
|
7. On the CPU tab set the number of CPU cores and the Type to host > click Next
|
|
8. On the Memory tab set the amount of memory to 256 MiB > click Next
|
|
9. On the Network tab set the Model field to VirtIO (paravirtualized), Uncheck the Firewall box > click Next
|
|
10. On the Confirm tab review the settings and click Finish
|
|
11. Select the newly created OpenWRT VM from the left navigation panel
|
|
12. Select Hardware from the left sub-navigation menu
|
|
13. Click the Hard Disk to select it
|
|
14. Click the Detach button at the top of the main content window to detach the hard disk from the VM
|
|
15. Click the Unused disk to select it
|
|
16. Click the Remove button at the top of the main content window to permanently delete it
|
|
17. Click the Add button > Network Device
|
|
18. Set the Model field to VirtIO (paravirtualized), Uncheck the Firewall box > Click Add
|
|
|
|
## Setting Up the OpenWRT Disk
|
|
|
|
1. Select the Proxmox node name in the left navigation menu
|
|
2. Click Shell in the left sub-navigation
|
|
3. Run the following commands in the terminal
|
|
|
|
```bash
|
|
\# lookup the latest stable version number
|
|
regex='<strong>Current Stable Release - OpenWrt (\[^/\]\*)<\\/strong>' && response=$(curl -s https://openwrt.org) && \[\[ $response =~ $regex \]\] && stableVersion="${BASH\_REMATCH\[1\]}"
|
|
\# download openwrt image
|
|
wget -O openwrt.img.gz https://downloads.openwrt.org/releases/$stableVersion/targets/x86/64/openwrt-$stableVersion-x86-64-generic-ext4-combined.img.gz
|
|
\# extract the openwrt img
|
|
gunzip ./openwrt.img.gz
|
|
\# rename the extracted img
|
|
mv ./openwrt\*.img ./openwrt.raw
|
|
\# increase the raw disk to 512 MB
|
|
qemu-img resize -f raw ./openwrt.raw 512M
|
|
\# import the disk to the openwrt vm
|
|
\# update the vm id and storage device as needed
|
|
\# usage: qm importdisk
|
|
|
|
|
|
|
|
qm importdisk 123 openwrt.raw HDD\_500GB
|
|
|
|
```
|
|
|
|
4. **Once the disk import completes, select the OpenWRT VM from the left navigation menu > Hardware**
|
|
5. **Double click the Unused Disk > Click the Add button**
|
|
6. **Select Options from the left sub-navigation menu**
|
|
7. **Double click Boot Order**
|
|
8. **Check the Enabled box next to the hard disk**
|
|
9. **Drag the Hard disk up in the boot order as needed, typically below the CD-ROM device**
|
|
10. **Click OK**
|
|
11. **Double click Use tablet pointer > Uncheck the Enabled box > Click OK**
|
|
12. **Click the Start button in the top right of the screen**
|
|
13. **Click the Console link to watch the boot process**
|
|
14. **Wait for the text to stop scrolling and press Enter**
|
|
15. **Run the following command to change/set the root password**
|
|
|
|
**passwd**
|
|
|
|
16. **Type a new root password twice to set it**
|
|
17. **Continue the configuration by running the following commands**
|
|
|
|
**\# set the lan ip address, use something in the same subnet as your LAN
|
|
**uci set network.lan.ipaddr='10.10.27.151'
|
|
\# restart network services
|
|
service network restart
|
|
\# update openwrt packages
|
|
opkg update
|
|
\# install the luci web ui
|
|
opkg install luci
|
|
|
|
18. **Open a new browser tab and navigate to http://IPofVM, http://10.10.27.151 in the example**
|
|
19. **At the login screen, enter the username root and the password set above > Click the Login button**
|
|
20. **Enjoy OpenWRT running in Proxmox** |