Home > Networking, VMware > Building a DD-WRT Image In vSphere 5.0

Building a DD-WRT Image In vSphere 5.0

Introduction

I have a need to put a router between my test ESXi 5.0 server and my network. At home, I use a Linksys E3000 (both 2.4Ghz & 5Ghz Wireless-N, gigabit) router, with OpenSource DD-WRT custom firmware. There is a x86 variant that can be downloaded, people mention in the forums about using it on old PCs, I thought I would give making a VM a go.

Pre-Requisites

    1. An installed copy of ESXi 5.0 (this is almost certain to work on 4.0, but not 3.5)
    2. The DD-WRT x86 Image. I chose the VGA public image. This is a free version, limited to 4096 connections (fine for my purposes) and without Wi-Fi support. The image that is used is here.
    3. physdiskwrite – A Windows tool for writing raw images to a hard disk.
    4. An existing Windows image.
      Installation

      Creating the Virtual Machine

  1. Create a virtual Machine. Select a configuration type of Custom.
    New_VM_-_Custom
  2. Name the VM something appropriate.
  3. Select a datastore for the Virtual Machine.
  4. Select ‘Virtual Machine Version: 8’ (if using ESXi 4.0, using version 7)
    New_VM_-_Virtual_Machine_Version
  5. For Guest Operating System type, choose ‘Linux’ and select ‘Other 2.6.x Linux (32-bit) from the drop down.
    New_VM_-_Guest_Operating_System
  6. Choose 1 virtual sockets, with one core per virtual socket.
    New_VM_-_CPUs
  7. Choose 512MB RAM.
    New_VM_-_RAM
  8. Select the appropriate number of NICs (nearly always 2), E1000, and choose the port groups. (I have found that the first NIC is assigned to the WAN)
    New_VM_-_NICs
  9. SCSI Controller, choose any. This will be replaced.
  10. Choose not to create a disk.
    New_VM_-_No_Disk
  11. Tick Edit the virtual machine settings before.
  12. In the Virtual Machine Properties, click Add. Select Hard Disk.
    New_VM_-_Add_Hard_Disk
  13. Select ‘Create a new virtual disk’
    New_VM_-_Create_New_Virtual_Disk
  14. Make the capacity of the disk 1GB. I chose to make it Thin Provisioned.
    New_VM_-_1GB_Cpacity
  15. Set the Virtual Device Node to IDE (0:0)
    New_VM_-_IDE
  16. Press OK, then Finish. Wait for the VM to be created.

Install the image to the Disk

  1. Choose your Windows VM. Power it off if necessary.
  2. Edit the Windows VM’s properties. Press Add.
  3. Select a Hard Disk.
  4. Choose ‘Use Existing Virtual Disk’
    Edit_VM_-_Add_Exiting_Virtual_Disk
  5. In Advanced Options, ensure that the Virtual Device Node is ‘IDE (0:0)’
  6. Click OK, then Finish. Power on the Windows VM.
  7. Load PhysGUI (make sure you elevate it)
  8. Ensure that you select the ‘VMware Virtual IDE Hard Drive ATA Device’, right click select ‘Image laden’ –> ‘Öffinen’. Select the downloaded DD-WRT image.
    PhysGUI_-_Select_Image
  9. Click OK through the prompts.
    PhysGUI_-_Remove_2GB
  10. Wait until the disk completes writing. Shut down the VM.
    PhysGUI_-_Write_to_Disk
  11. Edit the Windows VM’s properties. Select the DD-WRT virtual disk and press remove. Ensure ‘Remove from virtual machine’ is selected. Click OK.
  12. Start up the DD-WRT VM.

Connecting to the Router

    1. Load another VM on the same LAN as the router. Ensure that it is configured to automatically obtain an IP address.
    2. It should be assigned an IP by the DD-WRT router’s DHCP server service. You can see this by performing an ipconfig (if using a Windows client)
    3. Presuming that you have an IP address, use the web browse to connect to 192.168.1.1
      DD-WRT_System_Information
    4. It will ask to set the username and password. Note that if you SSH into the router at a later point, it will use the username ‘root’ with the password set here.
      DD-WRT_-_Set_Creds
    5. You are presented with the DD-WRT System Information page. This will show the current hardware, configuration, DHCP client list, etc.
Advertisements
  1. March 15, 2012 at 3:03 am

    Is there a way to pass the LAN side of the DD-wrt x86 VM out of ESXi to a physical switch for a physical network, instead of just VMs?

    • March 15, 2012 at 8:21 am

      Are you using two distinct port groups?

      I had an issue where the two ports were on the same subnet and it was reporting that it could see itself- which it did not seem to like too much.

      As long as your port group has a physical NIC assigned, I cannot see why you cannot get data out?

      Tell me how you have things configured, i.e. NICs, port groups, VLANs, etc.

  2. March 17, 2012 at 7:40 am

    I was able to do exactly what I do with VMware workstation, however my new issue is:
    (gonna copy and paste…its 4am here)

    Here is my issue:
    http://hardforum.com/showthread.php?p=1038503447#post1038503447

    I ran into an issue a few minutes ago with running DD-wrt x86 in ESXi.

    What I did, was use the VMware standalone converter to convert my DD-wrtx86 Workstation VM to an ESXi VM.

    All of that went well, however, I could not get the DD-wrt ESXi VM to see the WAN of the modem.

    Usually, with my workstation VM of DD-wrt, I disable all protocols for the NIC I added thats connected to the modem, except the VMware Bridge protocol. And bridge it to VMnet4 in the Virtual Network Editor.
    And works, it passes what the modem sends to the NIC directly to the DD-wrt VM. It gets the IP address and everything from the modem. (this is the 1st NIC that dd-wrt sees, and sees it as WAN)

    And then the built in NIC of the motherboard is bridged to Vmnet1 in Virtual Network Editor, and is left alone protocol wise and is connected to a physical switch. (this is the 2nd NIC dd-wr sees) From there, it acts just like a hardwired router. Perfectly. It does take the Windows 7 host a few extra min to get an IP, however everything connected to the physical switch gets served quickly.

    Ive set it up similar, or so I thought in ESXi, the DD-wrt x86 served out DHCP perfectly to virtual and physical hosts via the built in NIC. But as I said, the 2nd NIC thats connected to the modem, DD-wrt X86 isnt seeing WAN side.

    So, I guess I either need to somehow “bridge” the 2nd NIC thats connected to the modem on the ESXi host to the DD-wrt x86 VM, or Direct pass the 2nd NIC to the dd-wrt ESXi Vm?

    My ESXi host doesnt support DirectPath unfortunately.

    And from what I can tell here:
    [IMG]http://img861.imageshack.us/img861/2049/ddwrtx86config.jpg[/IMG]
    Im feeding the modem directly to a virtual switch, instead of the DD-wrt X86 VM in ESXi?
    Is there a way to around that?

    :edit: Right now it disconnected because I switched back to Workstation to get my internet back.

  3. June 1, 2014 at 3:05 am

    Incredible! This blog looks exactly like my old one!
    It’s on a entirely different subject but it has pretty much the same page layout and design. Outstanding choice of colors!

  4. July 19, 2014 at 2:58 am

    Heya! I understand this is kind of off-topic but
    I needed to ask. Does operating a well-established website such as yours take a massive amount work?
    I’m brand new to writing a blog however I do write in my diary daily.
    I’d like to start a blog so I will be able to share my experience and views online.

    Please let me know if you have any recommendations or tips for
    brand new aspiring blog owners. Appreciate it!

  5. August 9, 2014 at 1:49 am

    Admiring the commitment you put into your blog and in depth
    information you present. It’s nice to come across a blog every once in a while that isn’t the same unwanted rehashed material.
    Wonderful read! I’ve bookmarked your site and I’m including your RSS feeds to my Google account.

  6. August 26, 2014 at 4:52 pm

    Hurrah, that’s what I was searching for, what a data!

    present here at this web site, thanks admin of this web site.

  7. September 24, 2014 at 5:17 am

    If some one needs expert view concerning blogging then i recommend him/her to visit this web site,
    Keep up the fastidious work.

  8. Wernstar
    February 28, 2015 at 3:11 pm

    First of all, thanks for a comprehensive guide with lots of details! Now to my issue wich i seem not to be able to find a sollution on.
    Any ideas why it sais ‘No operating system found’? I followed the guide exactly twice, with the same result.
    Should the diskmanager in windows be used to assign driveletters or maybe just add a MBR?

    When starting the VM, in the console I can see that it looks for IP adresses and/or network boot rom on both cards. Afterwards it tells me that there are no OS. Any help would be appreciated.

    My hardware does not support I/O forwarding, forcing me to add a second virtual switch assigned to the second NIC. This should not change anything, seen from the VM.

    Im on ESXI 5.0 running on an older Phenom2 X6, 8 GB Ram and two descrete Intel NICs.

    Thanks in advance.

    /Wern

  9. June 26, 2015 at 8:48 am

    Yay google is my king aided me to find this great site! .

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: