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

  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 DD-WRT and set a VM ID (144 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 and uncheck Ballooning Device > click Next
  9. On the Network tab set the Model field to Intel E1000, Uncheck the Firewall box > click Next
  10. On the Confirm tab review the settings and click Finish
  11. Select the newly created DD-WRT 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 CD/DVD Drive to select it
  18. Click the Remove button at the top of the main content window to permanently delete it

Setting Up the DD-WRT 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
    # 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
  4. Once the disk import completes, select the DD-WRT VM from the left navigation menu > Hardware
  5. Double click the Unused Disk > Set the Bus/Device to SATA > 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 to the top of the boot order > Click OK
  10. Double click Use tablet pointer > Uncheck the Enabled box > Click OK
  11. Click the Start button in the top right of the screen
  12. Click the Console link to watch the boot process
  13. Wait for the text to stop scrolling and press Enter
  14. Login with username root and password admin
  15. 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
  16. Open a new browser tab and navigate to http://IPofVM, http://10.10.27.155 in the example
  17. At the login screen, enter the username root and the password set above > Click the Login button
  18. Enjoy DD-WRT running in Proxmox