The EECSVM service allows students to use virtual machines required by courses they are taking. The service is only available to students enrolled in courses requiring this service, and the respective faculty. Once a course completes, the student VMs will deleted to ensure there is enough space for use the next term.
Users will use VirtualBox to access virtual machines from either a lab workstation, or, remotely using a set of servers available in remotelab.
The lab machines which will support EECSVM service locally include:
Lab | Cores per Workstation | Memory |
---|---|---|
LAS1002 | 6 | 16 GB |
LAS1002b | 6 | 16 GB |
LAS1004 | 16 | 32 GB |
LAS1006 | 12 | 32 GB |
WSC105 | 6 | 16 GB |
WSC106 | 12 | 16 GB |
WSC108 | 12 | 16 GB |
(*) LAS1006 hosts (ea01-ea78) appear in remotelab, and can be used remotely. These hosts are often used for labtest during the day, and remote sessions may be interrupted. They may not be the best choice for remote access unless in the late evening, weekends, or holidays.
The following servers are available in remotelab for supporting remote use of the EECSVM service:
Server | Cores per Server | Memory |
---|---|---|
rose | 20 | 256 GB |
ruby | 20 | 256 GB |
scarlet | 24 | 256 GB |
NOTE: Due to Microsoft restrictions, Windows VMs must only be used by students who are sitting at a workstation in a lab on campus. You must not use Windows VMs remotely. Please respect this policy.
To determine whether your account has access to the EECSVM service:
% eecsvm access You have access to EECSVM service.
To list available virtual machines that you can install:
% eecsvm list available Available VMs To Install: 3482-w24-win10 4421 flarevm kali-linux-2024.4-virtualbox-amd64 metasploitable2 metasploitable3-ubuntu14 metasploitable3-win2k8 SEED-Ubuntu20.04 ubuntu-24.04.2-lts-server windows11 Available VM Bundles To Install: eecs3481-alomari eecs3482-alomari eecs4484-alomari
Single VMs can be available (such as Ubuntu), or a VM bundle can be available (eg. “eecs3481-alomari”). A VM bundle is just a way to install several VMs at once.
After listing the available virtual machines, install a virtual machine like this:
% eecsvm install ubuntu-24.04.2-lts-server Installing ubuntu-24.04.2-lts-server ... Virtual machine 'ubuntu-24.04.2-lts-server' is created and registered. UUID: e00def12-af80-4c38-854e-49a1bcaf0cbc Settings file: '/eecs/vm/user/jas/ubuntu-24.04.2-lts-server/ubuntu-24.04.2-lts-server.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 95e2c8be-f5f0-43f8-9a1f-ee9a31b6b505
Ubuntu server is installed immediately. It takes very little time.
If you need to install multiple copies of the same VM (say, 3 copies of Ubuntu), then you can give each install its own name:
% eecsvm install ubuntu-24.04.2-lts-server ubuntu1 Installing ubuntu1 ... Virtual machine 'ubuntu1' is created and registered. UUID: 2577f6d7-99c3-4818-ace2-cd88dd46ed69 Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: da90b8d3-054e-4414-877b-faacce7c1bb5 % eecsvm install ubuntu-24.04.2-lts-server ubuntu2 Installing ubuntu2 ... Virtual machine 'ubuntu2' is created and registered. UUID: 67417f56-7064-471a-8918-31796dec8abc Settings file: '/eecs/vm/user/jas/ubuntu2/ubuntu2.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 09c32bb6-59a4-4764-982c-697e0651415a % eecsvm install ubuntu-24.04.2-lts-server ubuntu3 Installing ubuntu3 ... Virtual machine 'ubuntu3' is created and registered. UUID: 0096fab4-1759-4d5b-9852-bd7ad58de15b Settings file: '/eecs/vm/user/jas/ubuntu3/ubuntu3.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 153c6fb2-3898-477a-b401-4738b517652d
Other options which you can use when installing a VM with “eecsvm install” include:
For example, to overwrite a previous Ubuntu install, and to create an immutable VM which uses the network name “mynet”:
% eecsvm install -f --immutable --netname mynet ubuntu-24.04.2-lts-server ubuntu1 Installing ubuntu1 ... Virtual machine 'ubuntu1' is created and registered. UUID: 4e038be3-a871-44bb-a25a-ca90cbf57031 Settings file: '/eecs/vm/user/jas/ubuntu1/ubuntu1.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: ca1771c7-e9a3-4c9a-9373-9842d144326d
To install a virtual machine bundle, pass the bundle name to the “eecsvm installbundle” command. For example, to install the EECS3482 Bundle:
% eecsvm installbundle eecs3482-alomari Installing bundle eecs3482-alomari ... Installing kali ... Virtual machine 'kali' is created and registered. UUID: dfa82c7a-23c8-4132-bfdf-c39922b5ff98 Settings file: '/eecs/vm/user/jas/kali/kali.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: ac99f4ec-68e6-4ab8-a5c6-721fe915512a Installing seed ... Virtual machine 'seed' is created and registered. UUID: 8aa22a36-c9fd-4a40-aca0-9225c51871a6 Settings file: '/eecs/vm/user/jas/seed/seed.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 67d7e11d-9dbf-469a-a441-259325030e86 Installing metasploitable3-ubuntu14 ... Virtual machine 'metasploitable3-ubuntu14' is created and registered. UUID: eb0da547-df9f-44ba-9838-12bc1215bf83 Settings file: '/eecs/vm/user/jas/metasploitable3-ubuntu14/metasploitable3-ubuntu14.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: f9990525-5538-4a64-8cf6-49cac97bd657 Installing metasploitable3-win2k8 ... Virtual machine 'metasploitable3-win2k8' is created and registered. UUID: 54e13c70-1d5f-4955-95a6-bc430775c2d6 Settings file: '/eecs/vm/user/jas/metasploitable3-win2k8/metasploitable3-win2k8.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: bb899898-a7b5-44f4-a2a7-33c765a5ea05
Here, we can see that several VMs were installed: Kali, SEED, and Metasploitable3 Windows, and Ubuntu versions. What you don't see here is that they are all configured to use the shared network “secnet”, so all of these VMs will share a private network.
To check which virtual machines that you have installed:
% eecsvm list installed User installed VMs: kali metasploitable3-ubuntu14 metasploitable3-win2k8 seed
To delete a virtual machine:
% eecsvm delete kali Deleting VM kali ...
To start a virtual machine, start the VirtualBox GUI using the “virtualbox” command, then click on the VM on the left side of the display (underneath the VM name it will say: “Powered Off”), then click “Start” on the right side of the display:
% virtualbox
You can also start the VM from the command line:
% vboxmanage startvm kali Waiting for VM "kali" to power on... VM "kali" has been successfully started.
WARNING: On some older O/S, the VirtualBox guest additions do not work. In these cases, when you click on the VM window, your mouse will be locked to that window, and you will not be able to exit it unless you hit the right CTRL key on your keyboard.
You can stop a running virtual machine from the VirtualBox GUI. Right-click on the VM in the left side of the display, and choose “Stop” then your shutdown option. The VM will be shut down.
You can also shut down your VM from the command line:
vboxmange controlvm kali shutdown
To see how much space you have available in your EECSVM quota:
% eecsvm quota Quota: 0.0 of 39062.5 MB used
By default, you have a 40 GB storage quota. When you install VMs, the original VM disk does not count toward your quota. For example, if you install an Ubuntu VM from the repository, it will take up very little of your space, no matter how big the default install is. Anything you add to the VM will be counted toward your VM quota. If you run out of space, you won't be able to get more, so use your space wisely.
If you would like to clear your EECSVM storage, and VirtualBox settings, use the “eecsvm reset” command. Please make sure you have exited VirtualBox:
% eecsvm reset *** WARNING *** This operation will delete ALL of your virtual machines, and VirtualBox configuration. This operation is NOT recoverable. Do you wish to proceed (YES/[no]) ?YES Deleting /cs/home/testuser/.config/VirtualBox ... Deleting VMs ... Done
Your EECS home directory is shared with certain VMs. The method of accessing it will be different depending on the O/S:
Linux
With Linux, your EECS home directory will be available as: /media/sf_homes
NOTE: If you are setting up a new virtual machine, or adding additional users to an existing VM, you need to ensure that the user who should be able to access your EECS home directory is in the vboxsf group. Here's one way to handle that under Linux:
% sudo usermod -aG vboxsf $(whoami)
Windows
If the share is available to a Windows VM, it can be mounted as \\vboxsrv\homes
Faculty can create VMs and make them available to their students in consultation with tech.
First, start by installing an existing VM image just like before:
% eecsvm install ubuntu-24.04.2-lts-server my-custom-ubuntu Installing my-custom-ubuntu ... Virtual machine 'my-custom-ubuntu' is created and registered. UUID: 406608ad-6804-4849-9342-4cab53715ed9 Settings file: '/eecs/vm/user/jas/my-custom-ubuntu/my-custom-ubuntu.vbox' 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 8fc44cdc-125a-475b-8fe3-5599f3ffc785
Next, start the VM, and all the required components. For example, you could change the system configuration of the VM, or install software packages.
When you're done testing, shut down the VM, and export the VM to tech:
% eecsvm export my-custom-ubuntu Exporting my-custom-ubuntu (this will take some time) ... 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Successfully exported 1 machine(s). Export success.
This will automatically package up your VM, put it into a holding directory, and send an e-mail to tech to let them know that you've exported a VM. It's a good idea to follow this up with an email to tech to let us know your intention. Tech will then install your VM into the image repository, and make it available to all users of the EECSVM service.
NOTE: Since all users who use a VM from the repository are linked to the default image, once users start using the image, we can no longer change the base image.
WARNING: While you can install a VM from an ISO image, if you do this, ALL of the disk usage will be counted in your VM quota, and you will likely run out of space.
Here's information on the currently installed VMs for use with the EECSVM service:
Name | Description | Username/Password |
---|---|---|
3482-w24-win10 | 3482 Winter 24 Windows 10 VM | na |
4421 | 4421 VM | na |
flarevm | Windows 11 FlareVM with default packages | u: common, p: common |
kali-linux-2024.4-virtualbox-amd64 | Kali Linux | u: kali, p: kali |
metasploitable2 | Metasploitable 2 | u: mfsadmin, p: mfsadmin |
metasploitable3-ubuntu14 | Metasploitable 3 | u: vagrant, p: vagrant |
metasploitable3-win2k | Metasploitable 3 | u: vagrant, p: vagrant |
SEED-Ubuntu20.04 | SEED | u: seed, p: dees |
ubuntu-24.04.2-lts-server | Generic Ubuntu 24.04.2 LTS Server VM | u: common, p: common |
windows11 | Generic Windows 11 | u: common, p: common |
Name | Description |
---|---|
ecs3481-alomari | SEED |
eecs3482-alomari | Kali, SEED, Metasploitable3 Ubuntu, Metasploitable3 Windows |
eecs4484-alomari | SEED, FlareVM |