= How-to: Use more than One {{project_name_workstation_long}} - Easy =
{{Tab
|type=controller
|content=
{{Tab
|title= =={{non_q_project_name_long}}==
|type=section
|image=
|addToClass=info-box
|active=true
|content=
{{Anchor|qubes}}
{{mbox
| type = notice
| image = [[File:Ambox_notice.png|40px|alt=info]]
| text ='''Note:''' The following instructions only apply to Download/Default-{{project_name_workstation_short}} or {{project_name_long}} VMs built from source code. To use another operating system like Windows, other GNU/Linux, BSD etc. please see the [[Other Operating Systems]] chapter instead.
}}
{{mbox
| image = [[File:Ambox_warning_pn.svg.png|40px|alt=warning]]
| text = Each additional {{project_name_workstation_short}} VM must have its own MAC address and internal LAN IP address.
}}
'''1.''' Clone a fresh {{project_name_workstation_short}} VM.
* VirtualBox: In VirtualBox Manager, [https://dirkstrauss.com/clone-virtualbox-vm/ clone] a clean {{project_name_workstation_short}}.
* KVM: In Virtual Machine Manager, clone a clean {{project_name_workstation_short}}: Highlight {{project_name_workstation_short}}
→ Open
→ Virtual Machine
→ Clone
'''2.''' Assign a new MAC address to the cloned VM.
{{mbox
| type = notice
| image = [[File:Ambox_notice.png|40px|alt=info]]
| text = '''Note:''' A new MAC address is necessary if an additional [[VirtualBox]] VM is imported.
}}
* VirtualBox: In VirtualBox Manager, assign a new MAC address: VirtualBox
→ Settings
→ Network
→ Adapter 1
→ Advanced
→ Mac Address
→ Create a new MAC address (press the green round arrow icon)
→ OK
* KVM: To change the internal network in KVM, see: [[KVM#Creating_Multiple_Internal_Networks|Creating Multiple Internal Networks]].
'''3.''' Edit the network interfaces file in {{project_name_workstation_short}}.
{{CodeSelect|code=
sudoedit /etc/network/interfaces.d/30_non-qubes-whonix
}}
Ignore all lines starting with a hashtag ("#
"). That is because comments are only for documentation and notes. However, comments are ignored by the system.
Look for line address 10.152.152.11
. Change the last octet. For example, change 10.152.152.1'''1'''
to 10.152.152.1'''2'''
Save and exit.
'''4.''' Review your changes.
The following command is optional but handy to show all file contents without comments.
{{CodeSelect|code=
cat /etc/network/interfaces.d/30_non-qubes-whonix {{!}} grep --invert-match \#
}}
That should show for example:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.152.152.12 netmask 255.255.192.0 gateway 10.152.152.10It would even be possible to replace the contents of that config file will above contents. When using more than 1 additional Whonix-Workstation however
10.152.152.12
should be changed to 10.152.152.13
and so forth.
'''5.''' Reboot.
Reboot the {{project_name_workstation_short}} or alternately restart the network.
{{CodeSelect|code=
sudo service networking restart
}}
'''6.''' Done.
}}
{{Tab
|title= =={{q_project_name_long}}==
|content=
'''1.''' Create an additional App Qube based on the {{project_name_workstation_short}} Template ({{project_name_workstation_template}}
) and give it a distinctive name such as for example {{project_name_workstation_vm}}2
. (A more distinctive name is desirable.)
'''2.''' Confirm the new {{project_name_workstation_short}} App Qube is using a {{project_name_gateway_long}} (such as for example the default {{project_name_gateway_vm}}
) as its [https://www.qubes-os.org/doc/glossary/#net-qube net qube
].
If creating a new App Qube is unfamiliar, follow this step-by-step instructions:
{{box|text=
[[File:Create_Qubes-Whonix-Workstation_AppVM.png]]
'''A.)''' Create Qubes-{{project_name_workstation_short}} App Qube
'''B.)''' Name and label: Name the App Qube. Don't include any personal information (if the App Qube is compromised, the attacker could run qubesdb-read /name
to reveal the VM name). Name the App Qube something generic, for example: {{project_name_workstation_vm}}
.
'''C.)''' Color: Choose a color label for the {{project_name_workstation_short}} App Qube.
'''D.)''' Use this template: Choose the {{project_name_workstation_short}} Template. For example: {{project_name_workstation_template}}
.
'''E.)''' Standalone: Leave the Standalone field unchecked, unless a persistent root filesystem is desired.
'''F.)''' Type: Choose the type App Qube
.
'''G.)''' Allow networking: Choose the desired {{project_name_gateway_short}} ProxyVM from the list. For example: {{project_name_gateway_vm}}
.
'''H.)''' Press: OK
.
}}
'''3.''' Depending on the net qube
setting.
{{Tab
|type=controller
|content=
{{Tab
|title= =='''A)'''==
|type=section
|addToClass=info-box
|active=true
|content=
If the {{project_name_workstation_short}} App Qube is connected to {{project_name_gateway_vm}}
: No special instructions required.
}}
{{Tab
|title= =='''B)'''==
|content=
* If the {{project_name_workstation_short}} App Qube is connected to any {{project_name_gateway_short}} other than {{project_name_gateway_vm}}
, apply the following instructions:
This is non-ideal usability wise.
Sparing users from needing to change this setting requires upstream Qubes feature request [https://github.com/QubesOS/qubes-issues/issues/4117 way to find out the name of gateway from inside the VM - qubesdb-read /qubes-gateway-name] or [https://github.com/QubesOS/qubes-issues/issues/5253 qrexec feature request: send this over qrexec to the net qube I am connected to / {{project_name_gateway_vm}} hardcoded / {{project_name_gateway_vm}} unexpected autostart] to get implemented.
Technical improvement proposals:
* https://phabricator.whonix.org/T930
https://forums.whonix.org/t/sys-whonix-starting-spontaneously-after-update/8123
{{box|text=
Note: Inside the {{project_name_workstation_short}} App Qube.
'''A.)''' Create folder /usr/local/etc/sdwdate-gui.d
.
{{CodeSelect|code=
sudo mkdir -p /usr/local/etc/sdwdate-gui.d
}}
'''B.)''' Open with root rights.
{{CodeSelect|code=
sudoedit /usr/local/etc/sdwdate-gui.d/50_user.conf
}}
'''C.)''' Add the following text.
Note: The following example uses {{project_name_gateway_vm}}2
as an example. Replace {{project_name_gateway_vm}}2
with the name of the VM of {{project_name_gateway_short}} which this {{project_name_workstation_short}} App Qube uses as its net qube
. For example, {{project_name_gateway_vm}}3
.
{{CodeSelect|code=
gateway={{project_name_gateway_vm}}2
}}
'''D.)''' Save the file.
'''E.)''' In case of issues.
sdwdate-gui qrexec denied messages? See [[Qubes/Troubleshooting#sdwdate-gui_qrexec_settings|{{q_project_name_short}} troubleshooting, sdwdate-gui qrexec]].
}}
'''4.''' Done.
The process of setting up an additional {{project_name_workstation_short}} App Qube has been completed.
}}
}}
}}
}}