Run a DD-WRT VM on Proxmox VE
What is DD-WRT?
DD-WRT is a Linux based alternative OpenSource firmware suitable for a great variety of WLAN routers and embedded systems. The main emphasis lies on providing the easiest possible handling while at the same time supporting a great number of functionalities within the framework of the respective hardware platform used. -https://dd-wrt.com/
Creating the VM
- Open a web browser and navigate to the ProxMox web UI https://ProxMoxDNSorIP:8006/
- Click the Create VM button at the top right
- On the General tab, name the VM DD-WRT and set a VM ID (144 in this example) > click Next
- 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
- On the System tab click Next
- On the Hard Disk tab set the Disk size to 0.001 > click Next
- On the CPU tab set the number of CPU cores and the Type to host > click Next
- On the Memory tab set the amount of memory to 256 MiB and uncheck Ballooning Device > click Next
- On the Network tab set the Model field to Intel E1000, Uncheck the Firewall box > click Next
- On the Confirm tab review the settings and click Finish
- Select the newly created DD-WRT VM from the left navigation panel
- Select Hardware from the left sub-navigation menu
- Click the Hard Disk to select it
- Click the Detach button at the top of the main content window to detach the hard disk from the VM
- Click the Unused disk to select it
- Click the Remove button at the top of the main content window to permanently delete it
- Click the CD/DVD Drive to select it
- Click the Remove button at the top of the main content window to permanently delete it
Setting Up the DD-WRT Disk
- Select the Proxmox node name in the left navigation menu
- Click Shell in the left sub-navigation
- Run the following commands in the terminal
# lookup the latest stable version number
# download dd-wrt image
wget https://download1.dd-wrt.com/dd-wrtv2/downloads/betas/2020/11-03-2020-r44715/x86_64/dd-wrt_x64_public_vga.image
# rename the extracted img
mv ./dd-wrt_x64_public_vga.image ./dd-wrt.raw
# increase the raw disk to 512 MB
qemu-img resize -f raw ./dd-wrt.raw 512M
# import the disk to the dd-wrt vm
# update the vm id and storage device as needed
# usage: qm importdisk #vm id# #source file# #target storage#
qm importdisk 144 dd-wrt.raw HDD_500GB
- Once the disk import completes, select the DD-WRT VM from the left navigation menu > Hardware
- Double click the Unused Disk > Set the Bus/Device to SATA > Click the Add button
- Select Options from the left sub-navigation menu
- Double click Boot Order
- Check the Enabled box next to the hard disk
- Drag the Hard disk up to the top of the boot order > Click OK
- Double click Use tablet pointer > Uncheck the Enabled box > Click OK
- Click the Start button in the top right of the screen
- Click the Console link to watch the boot process
- Wait for the text to stop scrolling and press Enter
- Login with username root and password admin
- Run the following commands to set the local IP address, network mask and gateway (update with IPs in your local subnet)
# set the bridge IP and netmask
ifconfig br0 10.10.27.155 netmask 255.255.255.0
# set the default gateway
add route default gw 10.10.27.27
- Open a new browser tab and navigate to http://IPofVM, http://10.10.27.155 in the example
- At the login screen, enter the username root and the password set above > Click the Login button
- Enjoy DD-WRT running in Proxmox