> For the complete documentation index, see [llms.txt](https://docs.voting.works/vxsuite-tdp-v4/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voting.works/vxsuite-tdp-v4/software-installation/trusted-build/virt-manager-network-access-and-troubleshooting.md).

# Virt Manager - Network Access & Troubleshooting

### Disabling Network Access <a href="#disabling-network-access" id="disabling-network-access"></a>

By default, newly created VMs have networking enabled. To ensure the offline VM does not have access to the internet, the networking link is disabled before the VM is ever used. This is accomplished by editing the VM's configuration (found in /etc/libvirt/qemu/offline.xml) and setting the link state to down. This functionality can be seen in the vxsuite-build-system repo, in [playbooks/virtmanager/clone-base-vm.yaml](https://github.com/votingworks/vxsuite-build-system/blob/v4.0.2/playbooks/virtmanager/clone-base-vm.yaml).

If an offline VM exists, the XML configuration file is updated to set the link state to down. After that, the offline VM is explicitly re-defined from this updated XML configuration file. These steps always execute, even if the network link state is already set to down.

Any VM cloned from this offline VM will also have a disabled network since those settings are inherited from the original VM.

### Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

Virt Manager uses a local bridge network to connect to VMs. If you receive an error when starting a VM that says "Error starting domain: Cannot get interface MTU on 'virbr0': No such device", run the following command in the terminal on the build machine:

```
sudo virsh net-start default
```

You should now be able to return to the VM and start it without issue.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.voting.works/vxsuite-tdp-v4/software-installation/trusted-build/virt-manager-network-access-and-troubleshooting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
