-
Notifications
You must be signed in to change notification settings - Fork 258
feat(vpc): reorganize troubleshooting and add connectivity testing page #5042
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Changes from 2 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
86ca0bb
fix(vpc): troubleshooting
RoRoJ 7b3796c
fix(vpc): troubleshooting fix
RoRoJ d8b227e
Apply suggestions from code review
RoRoJ 74b102f
Update pages/vpc/troubleshooting/connectivity-tests.mdx
RoRoJ 4e6eab9
fix(vpc): review comments
RoRoJ d17c1e0
fix(vpc): fix conflicts in index
RoRoJ a7decf7
Merge branch 'main' into MTA-6080
RoRoJ File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| --- | ||
| meta: | ||
| title: Connectivity tests for unreachable Instances in a Private Network | ||
| description: When your Scaleway Instance is unreachable via its attached Private Network, this page sets out a detailed testing process to help you diagnose and resolve the issue. | ||
| content: | ||
| h1: Connectivity tests for unreachable Instances in a Private Network | ||
| paragraph: When your Scaleway Instance is unreachable via its attached Private Network, this page sets out a detailed testing process to help you diagnose and resolve the issue. | ||
| tags: resource private-network connectivity ping test | ||
| dates: | ||
| validation: 2025-05-30 | ||
| posted: 2025-05-30 | ||
| categories: | ||
| - network | ||
| --- | ||
|
|
||
| When an Instance becomes unreachable in a Private Network, it can be challenging to diagnose and resolve the issue. | ||
|
|
||
| To help streamline the troubleshooting process, the Scaleway Network team has developed a step-by-step technique that can help identify and potentially fix connectivity problems. | ||
|
|
||
| This technique involves a series of tests and checks to determine the root cause of the issue, including DNS resolution, ARP table verification, and Link-Local Address (LLA) calculation. | ||
|
|
||
| By following these steps, you can quickly determine if the issue is related to DNS, network configuration, or resource-specific problems, and take corrective action to restore connectivity. | ||
|
|
||
| It is particularly useful to carry out these steps before opening a support ticket, and supplying the results of the tests. This enables a swifter and more efficient resolution of your problem. | ||
|
|
||
| ## Step-by-step connectivity testing process | ||
|
|
||
| ### Step 1: Ping the non-communicating Instance from another Instance in the Private Network | ||
|
|
||
| 1. [Connect to another Instance](/instances/how-to/connect-to-instance/) in the same Private Network as the non-communicating Instance. | ||
|
|
||
| 2. Try to reach the non-communicating Instance with a ping via `ping instance-name` (where `instance-name` is the name you gave your Instance upon creation.) | ||
|
|
||
| 3. Carry out the same test for both IPv4 and IPv6, ie `ping -4 instance-name` and `ping -6 instance-name` | ||
RoRoJ marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| - If these tests fail, there may be a DNS issue meaning the Instance's hostname cannot be resolved, see step 4 directly below. | ||
| - Otherwise, if the tests succeed, continue to the section [Verify ARP table](#step-2-verify-artp-table) | ||
|
|
||
| 4. Consider checking DNS records via the Scaleway Domains and DNS CLI as documented [here](/vpc/reference-content/dns/#troubleshooting), to see if the private DNS zone is correctly configured and the Instance's DNS records are up-to-date. | ||
|
|
||
| <Message type="important"> | ||
| Note that we do not recommend editing these records yourself, rather open a support ticket with the information you have gathered. | ||
| </Message> | ||
|
|
||
| ### Step 2: Check ARP | ||
|
|
||
| A server's **A**ddress **R**esolution **P**rotocol (ARP) table maps IP addresses to MAC addresses on a local network. Use this data to find the probe state for the target Instance's MAC address. | ||
|
|
||
| 1. From another Instance in the same Private Network as the non-communicating Instance, view ARP information via an `ip neigh` command. | ||
|
|
||
| You should see an output of many lines in the following format: | ||
|
|
||
| ``` | ||
| 172.16.8.2 dev ens5 lladdr 02:00:00:1c:0d:9b REACHABLE | ||
| ``` | ||
|
|
||
| 2. Find the line beginning with the non-communicating Instance's private IP address, and containing also its MAC address (you can check both via the Scaleway console in the Private Network's **Attached resources** tab.) | ||
RoRoJ marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| The line ends with the state of the probe for that Instance's MAC address. | ||
|
|
||
| `FAILED` shows that the system tried to resolve the MAC address but did not get a response. | ||
|
|
||
| Continue to the next stage of testing. | ||
|
|
||
| ### Step 3: Try reaching the Instance using its LLA | ||
|
|
||
| If the Instance could not be reached via resolution of its MAC address, next you should try to reach it via its IPv6 **L**ink **L**ocal **A**ddress (LLA) in the Private Network. | ||
RoRoJ marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| The LLA is calculated from the Instance's MAC address. | ||
|
|
||
| 1. Use an online tool or guide to carry out the standardized process of calculating the Instance's IPv6 LLA address from its MAC address. Remember that you can view its MAC address from the Scaleway console, in the Private Network's **Attached Resources** tab. | ||
RoRoJ marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 2. Ping the LLA. Ensure that you specify which interface to ping over (the Private Network) by adding the `%interface` zone index (usually `%ens5` for a Scaleway Private Network) to the end of the ping command. For example, for a LLA of `fe80::0:0ff:fe1c:d9b`, use the following command: | ||
RoRoJ marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ``` | ||
| ping6 fe80::0:0ff:fe1c:d9b%ens5 | ||
RoRoJ marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ``` | ||
|
|
||
| A successful ping will show results similar to the following: | ||
|
|
||
| ``` | ||
| PING fe80::0:0ff:fe1c:d9b%ens5 (fe80::ff:fe1c:d9b%ens5) 56 data bytes | ||
| 64 bytes from fe80::ff:fe1c:d9b%ens5: icmp_seq=1 ttl=64 time=1.27 ms | ||
| 64 bytes from fe80::ff:fe1c:d9b%ens5: icmp_seq=2 ttl=64 time=0.652 ms | ||
| 64 bytes from fe80::ff:fe1c:d9b%ens5: icmp_seq=3 ttl=64 time=0.632 ms | ||
| --- fe80::0:0ff:fe1c:d9b%ens5 ping statistics --- | ||
| 3 packets transmitted, 3 received, 0% packet loss, time 2042ms | ||
| rtt min/avg/max/mdev = 0.632/0.850/1.266/0.294 ms | ||
| ``` | ||
|
|
||
| This response suggests the Instance is attached to the Private Network, but has lost its IPAM-provided IPv4 and IPv6 addresses. There could be a configuration issue on the Instance, such as DHCP client issue, a problem with `iptables` rules, or another parameter you may have manually altered. | ||
|
|
||
| You can connect to your Instance via SSH using the LLA, to take control and attempt to fix the issue. | ||
|
|
||
| If you do not believe you have modified any parameters affecting the Instance's DHCP or IP configuration over the Private Network, open a support ticket providing the full output from all of the above tests. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.