[docs] Reworking networking troubleshooting guide#5011
Conversation
bb9686e to
d4a7f20
Compare
There was a problem hiding this comment.
Pull request overview
Reworks the networking troubleshooting documentation to make common macOS/Windows symptoms easier to identify and follow, and updates the docs spell-check wordlist for newly introduced proper nouns.
Changes:
- Restructures the networking troubleshooting guide into symptom-driven sections with background/context.
- Adds/updates troubleshooting steps for macOS routing/DNS issues and Windows Hyper‑V Default Switch/security software/Wi‑Fi upload issues.
- Extends the docs custom wordlist to include additional product names used in the guide.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 8 comments.
| File | Description |
|---|---|
| docs/how-to-guides/troubleshoot/troubleshoot-networking.md | Major restructure of networking troubleshooting into symptom-based sections plus background explanation. |
| docs/.custom_wordlist.txt | Adds “Malwarebytes” and “Tunnelblick” to the documentation spell-check allowlist. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - [Apps that commonly interfere with Multipass](#networking-interfering-apps). | ||
| - [How Multipass networking works](#networking-background), if you need more context. |
| - [An instance won't start, and you see `Unable to determine IP address`](#networking-macos-launch). | ||
| - [`multipass shell` doesn't respond or fails to connect](#networking-macos-routing). | ||
| - [Your instance can reach IP addresses, but not domain names](#networking-macos-dns). | ||
| - [Extra IP addresses aren't reachable between instances](#networking-macos-extra-ips). | ||
| - [Networking stopped working right after a macOS update](#networking-macos-update). |
| - [Instances won't start or keep timing out](#networking-windows-switch). | ||
| - [Connectivity is unreliable and you run anti-virus or security software](#networking-windows-security-software). | ||
| - [Upload speeds over Wi-Fi are very slow](#networking-windows-wifi). |
| Work through these one at a time, trying to launch again after each: | ||
|
|
||
| 1. **Check your firewall.** Open **System Preferences > Security & Privacy > Firewall**. The firewall can be on, but it must **not** be set to "Block all incoming connections", which stops the local service that gives your instance an address. (It is fine to block incoming connections specifically to `multipassd`.) | ||
| 2. **Check your VPN.** If you use a VPN, disconnect it and try again. See [Apps that commonly interfere with Multipass](#networking-interfering-apps). |
| ``` | ||
|
|
||
| If no instance is running (and **Internet Sharing** is disabled in **System Preferences**), the command should return nothing. | ||
| If no instance is running and Internet Sharing is off, the command returns nothing. **Any other program in this list** is conflicting with Internet Sharing and breaking your instance's DNS; quit it. See [Apps that commonly interfere with Multipass](#networking-interfering-apps). |
|
|
||
| Work through these one at a time, trying to launch again after each: | ||
|
|
||
| 1. **Check your firewall.** Open **System Preferences > Security & Privacy > Firewall**. The firewall can be on, but it must **not** be set to "Block all incoming connections", which stops the local service that gives your instance an address. (It is fine to block incoming connections specifically to `multipassd`.) |
|
|
||
| Note that macOS's firewall can block the ICMP packets that `ping` uses, which will interfere with this test. Make sure you disable **Stealth Mode** in **System Preferences > Security & Privacy > Firewall** just for this test. | ||
| ```{note} | ||
| The macOS firewall can block the test messages that `ping` uses, which makes this test misleading. Just for this test, turn off **Stealth Mode** in **System Preferences > Security & Privacy > Firewall**. |
| * Large Send Offload v2 (IPv4) | ||
| * Large Send Offload v2 (IPv6) | ||
| 7. Click OK and restart your networking or your machine if needed | ||
| In **System Preferences > Sharing**, **Internet Sharing** may appear switched off. That's normal; it still runs in the background for your instances. |
jimporter
left a comment
There was a problem hiding this comment.
Thanks, this looks good overall. Most of my comments below are just about small changes in light of the new AZ feature (especially on macOS).
|
|
||
| Edit `/Library/Preferences/SystemConfiguration/com.apple.vmnet.plist` to change the `"Shared_Net_Address"` value to something other than `192.168.64.1 -`. | ||
| * it works if you edit the `plist` file and stay inside 192.168 range, as Multipass hard-coded for this | ||
| If the `192.168.64.*` range clashes with your network, you can change it. Edit `/Library/Preferences/SystemConfiguration/com.apple.vmnet.plist` and change the `Shared_Net_Address` value. Stay within the `192.168.*` range, as Multipass relies on it. |
There was a problem hiding this comment.
I think this is out of date, as of 1.16.2 (which included the fix for subnets on macOS Tahoe(?)). In 1.16.2, we hardcode the subnet we request in our source code. I doubt editing the file mentioned above will do anything anymore. In 1.17 with AZs, we check if the subnet is in-use before picking one for each AZ, though this can still break if one of our chosen subnets is stolen by another service later on.
In 1.17, you can go into the Multipass config files for each AZ to enter a new subnet on all platforms. We could put that here in the troubleshooting steps, but I'm not sure how much support we want to provide for this. It's getting down into the guts of Multipass...
|
|
||
| > I try running `multipass launch` and it fails. The error mentions it can't determine an IP address. | ||
|
|
||
| **What you'll see** |
There was a problem hiding this comment.
Minor editorial question/suggestion: should this line (and other similar ones elsewhere in this file) be subheadings like so?
| **What you'll see** | |
| #### What you'll see |
|
|
||
| (troubleshoot-networking-issues-caused-by-macos-update)= | ||
| #### Issues caused by macOS update | ||
| There is no documented Multipass fix for additional IP addresses on macOS. Avoid relying on additional IP addresses for macOS instances. |
There was a problem hiding this comment.
Maybe we should have a known bugs/limitations page as well, to collect problems that we don't have solutions for? That could be a separate followup though.
| **What's happening** | ||
|
|
||
| The Hyper-V Default Switch is known to be unreliable, and Windows updates often leave it in a broken state. Because the broken state persists across reboots, restarting alone won't fix it. |
There was a problem hiding this comment.
I think this is (partially) obsolete with AZs, since we now use our own Hyper-V switches to manage each zone. I'm not sure if that avoids this problem entirely or if it means that the user now has to delete the Multipass-created Hyper-V switches. I guess we'd have to see if the problem persists with 1.17...
| 1. Creates a private network and connects each instance to it, using the address range `192.168.64.*`. | ||
| 2. Hands out IP addresses and resolves names on that network from `192.168.64.1`, using Apple's own `bootpd` and `mDNSResponder` services. |
There was a problem hiding this comment.
We changed this subnet in 1.16.2, and in 1.17 it changed a bit more. We now use the following:
multipass/src/platform/platform_osx.cpp
Line 302 in 6854fb9
Assuming no conflicts, we allocate IPs from 196.168.252.0/24 for zone1, 196.168.253.0/24 for zone2, and 196.168.254.0/24 for zone3.
Description
This PR rewrites the networking troubleshooting guide in an attempt to make it easier to find solutions, improve searchability and consistent style of presenting a solution to listed problems.
Before, the page started with background information and then mixed several problems together. Now the page starts with what the user is probably seeing first, so they can pick the problem that matches their case.
What changed
Checklist
Additional Notes
MULTI-2714