From 1824bc2a5834a2336ced5398642629a5d0c718f8 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Wed, 2 Jan 2019 15:57:56 -0500 Subject: [PATCH 01/23] Outline draft --- .../index.md | 292 ++++++++++++++++++ 1 file changed, 292 insertions(+) create mode 100644 docs/troubleshooting/troubleshoot-a-connection-problem/index.md diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md new file mode 100644 index 00000000000..6cf2cbadda8 --- /dev/null +++ b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md @@ -0,0 +1,292 @@ +--- +author: + name: Linode + email: docs@linode.com +description: "Troubleshooting steps for when you can't connect to your Linode." +keywords: ['linux','reboot','lish'] +license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' +published: 2019-01-02 +modified: 2019-01-02 +modified_by: + name: Linode +title: "How to Troubleshoot a Connection Problem" +--- + +EDITOR's NOTE: This takes from the [Access Your Linode After Maintenance](https://www.linode.com/docs/troubleshooting/disaster-recovery-guide/#did-all-of-your-services-start-after-reboot) guide and re-structures things. This could serve as an update to that guide (and we could alias from there to here). I don't think there's really much difference between these two guides. + +Or, we could write this guide, and then insert it as a shortguide in the Access Your Linode After Maintenance guide (replacing the bulk of the content in it), then add some extra context at the top of that guide (before the shortguide insertion), and include other context after the shortguide (like linking to the Reboot Survival Guide/offering precautions and preparations for future possible maintenance). + +EDITOR'S NOTE: Some of these sections only include commands for systemd or Debian etc. Final version of this guide should optimally include commands for all recent-ish distros. + +Sometimes through the course of updating or altering a Linode you might be unable to connect to your Linode through SSH or through other services you may run. The following are steps to regain access to your Linode should you lose access to those services. + +{{< note >}} +Linode is not responsible for the configuration or installation of software on your Linode, etc. Could link to the newly edited Support guide for more information, or a link to the TOS. + +Also say something like: +Various parts of this guide involve running diagnostic troubleshooting commands on your Linode, which can produce clues about the root of your connection issues. Several parts of this guide highlight frequent causes of connection issues and the diagnostic command output they correspond to. If the diagnostic information you've gathered does not match a solution presented here, consider searching the [Linode Community Site](link) for similar issues. Or, post a new question in the Community Site and include your commands' output. +{{< /note >}} + +## Before You Begin + +There are a few core troubleshooting tools you should familiarize yourself with that will be useful when diagnosing connection problems. + +### Using the Linode Shell (Lish) + +[*Lish*](/docs/platform/manager/using-the-linode-shell-lish/) is a shell that provides access to your Linode's serial console. Because Lish does not establish a network connection to your Linode, you can use it when networking is down or SSH isn't available. Lish is a valuable tool + +Include instructions here for using Lish, either by linking to Lish guide or embedding them directly. Perhaps embed instructions for using the web console and link to the dedicated guide for terminal connections and other Lish usage. + +{{< note >}} +Include note that all commands in this guide should be executed from Lish, unless SSH access is available, or otherwise specified by the guide (such as when running MTRs from your local computer). +{{< /note >}} + +### Install MTR + +MTR is a troubleshooting tool that can diagnose network routing issues that may exist between your computer and your Linode. Review Linode's MTR guide for instructions on [installing the tool](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#install-mtr) on your computer. + +## Is your Linode Running? + +Login to the Linode Manager and inspect the Linode's dashboard. If the Linode is powered off, turn it on. + +{{< note >}} +If the Linode is running and you can access SSH, but not other services, move down to the [troubleshooting other services](#troubleshoot-other-services) section. +{{< /note >}} + +### Inspect the Lish Console + +If the Linode is listed as running, open the Lish console and look for a login prompt. If a login prompt exists, try logging in with your root user credentials (or other Linux user credentials). + +{{< note >}} +The root user is available in Lish even if root user login is disabled in your SSH configuration. +{{< /note >}} + +If you can login at the Lish console, move on to [checking basic network connectivity](#check-basic-network-connectivity). + +If you do not see a login prompt, your Linode may have [basic issues with booting](#troubleshoot-booting-issues). + +## Troubleshoot Booting Issues + +If your Linode isn't booting normally, you will not be able to rely on the Lish console as you would normally. To continue, you will need to reboot your Linode into *Rescue Mode*, which is a special recovery environment that Linode provides. Entering Rescue Mode will boot the Finnix recovery distribution, and you will be able to mount your normal Linux images from this environment. + +Review the Rescue and Rebuild guide for instructions on [booting into Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#booting-into-rescue-mode). Then, connect to Rescue Mode via the Lish console as you would normally. + +### Perform a File System Check + +If your Linode can't boot, then it may have experienced filesystem corruption. Review the Rescue and Rebuild guide for instructions on [running a filesystem check](/docs/troubleshooting/rescue-and-rebuild/#performing-a-file-system-check). + +{{< caution >}} +Never run a filesystem check on a disk that is mounted. +{{< /caution >}} + +### Inspect System and Kernel Logs + +Rescue Mode is capable of mounting your Linux image so that you can investigate further. Furthermore, you can also *change root* within Rescue Mode, which will make Rescue Mode working environment emulate your normal Linux image. This means your files and logs will appear where you normally expect them, and you will be able to work with tools like your standard package manager and other system utilities. To proceed, review the Rescue and Rebuild guide's instructions on [changing root](/docs/troubleshooting/rescue-and-rebuild/#change-root). + +Include instructions for how to review system (e.g. `journalctl`) and kernel logs (`dmesg`) for various distros. Suggest that users search the Linode Community site for messages they find for further troubleshooting help. + +| Distribution | System Logs | Kernel Logs | +| ------------- |-------------| -----| +| CentOS 6 | Inspect `/var/log/messages` | Run `dmesg` +| CentOS 7+ | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | Run `dmesg` | +| Debian 8+ and Ubuntu 16.04+ | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | Run `dmesg` | +| Arch | Insert commands and logs files here | Whatever it is | + +### Quick Tip for Ubuntu and Debian Systems + +After you have changed root, the following command may help with issues related to your packages' configuration: + + dpkg --configure -a + +After running this command, try rebooting your Linode into your normal configuration profile. + +## Check Basic Network Connectivity + +Networking issues can have two causes: your Linode may not be responding to network requests normally, or there may be a network routing issue between you and your Linode. + +### Check for Network Route Issues + +To diagnose routing problems, run and analyze an MTR report from your computer to your Linode. For instructions on how to use MTR, review Linode's [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). + +If your report shows no packet loss along the route, but 100% packet loss at your Linode, that indicates an issue with your Linode's networking configuration. Move to the next section to continue troubleshooting. + +If your report shows significant packet loss starting part-way through the route, there may be an issue between your internet service provider and Linode's upstream network peers. To confirm this issue, run another test originating from your Linode (by logging in with Lish and running the MTR command from the Linode) to your home computer's IP address. To find out what your local IP is, visit a website like https://www.whatismyip.com/. + +Once you have finished generating these reports, open a Linode support ticket with the results. Linode Support will try to help further diagnose the routing issue. + +### Try Enabling Network Helper + +If your Linode's networking is down, a quick fix may be to enable Linode's [Network Helper](/docs/platform/network-helper/) tool and then reboot. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. + +- If Network Helper was already enabled, continue to the next sections. +- If you enable it and reboot, try running another MTR report (or [ping](/docs/troubleshooting/troubleshooting/#can-you-ping-the-linode) the Linode). If the report shows no packet loss, but you still can't access SSH or other services, this indicates that your networking is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services) +- If networking is still down after enabling Network Helper, continue to the next sections. + +### Run Standard Diagnostic Commands + +Include instructions for running standard diagnostic commands on different distros, and include expected output. Example commands for Debian 8/9: + + cat /etc/network/interfaces + systemctl status networking.service + ip a + ip r + +### Errors from the networking Service + +If the output from the status of your `networking` service shows an error like `Failed to start Raise network interfaces`, review your logs for further clues: + + sudo systemctl status networking.service -l + sudo journalctl -u networking --no-pager | tail -20 + +#### Sendmail + +If the output from your networking service logs show an error similar to the following, it is likely that a broken Sendmail update is at fault: + +{{< output >}} +/etc/network/if-up.d/sendmail: 44: .: Can't open /usr/share/sendmail/dynamic run-parts: /etc/network/if-up.d/sendmail exited with return code 2 +{{< /output >}} + +The sendmail issue can usually be resolved by running the following two commands: + + sudo mv /etc/network/if-up.d/sendmail ~ + ifdown -a && ifup -a + +You can read more about the SendMail bug at the following link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873978 + +#### iptables + +Malformed rules in your iptables ruleset can sometimes cause issues for your network scripts. An error similar to the following will generally appear in your logs: + +{{< output >}} +Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: failed to exec /etc/network/if- Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: /etc/network/if-up.d/iptables e +{{< /output >}} + +### Was your Interface Renamed? + +When viewing the output of the `interfaces` file, or the output from your `ip` commands, if you notice your interfaces have been renamed to something other than `eth0` (for example, `ensp`) this may be due to the latest version of systemd (226-1+ as of writing this guide). Specifically, [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) may be renaming your interfaces. + +1. Disable the use of Predictable Network Interface Names with these commands: + + ln -s /dev/null /etc/systemd/network/99-default.link + ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules + +1. Reboot your Linode for the changes to take effect. + +### Privacy Extensions for IPv6 + +If you are only unable to connect via IPv6, then your Linode may be using an incorrect IPv6 address. Compare the global IPv6 address that appears in the output from your `ip a` command with the value shown in the [Remote Access tab](/docs/platform/manager/remote-access/) of your Linode's dashboard. If they don't match, then your distribution may be using privacy extensions to generate an incorrect address. + +Include instructions for how to fix this (search kb for privacy extensions) + +### Review Firewall Rules + +If your interface is up but your networking is still down, your firewall may be blocking all connections, including basic ping requests. + +Include instructions for inspecting and dumping firewall rules for iptables and ip6tables. Example commands and text: + + sudo iptables-save + +If you are unable to determine if a specific rule is causing a problem, you can save your iptables to a backup and flush your rules: + + sudo iptables-save > /tmp/iptables.txt + sudo iptables -P INPUT ACCEPT + sudo iptables -P FORWARD ACCEPT + sudo iptables -P OUTPUT ACCEPT + sudo iptables -t nat -F + sudo iptables -t mangle -F + sudo iptables -F + sudo iptables -X + +Guide: https://www.linode.com/docs/security/firewalls/control-network-traffic-with-iptables/ + +Include links to troubleshooting firewalld and other firewall utilities. + +## Troubleshoot SSH + +### Review SSH Service Status and Logs + +Check on status: + + sudo systemctl status ssh -l + +If it's not running, try restarting it: + + sudo systemctl restart ssh + +If it won't run, check for error messages: + + sudo journalctl -u ssh --no-pager | tail -20 + +### Review SSH Login Attempts + +[Use the `less` command](/docs/quick-answers/linux/how-to-use-less/) to inspect your authorization logs: + + sudo less /var/log/auth.log # Ubuntu/Debian + sudo less /var/log/secure # CentOS + +### Attempt to Connect to SSH in Verbose Mode + +SSH into your server from your local computer in verbose mode: + + ssh -vvv @ + +This will give exacting details about why the SSH connection is not working, and may be useful. + +{{< disclosure-note "Example output from a successful connection" >}} +Include example successful connection output here +{{< /disclosure-note >}} + +### Is SSH Running on another Port? + +Run `netstat` on your Linode to check which port is used by SSH: + + sudo netstat -plntu + +SSH runs on 22 by default, but you may have changed it in your SSH config. Include instructions here for changing the config, or specifying the port in the SSH client command. + +### Is Root Login Permitted? + +Describe how root logins can be disabled in the SSH config, where to check on that (see command below), and what to adjust to turn it back on if it's disabled: + +egrep -i 'permit' /etc/ssh/sshd_config + +### Are Password Logins Accepted? + +Describe how password logins can be enabled/disabled, where to check on that (see command below), and what to adjust to turn it back on if it's disabled: + +egrep -i 'password' /etc/ssh/sshd_config + +### Is your Public Key Stored on the Server? + +Include instructions for checking which SSH private keys are on the client computer vs. which are on the Linode. Refer back to verbose mode to show which keys were tried by the client/server. + +### Is your Firewall Blocking SSH? + +Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches SSH (22 by default but could be custom). + +## Troubleshoot Other Services + +If you can establish an SSH connection, but some of your other services aren't working, here's more troubleshooting goodness: + +### Check if the Service is Running + +EDITOR's NOTE: Also include instructions for non-systemd systems + +On systemd systems, check the logs for the service. Example: + + sudo systemctl status mysql -l + sudo journalctl -u mysql + +Try restarting the service: + + sudo systemctl restart mysql + +For Apache issues, review the [Troubleshooting Common Apache Issues](/docs/troubleshooting/troubleshooting-common-apache-issues/) + +### Check if the Service is Enabled at Boot + +Take instructions from https://www.linode.com/docs/troubleshooting/disaster-recovery-guide/#did-all-of-your-services-start-after-reboot + +### Is your Firewall Blocking the Service? + +Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches your service (e.g. 80 for HTTP). \ No newline at end of file From c4379f46cab87c23fe490663dfb5ca603bf12d99 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Wed, 2 Jan 2019 16:02:29 -0500 Subject: [PATCH 02/23] Update to SSH section --- .../troubleshoot-a-connection-problem/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md index 6cf2cbadda8..f65b54b750f 100644 --- a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md +++ b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md @@ -203,6 +203,10 @@ Include links to troubleshooting firewalld and other firewall utilities. ## Troubleshoot SSH +EDITOR's NOTE: Some example output can be found in https://www.linode.com/community/questions/400/why-cant-i-connect-to-my-linode-via-ssh + +We may need to include more new example output here thats not in that community question. It could be good to insert those into disclosure-notes (Attempt to Connect to SSH in Verbose Mode section shows how to do that). + ### Review SSH Service Status and Logs Check on status: From 7328a2eb47966ea27b011767ad46f7a47771be0b Mon Sep 17 00:00:00 2001 From: nmelehan Date: Wed, 2 Jan 2019 16:09:16 -0500 Subject: [PATCH 03/23] Update MTR section --- .../troubleshoot-a-connection-problem/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md index f65b54b750f..544279837fa 100644 --- a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md +++ b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md @@ -106,6 +106,8 @@ Networking issues can have two causes: your Linode may not be responding to netw ### Check for Network Route Issues +EDITOR'S NOTE: include example MTR output in disclosure-note blocks to illsutrate 100% packet loss at Linode vs. packet loss along route (might be harder to generate an example for that. Maybe take from a previous ticket where we ran a report against a Linode IP, potentially from the nlnog ring network?) + To diagnose routing problems, run and analyze an MTR report from your computer to your Linode. For instructions on how to use MTR, review Linode's [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). If your report shows no packet loss along the route, but 100% packet loss at your Linode, that indicates an issue with your Linode's networking configuration. Move to the next section to continue troubleshooting. @@ -114,6 +116,10 @@ If your report shows significant packet loss starting part-way through the route Once you have finished generating these reports, open a Linode support ticket with the results. Linode Support will try to help further diagnose the routing issue. +{{< note >}} +If you are located in China, there is a chance that your IP has been blacklisted by the GFW (Great Firewall of China). Because this is a systemic issue, Linode is no longer in the process of swapping IP addresses for affected Linodes. You can point the reader to the instructions found here: https://www.linode.com/community/questions/17192/ssh-refused +{{< /note >}} + ### Try Enabling Network Helper If your Linode's networking is down, a quick fix may be to enable Linode's [Network Helper](/docs/platform/network-helper/) tool and then reboot. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. From 15cad0e56adcfa68b4f36469fbbcf390f0cd9cec Mon Sep 17 00:00:00 2001 From: nmelehan Date: Wed, 2 Jan 2019 16:16:50 -0500 Subject: [PATCH 04/23] Application log locations --- .../troubleshoot-a-connection-problem/index.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md index 544279837fa..52ae0cdcd1e 100644 --- a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md +++ b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md @@ -297,6 +297,21 @@ For Apache issues, review the [Troubleshooting Common Apache Issues](/docs/troub Take instructions from https://www.linode.com/docs/troubleshooting/disaster-recovery-guide/#did-all-of-your-services-start-after-reboot +### Review Application Logs + +EDITOR'S NOTE: Not sure if we should include this section, but possibly: + +Show locations for common application logs maintained outside of the system logs, e.g.: + +MySQL: /var/log/mysql + the slow queries log +Show how to turn slow queries log on + +PHP: /var/log/php, or check phpinfo() from web browser to see where log file is + +Apache: See dedicated apache guide + +NGINX: /var/log/nginx, or check log location in nginx config + ### Is your Firewall Blocking the Service? Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches your service (e.g. 80 for HTTP). \ No newline at end of file From 550b07ea1815cea0724d1546cec5c3ca5f1179ee Mon Sep 17 00:00:00 2001 From: nmelehan Date: Wed, 2 Jan 2019 16:29:24 -0500 Subject: [PATCH 05/23] Update to iptables section of basic networking troubleshooting --- .../troubleshoot-a-connection-problem/index.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md index 52ae0cdcd1e..f2c983c41cb 100644 --- a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md +++ b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md @@ -167,6 +167,13 @@ Malformed rules in your iptables ruleset can sometimes cause issues for your net Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: failed to exec /etc/network/if- Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: /etc/network/if-up.d/iptables e {{< /output >}} +You can run the following commands to resolve this issue. + + sudo mv /etc/network/if-up.d/iptables ~ + ifdown -a && ifup -a + +Please note that your firewall will be down at this point, so you will need to re-enable it manually. + ### Was your Interface Renamed? When viewing the output of the `interfaces` file, or the output from your `ip` commands, if you notice your interfaces have been renamed to something other than `eth0` (for example, `ensp`) this may be due to the latest version of systemd (226-1+ as of writing this guide). Specifically, [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) may be renaming your interfaces. From 497bb3d0a6d022b2522082f947b069ffef190300 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Wed, 2 Jan 2019 16:33:50 -0500 Subject: [PATCH 06/23] New editor's note at top to describe overall troubleshooting progression --- docs/troubleshooting/troubleshoot-a-connection-problem/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md index f2c983c41cb..6ebb516aa17 100644 --- a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md +++ b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md @@ -12,6 +12,8 @@ modified_by: title: "How to Troubleshoot a Connection Problem" --- +EDITOR'S NOTE: This outline attempts to cover connection issues logically in ascending order: booting issues -> basic connectivity (routing or network interface issues) -> SSH -> other services (http, mysql, etc) + EDITOR's NOTE: This takes from the [Access Your Linode After Maintenance](https://www.linode.com/docs/troubleshooting/disaster-recovery-guide/#did-all-of-your-services-start-after-reboot) guide and re-structures things. This could serve as an update to that guide (and we could alias from there to here). I don't think there's really much difference between these two guides. Or, we could write this guide, and then insert it as a shortguide in the Access Your Linode After Maintenance guide (replacing the bulk of the content in it), then add some extra context at the top of that guide (before the shortguide insertion), and include other context after the shortguide (like linking to the Reboot Survival Guide/offering precautions and preparations for future possible maintenance). From 77c9eab2e2dc6b5bb8e170872c0ac4e8f7c14592 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Wed, 2 Jan 2019 16:38:19 -0500 Subject: [PATCH 07/23] Using netstat to troubleshoot other services --- .../troubleshoot-a-connection-problem/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md index 6ebb516aa17..b4c5fefd6f8 100644 --- a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md +++ b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md @@ -321,6 +321,14 @@ Apache: See dedicated apache guide NGINX: /var/log/nginx, or check log location in nginx config +### Check which IP Addresses and Ports your Services Are Bound To + +Include instructions for using `netstat -plntu` to see which processes are listening on which ports and which addresses. Possible example problems: + +- Web server is only listening on the IPv4 address, not also the IPv6 address (which is a common problem for users trying to connect to a website via a cell phone, as those networks seem to prefer IPv6). + +- Service not listening on a standard port. Include markdown table of common services+ports + ### Is your Firewall Blocking the Service? Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches your service (e.g. 80 for HTTP). \ No newline at end of file From 476c55608de0144ac27823e3c0072f86191ff5eb Mon Sep 17 00:00:00 2001 From: nmelehan Date: Sat, 5 Jan 2019 19:11:29 -0500 Subject: [PATCH 08/23] Instructions for full disk problems --- .../index.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md index b4c5fefd6f8..d12413d7288 100644 --- a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md +++ b/docs/troubleshooting/troubleshoot-a-connection-problem/index.md @@ -321,6 +321,26 @@ Apache: See dedicated apache guide NGINX: /var/log/nginx, or check log location in nginx config +### Is your Disk Full? + +If you're having issues with your database service, one common reason a database might not run as expected is if your disk is full. To check on your current disk usage, run the `df` command: + + df -h + +{{< note >}} +Note about how this is not the same thing as the reported unallocated space in the Linode Manager. +{{< /note >}} + +Include instructions for how to resolve this situation: + +- Free up space on your disk by locating and removing files you don't need, using a tool like du or ncdu + +- Resize the disk if you have any unallocated space on your Linode + +- Upgrade your Linode (either through a free upgrade if one is available or by resizing to a higher tier) and then resize your disk to use the newly available space. + +Or, consider putting those instructions into a new "How to Free Up Space on Your Linode" guide and then link to it. + ### Check which IP Addresses and Ports your Services Are Bound To Include instructions for using `netstat -plntu` to see which processes are listening on which ports and which addresses. Possible example problems: From fba1e3479a0f8f42d213ca5e804bd422ac195411 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Mon, 21 Jan 2019 15:20:57 -0500 Subject: [PATCH 09/23] Renamed slug of new SSH/web servers/other services troubleshooting guide --- .../index.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/troubleshooting/{troubleshoot-a-connection-problem => troubleshooting-ssh-web-servers-and-other-services}/index.md (100%) diff --git a/docs/troubleshooting/troubleshoot-a-connection-problem/index.md b/docs/troubleshooting/troubleshooting-ssh-web-servers-and-other-services/index.md similarity index 100% rename from docs/troubleshooting/troubleshoot-a-connection-problem/index.md rename to docs/troubleshooting/troubleshooting-ssh-web-servers-and-other-services/index.md From 20861e312961ee6f415074cee4029a54f23836d4 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Mon, 21 Jan 2019 16:42:55 -0500 Subject: [PATCH 10/23] Renaming guide to just be 'Troubleshooting SSH' There will be three guides: Troubleshooting Basic Connectivity Issues Troubleshooting SSH Troubleshooting Web Servers, Databases, and Other Services --- .../index.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/troubleshooting/{troubleshooting-ssh-web-servers-and-other-services => troubleshooting-ssh}/index.md (100%) diff --git a/docs/troubleshooting/troubleshooting-ssh-web-servers-and-other-services/index.md b/docs/troubleshooting/troubleshooting-ssh/index.md similarity index 100% rename from docs/troubleshooting/troubleshooting-ssh-web-servers-and-other-services/index.md rename to docs/troubleshooting/troubleshooting-ssh/index.md From fca1cdaed728c8f4275853c4a9811deb9c45c194 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Mon, 21 Jan 2019 17:11:46 -0500 Subject: [PATCH 11/23] Created drafts for new guides: Troubleshooting Basic Connectivity Issues Troubleshooting Web Servers Databases and Other Services --- .../index.md | 213 ++++++++++++++ .../troubleshooting-ssh/index.md | 269 +----------------- .../index.md | 83 ++++++ 3 files changed, 300 insertions(+), 265 deletions(-) create mode 100644 docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md create mode 100644 docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md diff --git a/docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md b/docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md new file mode 100644 index 00000000000..9f8468f633a --- /dev/null +++ b/docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md @@ -0,0 +1,213 @@ +--- +author: + name: Linode + email: docs@linode.com +description: 'Troubleshooting steps to access your Linode after maintenance has been applied to your host.' +keywords: ['linux','reboot','lish'] +license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' +published: 2019-01-21 +modified: 2019-01-21 +modified_by: + name: Linode +title: "Troubleshooting Basic Connectivity Issues" +--- + +EDITOR'S NOTE: This outline attempts to cover connection issues logically in ascending order: booting issues -> basic connectivity (routing or network interface issues) -> SSH -> other services (http, mysql, etc) + +EDITOR'S NOTE: Some of these sections only include commands for systemd or Debian etc. Final version of this guide should optimally include commands for all recent-ish distros. + +Sometimes through the course of updating or altering a Linode you might be unable to connect to your Linode through SSH or through other services you may run. The following are steps to regain access to your Linode should you lose access to those services. + +{{< note >}} +Linode is not responsible for the configuration or installation of software on your Linode, etc. Could link to the newly edited Support guide for more information, or a link to the TOS. + +Also say something like: +Various parts of this guide involve running diagnostic troubleshooting commands on your Linode, which can produce clues about the root of your connection issues. Several parts of this guide highlight frequent causes of connection issues and the diagnostic command output they correspond to. If the diagnostic information you've gathered does not match a solution presented here, consider searching the [Linode Community Site](link) for similar issues. Or, post a new question in the Community Site and include your commands' output. +{{< /note >}} + +## Before You Begin + +There are a few core troubleshooting tools you should familiarize yourself with that will be useful when diagnosing connection problems. + +### Using the Linode Shell (Lish) + +[*Lish*](/docs/platform/manager/using-the-linode-shell-lish/) is a shell that provides access to your Linode's serial console. Because Lish does not establish a network connection to your Linode, you can use it when networking is down or SSH isn't available. Lish is a valuable tool + +Include instructions here for using Lish, either by linking to Lish guide or embedding them directly. Perhaps embed instructions for using the web console and link to the dedicated guide for terminal connections and other Lish usage. + +{{< note >}} +Include note that all commands in this guide should be executed from Lish, unless SSH access is available, or otherwise specified by the guide (such as when running MTRs from your local computer). +{{< /note >}} + +### Install MTR + +MTR is a troubleshooting tool that can diagnose network routing issues that may exist between your computer and your Linode. Review Linode's MTR guide for instructions on [installing the tool](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#install-mtr) on your computer. + +## Is your Linode Running? + +Login to the Linode Manager and inspect the Linode's dashboard. If the Linode is powered off, turn it on. + +{{< note >}} +If the Linode is running and you can access SSH, but not other services, move down to the [troubleshooting other services](#troubleshoot-other-services) section. +{{< /note >}} + +### Inspect the Lish Console + +If the Linode is listed as running, open the Lish console and look for a login prompt. If a login prompt exists, try logging in with your root user credentials (or other Linux user credentials). + +{{< note >}} +The root user is available in Lish even if root user login is disabled in your SSH configuration. +{{< /note >}} + +If you can login at the Lish console, move on to [checking basic network connectivity](#check-basic-network-connectivity). + +If you do not see a login prompt, your Linode may have [basic issues with booting](#troubleshoot-booting-issues). + +## Troubleshoot Booting Issues + +If your Linode isn't booting normally, you will not be able to rely on the Lish console as you would normally. To continue, you will need to reboot your Linode into *Rescue Mode*, which is a special recovery environment that Linode provides. Entering Rescue Mode will boot the Finnix recovery distribution, and you will be able to mount your normal Linux images from this environment. + +Review the Rescue and Rebuild guide for instructions on [booting into Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#booting-into-rescue-mode). Then, connect to Rescue Mode via the Lish console as you would normally. + +### Perform a File System Check + +If your Linode can't boot, then it may have experienced filesystem corruption. Review the Rescue and Rebuild guide for instructions on [running a filesystem check](/docs/troubleshooting/rescue-and-rebuild/#performing-a-file-system-check). + +{{< caution >}} +Never run a filesystem check on a disk that is mounted. +{{< /caution >}} + +### Inspect System and Kernel Logs + +Rescue Mode is capable of mounting your Linux image so that you can investigate further. Furthermore, you can also *change root* within Rescue Mode, which will make Rescue Mode working environment emulate your normal Linux image. This means your files and logs will appear where you normally expect them, and you will be able to work with tools like your standard package manager and other system utilities. To proceed, review the Rescue and Rebuild guide's instructions on [changing root](/docs/troubleshooting/rescue-and-rebuild/#change-root). + +Include instructions for how to review system (e.g. `journalctl`) and kernel logs (`dmesg`) for various distros. Suggest that users search the Linode Community site for messages they find for further troubleshooting help. + +| Distribution | System Logs | Kernel Logs | +| ------------- |-------------| -----| +| CentOS 6 | Inspect `/var/log/messages` | Run `dmesg` +| CentOS 7+ | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | Run `dmesg` | +| Debian 8+ and Ubuntu 16.04+ | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | Run `dmesg` | +| Arch | Insert commands and logs files here | Whatever it is | + +### Quick Tip for Ubuntu and Debian Systems + +After you have changed root, the following command may help with issues related to your packages' configuration: + + dpkg --configure -a + +After running this command, try rebooting your Linode into your normal configuration profile. + +## Check Basic Network Connectivity + +Networking issues can have two causes: your Linode may not be responding to network requests normally, or there may be a network routing issue between you and your Linode. + +### Check for Network Route Issues + +EDITOR'S NOTE: include example MTR output in disclosure-note blocks to illsutrate 100% packet loss at Linode vs. packet loss along route (might be harder to generate an example for that. Maybe take from a previous ticket where we ran a report against a Linode IP, potentially from the nlnog ring network?) + +To diagnose routing problems, run and analyze an MTR report from your computer to your Linode. For instructions on how to use MTR, review Linode's [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). + +If your report shows no packet loss along the route, but 100% packet loss at your Linode, that indicates an issue with your Linode's networking configuration. Move to the next section to continue troubleshooting. + +If your report shows significant packet loss starting part-way through the route, there may be an issue between your internet service provider and Linode's upstream network peers. To confirm this issue, run another test originating from your Linode (by logging in with Lish and running the MTR command from the Linode) to your home computer's IP address. To find out what your local IP is, visit a website like https://www.whatismyip.com/. + +Once you have finished generating these reports, open a Linode support ticket with the results. Linode Support will try to help further diagnose the routing issue. + +{{< note >}} +If you are located in China, there is a chance that your IP has been blacklisted by the GFW (Great Firewall of China). Because this is a systemic issue, Linode is no longer in the process of swapping IP addresses for affected Linodes. You can point the reader to the instructions found here: https://www.linode.com/community/questions/17192/ssh-refused +{{< /note >}} + +### Try Enabling Network Helper + +If your Linode's networking is down, a quick fix may be to enable Linode's [Network Helper](/docs/platform/network-helper/) tool and then reboot. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. + +- If Network Helper was already enabled, continue to the next sections. +- If you enable it and reboot, try running another MTR report (or [ping](/docs/troubleshooting/troubleshooting/#can-you-ping-the-linode) the Linode). If the report shows no packet loss, but you still can't access SSH or other services, this indicates that your networking is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services) +- If networking is still down after enabling Network Helper, continue to the next sections. + +### Run Standard Diagnostic Commands + +Include instructions for running standard diagnostic commands on different distros, and include expected output. Example commands for Debian 8/9: + + cat /etc/network/interfaces + systemctl status networking.service + ip a + ip r + +### Errors from the networking Service + +If the output from the status of your `networking` service shows an error like `Failed to start Raise network interfaces`, review your logs for further clues: + + sudo systemctl status networking.service -l + sudo journalctl -u networking --no-pager | tail -20 + +#### Sendmail + +If the output from your networking service logs show an error similar to the following, it is likely that a broken Sendmail update is at fault: + +{{< output >}} +/etc/network/if-up.d/sendmail: 44: .: Can't open /usr/share/sendmail/dynamic run-parts: /etc/network/if-up.d/sendmail exited with return code 2 +{{< /output >}} + +The sendmail issue can usually be resolved by running the following two commands: + + sudo mv /etc/network/if-up.d/sendmail ~ + ifdown -a && ifup -a + +You can read more about the SendMail bug at the following link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873978 + +#### iptables + +Malformed rules in your iptables ruleset can sometimes cause issues for your network scripts. An error similar to the following will generally appear in your logs: + +{{< output >}} +Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: failed to exec /etc/network/if- Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: /etc/network/if-up.d/iptables e +{{< /output >}} + +You can run the following commands to resolve this issue. + + sudo mv /etc/network/if-up.d/iptables ~ + ifdown -a && ifup -a + +Please note that your firewall will be down at this point, so you will need to re-enable it manually. + +### Was your Interface Renamed? + +When viewing the output of the `interfaces` file, or the output from your `ip` commands, if you notice your interfaces have been renamed to something other than `eth0` (for example, `ensp`) this may be due to the latest version of systemd (226-1+ as of writing this guide). Specifically, [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) may be renaming your interfaces. + +1. Disable the use of Predictable Network Interface Names with these commands: + + ln -s /dev/null /etc/systemd/network/99-default.link + ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules + +1. Reboot your Linode for the changes to take effect. + +### Privacy Extensions for IPv6 + +If you are only unable to connect via IPv6, then your Linode may be using an incorrect IPv6 address. Compare the global IPv6 address that appears in the output from your `ip a` command with the value shown in the [Remote Access tab](/docs/platform/manager/remote-access/) of your Linode's dashboard. If they don't match, then your distribution may be using privacy extensions to generate an incorrect address. + +Include instructions for how to fix this (search kb for privacy extensions) + +### Review Firewall Rules + +If your interface is up but your networking is still down, your firewall may be blocking all connections, including basic ping requests. + +Include instructions for inspecting and dumping firewall rules for iptables and ip6tables. Example commands and text: + + sudo iptables-save + +If you are unable to determine if a specific rule is causing a problem, you can save your iptables to a backup and flush your rules: + + sudo iptables-save > /tmp/iptables.txt + sudo iptables -P INPUT ACCEPT + sudo iptables -P FORWARD ACCEPT + sudo iptables -P OUTPUT ACCEPT + sudo iptables -t nat -F + sudo iptables -t mangle -F + sudo iptables -F + sudo iptables -X + +Guide: https://www.linode.com/docs/security/firewalls/control-network-traffic-with-iptables/ + +Include links to troubleshooting firewalld and other firewall utilities. \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-ssh/index.md b/docs/troubleshooting/troubleshooting-ssh/index.md index d12413d7288..5283ce5a340 100644 --- a/docs/troubleshooting/troubleshooting-ssh/index.md +++ b/docs/troubleshooting/troubleshooting-ssh/index.md @@ -5,19 +5,15 @@ author: description: "Troubleshooting steps for when you can't connect to your Linode." keywords: ['linux','reboot','lish'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -published: 2019-01-02 -modified: 2019-01-02 +published: 2019-01-21 +modified: 2019-01-21 modified_by: name: Linode -title: "How to Troubleshoot a Connection Problem" +title: "Troubleshooting SSH" --- EDITOR'S NOTE: This outline attempts to cover connection issues logically in ascending order: booting issues -> basic connectivity (routing or network interface issues) -> SSH -> other services (http, mysql, etc) -EDITOR's NOTE: This takes from the [Access Your Linode After Maintenance](https://www.linode.com/docs/troubleshooting/disaster-recovery-guide/#did-all-of-your-services-start-after-reboot) guide and re-structures things. This could serve as an update to that guide (and we could alias from there to here). I don't think there's really much difference between these two guides. - -Or, we could write this guide, and then insert it as a shortguide in the Access Your Linode After Maintenance guide (replacing the bulk of the content in it), then add some extra context at the top of that guide (before the shortguide insertion), and include other context after the shortguide (like linking to the Reboot Survival Guide/offering precautions and preparations for future possible maintenance). - EDITOR'S NOTE: Some of these sections only include commands for systemd or Debian etc. Final version of this guide should optimally include commands for all recent-ish distros. Sometimes through the course of updating or altering a Linode you might be unable to connect to your Linode through SSH or through other services you may run. The following are steps to regain access to your Linode should you lose access to those services. @@ -29,193 +25,6 @@ Also say something like: Various parts of this guide involve running diagnostic troubleshooting commands on your Linode, which can produce clues about the root of your connection issues. Several parts of this guide highlight frequent causes of connection issues and the diagnostic command output they correspond to. If the diagnostic information you've gathered does not match a solution presented here, consider searching the [Linode Community Site](link) for similar issues. Or, post a new question in the Community Site and include your commands' output. {{< /note >}} -## Before You Begin - -There are a few core troubleshooting tools you should familiarize yourself with that will be useful when diagnosing connection problems. - -### Using the Linode Shell (Lish) - -[*Lish*](/docs/platform/manager/using-the-linode-shell-lish/) is a shell that provides access to your Linode's serial console. Because Lish does not establish a network connection to your Linode, you can use it when networking is down or SSH isn't available. Lish is a valuable tool - -Include instructions here for using Lish, either by linking to Lish guide or embedding them directly. Perhaps embed instructions for using the web console and link to the dedicated guide for terminal connections and other Lish usage. - -{{< note >}} -Include note that all commands in this guide should be executed from Lish, unless SSH access is available, or otherwise specified by the guide (such as when running MTRs from your local computer). -{{< /note >}} - -### Install MTR - -MTR is a troubleshooting tool that can diagnose network routing issues that may exist between your computer and your Linode. Review Linode's MTR guide for instructions on [installing the tool](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#install-mtr) on your computer. - -## Is your Linode Running? - -Login to the Linode Manager and inspect the Linode's dashboard. If the Linode is powered off, turn it on. - -{{< note >}} -If the Linode is running and you can access SSH, but not other services, move down to the [troubleshooting other services](#troubleshoot-other-services) section. -{{< /note >}} - -### Inspect the Lish Console - -If the Linode is listed as running, open the Lish console and look for a login prompt. If a login prompt exists, try logging in with your root user credentials (or other Linux user credentials). - -{{< note >}} -The root user is available in Lish even if root user login is disabled in your SSH configuration. -{{< /note >}} - -If you can login at the Lish console, move on to [checking basic network connectivity](#check-basic-network-connectivity). - -If you do not see a login prompt, your Linode may have [basic issues with booting](#troubleshoot-booting-issues). - -## Troubleshoot Booting Issues - -If your Linode isn't booting normally, you will not be able to rely on the Lish console as you would normally. To continue, you will need to reboot your Linode into *Rescue Mode*, which is a special recovery environment that Linode provides. Entering Rescue Mode will boot the Finnix recovery distribution, and you will be able to mount your normal Linux images from this environment. - -Review the Rescue and Rebuild guide for instructions on [booting into Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#booting-into-rescue-mode). Then, connect to Rescue Mode via the Lish console as you would normally. - -### Perform a File System Check - -If your Linode can't boot, then it may have experienced filesystem corruption. Review the Rescue and Rebuild guide for instructions on [running a filesystem check](/docs/troubleshooting/rescue-and-rebuild/#performing-a-file-system-check). - -{{< caution >}} -Never run a filesystem check on a disk that is mounted. -{{< /caution >}} - -### Inspect System and Kernel Logs - -Rescue Mode is capable of mounting your Linux image so that you can investigate further. Furthermore, you can also *change root* within Rescue Mode, which will make Rescue Mode working environment emulate your normal Linux image. This means your files and logs will appear where you normally expect them, and you will be able to work with tools like your standard package manager and other system utilities. To proceed, review the Rescue and Rebuild guide's instructions on [changing root](/docs/troubleshooting/rescue-and-rebuild/#change-root). - -Include instructions for how to review system (e.g. `journalctl`) and kernel logs (`dmesg`) for various distros. Suggest that users search the Linode Community site for messages they find for further troubleshooting help. - -| Distribution | System Logs | Kernel Logs | -| ------------- |-------------| -----| -| CentOS 6 | Inspect `/var/log/messages` | Run `dmesg` -| CentOS 7+ | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | Run `dmesg` | -| Debian 8+ and Ubuntu 16.04+ | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | Run `dmesg` | -| Arch | Insert commands and logs files here | Whatever it is | - -### Quick Tip for Ubuntu and Debian Systems - -After you have changed root, the following command may help with issues related to your packages' configuration: - - dpkg --configure -a - -After running this command, try rebooting your Linode into your normal configuration profile. - -## Check Basic Network Connectivity - -Networking issues can have two causes: your Linode may not be responding to network requests normally, or there may be a network routing issue between you and your Linode. - -### Check for Network Route Issues - -EDITOR'S NOTE: include example MTR output in disclosure-note blocks to illsutrate 100% packet loss at Linode vs. packet loss along route (might be harder to generate an example for that. Maybe take from a previous ticket where we ran a report against a Linode IP, potentially from the nlnog ring network?) - -To diagnose routing problems, run and analyze an MTR report from your computer to your Linode. For instructions on how to use MTR, review Linode's [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). - -If your report shows no packet loss along the route, but 100% packet loss at your Linode, that indicates an issue with your Linode's networking configuration. Move to the next section to continue troubleshooting. - -If your report shows significant packet loss starting part-way through the route, there may be an issue between your internet service provider and Linode's upstream network peers. To confirm this issue, run another test originating from your Linode (by logging in with Lish and running the MTR command from the Linode) to your home computer's IP address. To find out what your local IP is, visit a website like https://www.whatismyip.com/. - -Once you have finished generating these reports, open a Linode support ticket with the results. Linode Support will try to help further diagnose the routing issue. - -{{< note >}} -If you are located in China, there is a chance that your IP has been blacklisted by the GFW (Great Firewall of China). Because this is a systemic issue, Linode is no longer in the process of swapping IP addresses for affected Linodes. You can point the reader to the instructions found here: https://www.linode.com/community/questions/17192/ssh-refused -{{< /note >}} - -### Try Enabling Network Helper - -If your Linode's networking is down, a quick fix may be to enable Linode's [Network Helper](/docs/platform/network-helper/) tool and then reboot. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. - -- If Network Helper was already enabled, continue to the next sections. -- If you enable it and reboot, try running another MTR report (or [ping](/docs/troubleshooting/troubleshooting/#can-you-ping-the-linode) the Linode). If the report shows no packet loss, but you still can't access SSH or other services, this indicates that your networking is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services) -- If networking is still down after enabling Network Helper, continue to the next sections. - -### Run Standard Diagnostic Commands - -Include instructions for running standard diagnostic commands on different distros, and include expected output. Example commands for Debian 8/9: - - cat /etc/network/interfaces - systemctl status networking.service - ip a - ip r - -### Errors from the networking Service - -If the output from the status of your `networking` service shows an error like `Failed to start Raise network interfaces`, review your logs for further clues: - - sudo systemctl status networking.service -l - sudo journalctl -u networking --no-pager | tail -20 - -#### Sendmail - -If the output from your networking service logs show an error similar to the following, it is likely that a broken Sendmail update is at fault: - -{{< output >}} -/etc/network/if-up.d/sendmail: 44: .: Can't open /usr/share/sendmail/dynamic run-parts: /etc/network/if-up.d/sendmail exited with return code 2 -{{< /output >}} - -The sendmail issue can usually be resolved by running the following two commands: - - sudo mv /etc/network/if-up.d/sendmail ~ - ifdown -a && ifup -a - -You can read more about the SendMail bug at the following link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873978 - -#### iptables - -Malformed rules in your iptables ruleset can sometimes cause issues for your network scripts. An error similar to the following will generally appear in your logs: - -{{< output >}} -Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: failed to exec /etc/network/if- Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: /etc/network/if-up.d/iptables e -{{< /output >}} - -You can run the following commands to resolve this issue. - - sudo mv /etc/network/if-up.d/iptables ~ - ifdown -a && ifup -a - -Please note that your firewall will be down at this point, so you will need to re-enable it manually. - -### Was your Interface Renamed? - -When viewing the output of the `interfaces` file, or the output from your `ip` commands, if you notice your interfaces have been renamed to something other than `eth0` (for example, `ensp`) this may be due to the latest version of systemd (226-1+ as of writing this guide). Specifically, [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) may be renaming your interfaces. - -1. Disable the use of Predictable Network Interface Names with these commands: - - ln -s /dev/null /etc/systemd/network/99-default.link - ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules - -1. Reboot your Linode for the changes to take effect. - -### Privacy Extensions for IPv6 - -If you are only unable to connect via IPv6, then your Linode may be using an incorrect IPv6 address. Compare the global IPv6 address that appears in the output from your `ip a` command with the value shown in the [Remote Access tab](/docs/platform/manager/remote-access/) of your Linode's dashboard. If they don't match, then your distribution may be using privacy extensions to generate an incorrect address. - -Include instructions for how to fix this (search kb for privacy extensions) - -### Review Firewall Rules - -If your interface is up but your networking is still down, your firewall may be blocking all connections, including basic ping requests. - -Include instructions for inspecting and dumping firewall rules for iptables and ip6tables. Example commands and text: - - sudo iptables-save - -If you are unable to determine if a specific rule is causing a problem, you can save your iptables to a backup and flush your rules: - - sudo iptables-save > /tmp/iptables.txt - sudo iptables -P INPUT ACCEPT - sudo iptables -P FORWARD ACCEPT - sudo iptables -P OUTPUT ACCEPT - sudo iptables -t nat -F - sudo iptables -t mangle -F - sudo iptables -F - sudo iptables -X - -Guide: https://www.linode.com/docs/security/firewalls/control-network-traffic-with-iptables/ - -Include links to troubleshooting firewalld and other firewall utilities. - ## Troubleshoot SSH EDITOR's NOTE: Some example output can be found in https://www.linode.com/community/questions/400/why-cant-i-connect-to-my-linode-via-ssh @@ -281,74 +90,4 @@ Include instructions for checking which SSH private keys are on the client compu ### Is your Firewall Blocking SSH? -Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches SSH (22 by default but could be custom). - -## Troubleshoot Other Services - -If you can establish an SSH connection, but some of your other services aren't working, here's more troubleshooting goodness: - -### Check if the Service is Running - -EDITOR's NOTE: Also include instructions for non-systemd systems - -On systemd systems, check the logs for the service. Example: - - sudo systemctl status mysql -l - sudo journalctl -u mysql - -Try restarting the service: - - sudo systemctl restart mysql - -For Apache issues, review the [Troubleshooting Common Apache Issues](/docs/troubleshooting/troubleshooting-common-apache-issues/) - -### Check if the Service is Enabled at Boot - -Take instructions from https://www.linode.com/docs/troubleshooting/disaster-recovery-guide/#did-all-of-your-services-start-after-reboot - -### Review Application Logs - -EDITOR'S NOTE: Not sure if we should include this section, but possibly: - -Show locations for common application logs maintained outside of the system logs, e.g.: - -MySQL: /var/log/mysql + the slow queries log -Show how to turn slow queries log on - -PHP: /var/log/php, or check phpinfo() from web browser to see where log file is - -Apache: See dedicated apache guide - -NGINX: /var/log/nginx, or check log location in nginx config - -### Is your Disk Full? - -If you're having issues with your database service, one common reason a database might not run as expected is if your disk is full. To check on your current disk usage, run the `df` command: - - df -h - -{{< note >}} -Note about how this is not the same thing as the reported unallocated space in the Linode Manager. -{{< /note >}} - -Include instructions for how to resolve this situation: - -- Free up space on your disk by locating and removing files you don't need, using a tool like du or ncdu - -- Resize the disk if you have any unallocated space on your Linode - -- Upgrade your Linode (either through a free upgrade if one is available or by resizing to a higher tier) and then resize your disk to use the newly available space. - -Or, consider putting those instructions into a new "How to Free Up Space on Your Linode" guide and then link to it. - -### Check which IP Addresses and Ports your Services Are Bound To - -Include instructions for using `netstat -plntu` to see which processes are listening on which ports and which addresses. Possible example problems: - -- Web server is only listening on the IPv4 address, not also the IPv6 address (which is a common problem for users trying to connect to a website via a cell phone, as those networks seem to prefer IPv6). - -- Service not listening on a standard port. Include markdown table of common services+ports - -### Is your Firewall Blocking the Service? - -Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches your service (e.g. 80 for HTTP). \ No newline at end of file +Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches SSH (22 by default but could be custom). \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md new file mode 100644 index 00000000000..68fd5025d38 --- /dev/null +++ b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md @@ -0,0 +1,83 @@ +--- +author: + name: Linode + email: docs@linode.com +description: 'Troubleshooting steps to access your Linode after maintenance has been applied to your host.' +keywords: ['linux','reboot','lish'] +license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' +published: 2019-01-21 +modified: 2019-01-21 +modified_by: + name: Linode +title: "Troubleshooting Web Servers, Databases, and Other Services" +--- + +## Troubleshoot Other Services + +If you can establish an SSH connection, but some of your other services aren't working, here's more troubleshooting goodness: + +### Check if the Service is Running + +EDITOR's NOTE: Also include instructions for non-systemd systems + +On systemd systems, check the logs for the service. Example: + + sudo systemctl status mysql -l + sudo journalctl -u mysql + +Try restarting the service: + + sudo systemctl restart mysql + +For Apache issues, review the [Troubleshooting Common Apache Issues](/docs/troubleshooting/troubleshooting-common-apache-issues/) + +### Check if the Service is Enabled at Boot + +Take instructions from https://www.linode.com/docs/troubleshooting/disaster-recovery-guide/#did-all-of-your-services-start-after-reboot + +### Review Application Logs + +EDITOR'S NOTE: Not sure if we should include this section, but possibly: + +Show locations for common application logs maintained outside of the system logs, e.g.: + +MySQL: /var/log/mysql + the slow queries log +Show how to turn slow queries log on + +PHP: /var/log/php, or check phpinfo() from web browser to see where log file is + +Apache: See dedicated apache guide + +NGINX: /var/log/nginx, or check log location in nginx config + +### Is your Disk Full? + +If you're having issues with your database service, one common reason a database might not run as expected is if your disk is full. To check on your current disk usage, run the `df` command: + + df -h + +{{< note >}} +Note about how this is not the same thing as the reported unallocated space in the Linode Manager. +{{< /note >}} + +Include instructions for how to resolve this situation: + +- Free up space on your disk by locating and removing files you don't need, using a tool like du or ncdu + +- Resize the disk if you have any unallocated space on your Linode + +- Upgrade your Linode (either through a free upgrade if one is available or by resizing to a higher tier) and then resize your disk to use the newly available space. + +Or, consider putting those instructions into a new "How to Free Up Space on Your Linode" guide and then link to it. + +### Check which IP Addresses and Ports your Services Are Bound To + +Include instructions for using `netstat -plntu` to see which processes are listening on which ports and which addresses. Possible example problems: + +- Web server is only listening on the IPv4 address, not also the IPv6 address (which is a common problem for users trying to connect to a website via a cell phone, as those networks seem to prefer IPv6). + +- Service not listening on a standard port. Include markdown table of common services+ports + +### Is your Firewall Blocking the Service? + +Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches your service (e.g. 80 for HTTP). \ No newline at end of file From 09ef7fefa94cdf7b76e18ea2872d50679f3eaaf5 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Fri, 25 Jan 2019 09:07:04 -0500 Subject: [PATCH 12/23] Drafts for new troubleshooting guides Finished drafts for new guides: Troubleshooting Basic Connection Issues Troubleshooting SSH Troubleshooting Web Servers, Databases, and Other Services Updated the "Troubleshooting" (/docs/troubleshooting/troubleshooting) guide to link to the other troubleshooting guides, and renamed it to Troubleshooting Overview --- .../index.md | 372 +++++++++++++----- .../troubleshooting-ssh/index.md | 248 ++++++++++-- .../index.md | 198 ++++++++-- docs/troubleshooting/troubleshooting/index.md | 243 ++---------- 4 files changed, 690 insertions(+), 371 deletions(-) diff --git a/docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md b/docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md index 9f8468f633a..23d9c44f5c7 100644 --- a/docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md +++ b/docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md @@ -2,179 +2,340 @@ author: name: Linode email: docs@linode.com -description: 'Troubleshooting steps to access your Linode after maintenance has been applied to your host.' +description: 'Troubleshooting steps to help restore basic connectivity to your Linode when it is unresponsive.' keywords: ['linux','reboot','lish'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -published: 2019-01-21 -modified: 2019-01-21 +published: 2019-01-25 +modified: 2019-01-25 modified_by: name: Linode -title: "Troubleshooting Basic Connectivity Issues" +title: "Troubleshooting Basic Connection Issues" --- -EDITOR'S NOTE: This outline attempts to cover connection issues logically in ascending order: booting issues -> basic connectivity (routing or network interface issues) -> SSH -> other services (http, mysql, etc) +This guide presents troubleshooting strategies for Linodes that are unresponsive to any network access. One reason that a Linode may be unresponsive is if you recently performed a distribution upgrade or other broad software updates to your Linode, as those changes can lead to unexpected problems for your core system components. -EDITOR'S NOTE: Some of these sections only include commands for systemd or Debian etc. Final version of this guide should optimally include commands for all recent-ish distros. +Or, your server may be unresponsive after maintenance was applied by Linode to your server's host (frequently, this is correlated with software/distribution upgrades performed on your deployment prior to the host maintenance). This guide is designed as a useful resource for either of these scenarios. -Sometimes through the course of updating or altering a Linode you might be unable to connect to your Linode through SSH or through other services you may run. The following are steps to regain access to your Linode should you lose access to those services. +If you can [ping](/docs/tools-reference/linux-system-administration-basics/#the-ping-command) your Linode, but you cannot access SSH or other services, this guide will not assist with troubleshooting those services. Instead, refer to the [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) or [Troubleshooting Web Servers, Databases, and Other Services](/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/) guides. -{{< note >}} -Linode is not responsible for the configuration or installation of software on your Linode, etc. Could link to the newly edited Support guide for more information, or a link to the TOS. +{{< disclosure-note "Where to go for help outside this guide" >}} +This guide explains how to use different troubleshooting commands on your Linode. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. -Also say something like: -Various parts of this guide involve running diagnostic troubleshooting commands on your Linode, which can produce clues about the root of your connection issues. Several parts of this guide highlight frequent causes of connection issues and the diagnostic command output they correspond to. If the diagnostic information you've gathered does not match a solution presented here, consider searching the [Linode Community Site](link) for similar issues. Or, post a new question in the Community Site and include your commands' output. -{{< /note >}} +If the information and logs you gather do not match a solution outlined here, consider searching the [Linode Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. + +Linode is not responsible for the configuration or installation of software on your Linode. Refer to Linode's [Scope of Support](/docs/platform/billing-and-support/support/#scope-of-support) for a description of which issues Linode Support can help with. +{{< /disclosure-note >}} ## Before You Begin -There are a few core troubleshooting tools you should familiarize yourself with that will be useful when diagnosing connection problems. +There are a few core troubleshooting tools you should familiarize yourself with that are used when diagnosing connection problems. -### Using the Linode Shell (Lish) +### The Linode Shell (Lish) -[*Lish*](/docs/platform/manager/using-the-linode-shell-lish/) is a shell that provides access to your Linode's serial console. Because Lish does not establish a network connection to your Linode, you can use it when networking is down or SSH isn't available. Lish is a valuable tool +[*Lish*](/docs/platform/manager/using-the-linode-shell-lish/) is a shell that provides access to your Linode's serial console. Lish does not establish a network connection to your Linode, so you can use it when your networking is down or SSH is inaccessible. Much of your troubleshooting for basic connection issues will be performed from the Lish console. -Include instructions here for using Lish, either by linking to Lish guide or embedding them directly. Perhaps embed instructions for using the web console and link to the dedicated guide for terminal connections and other Lish usage. +To learn about Lish in more detail, and for instructions on how to connect to your Linode via Lish, review the [Using the Linode Shell (Lish)](/docs/platform/manager/using-the-linode-shell-lish/) guide. In particular, [using your web browser](/docs/platform/manager/using-the-linode-shell-lish/#use-a-web-browser) is a fast and simple way to access Lish. -{{< note >}} -Include note that all commands in this guide should be executed from Lish, unless SSH access is available, or otherwise specified by the guide (such as when running MTRs from your local computer). -{{< /note >}} +### MTR -### Install MTR +When your network traffic leaves your computer for your Linode, it travels through a series of routers that are administered by your internet service provider, by Linode's transit providers, and by the various organizations that form the [Internet's backbone](https://en.wikipedia.org/wiki/Internet_backbone). It is possible to analyze the route that your traffic takes for possible service interruptions using a tool called [MTR](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/). -MTR is a troubleshooting tool that can diagnose network routing issues that may exist between your computer and your Linode. Review Linode's MTR guide for instructions on [installing the tool](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#install-mtr) on your computer. +MTR is similar to the [traceroute](https://en.wikipedia.org/wiki/Traceroute) tool, in that it will trace and display your traffic's route. MTR also runs several iterations of its tracing algorithim, which means that it can report statistics like average packet loss and latency over the period that the MTR test runs. -## Is your Linode Running? +Review the installation instructions in Linode's [Diagnosing Network Issues with MTR](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#install-mtr) guide and install MTR on your computer. -Login to the Linode Manager and inspect the Linode's dashboard. If the Linode is powered off, turn it on. +## Is your Linode Running? -{{< note >}} -If the Linode is running and you can access SSH, but not other services, move down to the [troubleshooting other services](#troubleshoot-other-services) section. -{{< /note >}} +Log in to the Linode Manager and inspect the Linode's dashboard. If the Linode is powered off, [turn it on](/docs/getting-started/#boot-your-linode). ### Inspect the Lish Console -If the Linode is listed as running, open the Lish console and look for a login prompt. If a login prompt exists, try logging in with your root user credentials (or other Linux user credentials). +If the Linode is listed as running in the Manager, or after you boot it from the Manager, open the Lish console and look for a login prompt. If a login prompt exists, try logging in with your root user credentials (or any other Linux user credentials that you previously created on the server). {{< note >}} The root user is available in Lish even if root user login is disabled in your SSH configuration. {{< /note >}} -If you can login at the Lish console, move on to [checking basic network connectivity](#check-basic-network-connectivity). +1. If you can log in at the Lish console, move on to [diagnosing network connection issues](#diagnosing-network-connection-issues). -If you do not see a login prompt, your Linode may have [basic issues with booting](#troubleshoot-booting-issues). + If you see a log in prompt, but you have forgotten the credentials for your Linode, follow the instructions for [resetting your root password](/docs/quick-answers/linode-platform/reset-the-root-password-on-your-linode/) and then attempt to log in at the Lish console again. + +2. If you do not see a login prompt, your Linode may have [issues with booting](#troubleshoot-booting-issues). ## Troubleshoot Booting Issues -If your Linode isn't booting normally, you will not be able to rely on the Lish console as you would normally. To continue, you will need to reboot your Linode into *Rescue Mode*, which is a special recovery environment that Linode provides. Entering Rescue Mode will boot the Finnix recovery distribution, and you will be able to mount your normal Linux images from this environment. +If your Linode isn't booting normally, you will not be able to rely on the Lish console to troubleshoot your deployment directly. To continue, you will first need to reboot your Linode into [Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#rescuing), which is a special recovery environment that Linode provides. + +When you boot into Rescue Mode, you are booting your Linode into the [Finnix recovery Linux distribution](https://www.finnix.org). This Finnix image includes a working network configuration, and you will be able to mount your Linode's disks from this environment, which means that you can access your files. -Review the Rescue and Rebuild guide for instructions on [booting into Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#booting-into-rescue-mode). Then, connect to Rescue Mode via the Lish console as you would normally. +1. Review the Rescue and Rebuild guide for instructions and [boot into Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#booting-into-rescue-mode). If your Linode does not reboot into Rescue Mode successfully, please [contact Linode Support](/docs/platform/billing-and-support/support/#contacting-linode-support). + +1. Connect to Rescue Mode via the Lish console as you would normally. You will not be required to enter a username or password to start using the Lish console while in Rescue Mode. ### Perform a File System Check -If your Linode can't boot, then it may have experienced filesystem corruption. Review the Rescue and Rebuild guide for instructions on [running a filesystem check](/docs/troubleshooting/rescue-and-rebuild/#performing-a-file-system-check). +If your Linode can't boot, then it may have experienced filesystem corruption. + +1. Review the Rescue and Rebuild guide for instructions on [running a filesystem check](/docs/troubleshooting/rescue-and-rebuild/#performing-a-file-system-check). -{{< caution >}} + {{< caution >}} Never run a filesystem check on a disk that is mounted. {{< /caution >}} +1. If your filesystem check reports errors that cannot be fixed, you may need to [rebuild your Linode](/docs/troubleshooting/rescue-and-rebuild/#rebuilding). + +1. If the filesystem check reports errors that it has fixed, try rebooting your Linode under your normal [configuration profile](/docs/platform/disk-images/disk-images-and-configuration-profiles/#configuration-profiles). After you reboot, you may find that your connection issues are resolved. If you still cannot connect as normal, restart the troubleshooting process from the [beginning of this guide](#is-your-linode-running). + +1. If the filesystem check does not report any errors, there may be another reason for your booting issues. Continue to [inspecting your system and kernel logs](#inspect-system-and-kernel-logs). + ### Inspect System and Kernel Logs -Rescue Mode is capable of mounting your Linux image so that you can investigate further. Furthermore, you can also *change root* within Rescue Mode, which will make Rescue Mode working environment emulate your normal Linux image. This means your files and logs will appear where you normally expect them, and you will be able to work with tools like your standard package manager and other system utilities. To proceed, review the Rescue and Rebuild guide's instructions on [changing root](/docs/troubleshooting/rescue-and-rebuild/#change-root). +In addition to being able to mount your Linode's disks, you can also *change root* (sometimes abbreviated at *chroot*) within Rescue Mode. *Chrooting* will make Rescue Mode's working environment emulate your normal Linux distribution. This means your files and logs will appear where you normally expect them, and you will be able to work with tools like your standard package manager and other system utilities. + +To proceed, review the Rescue and Rebuild guide's instructions on [changing root](/docs/troubleshooting/rescue-and-rebuild/#change-root). Once you have chrooted, you can then investigate your Linode's logs for messages that may describe the cause of your booting issues. -Include instructions for how to review system (e.g. `journalctl`) and kernel logs (`dmesg`) for various distros. Suggest that users search the Linode Community site for messages they find for further troubleshooting help. +In systemd Linux distributions (like Debian 8+, Ubuntu 16.04+, CentOS 7+, and recent releases of Arch), you can run the [`journalctl` command](/docs/quick-answers/linux/how-to-use-journalctl/) to view system and kernel logs. In these and other distributions, you may also find system log messages in the following files: -| Distribution | System Logs | Kernel Logs | -| ------------- |-------------| -----| -| CentOS 6 | Inspect `/var/log/messages` | Run `dmesg` -| CentOS 7+ | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | Run `dmesg` | -| Debian 8+ and Ubuntu 16.04+ | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | Run `dmesg` | -| Arch | Insert commands and logs files here | Whatever it is | +- `/var/log/messages` + +- `/var/log/syslog` + +- `/var/log/kern.log` + +- `/var/log/dmesg` + +You can use the [`less` command](/docs/quick-answers/linux/how-to-use-less/) to review the contents of these files (e.g. `less /var/log/syslog`). Try pasting your messages into a search engine or searching for your messages in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Linode](/docs/troubleshooting/rescue-and-rebuild/#rebuilding). ### Quick Tip for Ubuntu and Debian Systems -After you have changed root, the following command may help with issues related to your packages' configuration: +After you have chrooted inside Rescue Mode, the following command may help with issues related to your package manager's configuration: dpkg --configure -a -After running this command, try rebooting your Linode into your normal configuration profile. +After running this command, try rebooting your Linode into your normal configuration profile. If your issues persist, you may need to investigate and research your system logs further, or consider [rebuilding your Linode](/docs/troubleshooting/rescue-and-rebuild/#rebuilding). + +## Diagnose Network Connection Issues -## Check Basic Network Connectivity +If you can boot your Linode normally and access the Lish console, you can continue investigating network issues. Networking issues may have two causes: -Networking issues can have two causes: your Linode may not be responding to network requests normally, or there may be a network routing issue between you and your Linode. +- There may be a network routing problem between you and your Linode, or: -### Check for Network Route Issues +- If the traffic is properly routed, your Linode's network configuration may be malfunctioning. -EDITOR'S NOTE: include example MTR output in disclosure-note blocks to illsutrate 100% packet loss at Linode vs. packet loss along route (might be harder to generate an example for that. Maybe take from a previous ticket where we ran a report against a Linode IP, potentially from the nlnog ring network?) +### Check for Network Route Problems -To diagnose routing problems, run and analyze an MTR report from your computer to your Linode. For instructions on how to use MTR, review Linode's [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). +To diagnose routing problems, run and analyze an MTR report from your computer to your Linode. For instructions on how to use MTR, review Linode's [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). It is useful to run your MTR report for 100 cycles in order to get a good sample size (note that running a report with this many cycles can take more time to complete). This recommended command includes other helpful options: -If your report shows no packet loss along the route, but 100% packet loss at your Linode, that indicates an issue with your Linode's networking configuration. Move to the next section to continue troubleshooting. + mtr -rwbzc 100 -i 0.2 -rw 198.51.100.0 -If your report shows significant packet loss starting part-way through the route, there may be an issue between your internet service provider and Linode's upstream network peers. To confirm this issue, run another test originating from your Linode (by logging in with Lish and running the MTR command from the Linode) to your home computer's IP address. To find out what your local IP is, visit a website like https://www.whatismyip.com/. +Once you have generated this report, compare it with the following example scenarios. -Once you have finished generating these reports, open a Linode support ticket with the results. Linode Support will try to help further diagnose the routing issue. +{{< note >}} +If you are located in China, and the output of your MTR report shows *high packet loss* or an *improperly configured router*, then your IP address may have been blacklisted by the GFW (Great Firewall of China). Linode is not able to change your IP address if it has been blacklisted by the GFW. If you have this issue, review this [community post](https://www.linode.com/community/questions/17192/ssh-refused) for troubleshooting help. +{{< /note >}} + +- **High Packet Loss** + + root@localhost:~# mtr --report www.google.com + HOST: localhost Loss% Snt Last Avg Best Wrst StDev + 1. 63.247.74.43 0.0% 10 0.3 0.6 0.3 1.2 0.3 + 2. 63.247.64.157 0.0% 10 0.4 1.0 0.4 6.1 1.8 + 3. 209.51.130.213 60.0% 10 0.8 2.7 0.8 19.0 5.7 + 4. aix.pr1.atl.google.com 60.0% 10 6.7 6.8 6.7 6.9 0.1 + 5. 72.14.233.56 50.0% 10 7.2 8.3 7.1 16.4 2.9 + 6. 209.85.254.247 40.0% 10 39.1 39.4 39.1 39.7 0.2 + 7. 64.233.174.46 40.0% 10 39.6 40.4 39.4 46.9 2.3 + 8. gw-in-f147.1e100.net 40.0% 10 39.6 40.5 39.5 46.7 2.2 + + This example report shows high persistent packet to the end of the route loss starting mid-way through the route at hop 3, which indicates an issue with the router at hop 3. If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. + + {{< note >}} +If your route only shows packet loss at certain routers, and not through to the end of the route, then it is likely that those routers are purposefully limiting ICMP responses. This is generally not a problem for your connection. Linode's MTR guide provides more context for [packet loss issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#verify-packet-loss). +{{< /note >}} + + If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. As well, Linode's MTR guide provides more context for [packet loss issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#verify-packet-loss). + +- **Improperly Configured Router** + + root@localhost:~# mtr --report www.google.com + HOST: localhost Loss% Snt Last Avg Best Wrst StDev + 1. 63.247.74.43 0.0% 10 0.3 0.6 0.3 1.2 0.3 + 2. 63.247.64.157 0.0% 10 0.4 1.0 0.4 6.1 1.8 + 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 + 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 + 5. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 + 6. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 + 7. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 + 8. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 + 9. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 + 10. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 + + If your report shows question marks instead of the hostnames (or IP addresses) of the routers, and if these question marks persist to the end of the route, then the report indicates an improperly configured router. If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. + + {{< note >}} +If your route only shows question marks for certain routers, and not through to the end of the route, then it is likely that those routers are purposefully blocking ICMP responses. This is generally not a problem for your connection. Linode's MTR guide provides more information about [router configuration issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#an-isp-router-is-not-configured-properly). +{{< /note >}} + +- **Destination Host Networking Improperly Configured** + + root@localhost:~# mtr --report www.google.com + HOST: localhost Loss% Snt Last Avg Best Wrst StDev + 1. 63.247.74.43 0.0% 10 0.3 0.6 0.3 1.2 0.3 + 2. 63.247.64.157 0.0% 10 0.4 1.0 0.4 6.1 1.8 + 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 + 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 + 5. 72.14.233.56 0.0% 10 7.2 8.3 7.1 16.4 2.9 + 6. 209.85.254.247 0.0% 10 39.1 39.4 39.1 39.7 0.2 + 7. 64.233.174.46 0.0% 10 39.6 40.4 39.4 46.9 2.3 + 8. gw-in-f147.1e100.net 100.0 10 0.0 0.0 0.0 0.0 0.0 + + If your report shows no or low packet loss (or non-persistent packet loss isolated to certain routers) until the end of the route, and 100% loss at your Linode, then the report indicates that your Linode's network interface is not configured correctly. If your report looks like this, move down to [confirming network configuration issues from Rescue Mode](#confirm-network-configuration-issues-from-rescue-mode). {{< note >}} -If you are located in China, there is a chance that your IP has been blacklisted by the GFW (Great Firewall of China). Because this is a systemic issue, Linode is no longer in the process of swapping IP addresses for affected Linodes. You can point the reader to the instructions found here: https://www.linode.com/community/questions/17192/ssh-refused +If your report does not look like any of the previous examples, read through the [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/) for other potential scenarios. {{< /note >}} +### Confirm Network Configuration Issues from Rescue Mode + +If your MTR indicates a configuration issue within your Linode, you can confirm the problem by using Rescue Mode: + +1. Reboot your Linode into [Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#booting-into-rescue-mode). + +1. Run another MTR report from your computer to your Linode's IP address. + +1. As noted earlier, Rescue Mode boots with a working network configuration. If your new MTR report does not show the same packet loss that it did before, this result confirms that your deployment's network configuration needs to be fixed. Continue to [troubleshooting network configuration issues](#troubleshoot-network-configuration-issues). + +1. If your new MTR report still shows the same packet loss at your Linode, this result indicates issues outside of your configuration. [Open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. + +### Open a Support Ticket with your MTR Results + +Before opening a support ticket, you should also generate a *reverse MTR*. A reverse MTR is a report which you run from your Linode and which targets your local IP address. To run an MTR from your Linode, open and log in to your Lish console. To find out what your local IP is, visit a website like https://www.whatismyip.com/. + +Once you have generated your original MTR and your reverse MTR, [open a Linode support ticket](/docs/platform/billing-and-support/support/#contacting-linode-support), and include your reports and a description of the troubleshooting you've performed so far. Linode Support will try to help further diagnose the routing issue. + +## Troubleshoot Network Configuration Issues + +If you have determined that your network configuration is the cause of the problem, review the following troubleshooting suggestions. + +If you make any changes in an attempt to fix the issue, you can test those changes with these steps: + +1. Run another MTR report (or [ping](/docs/troubleshooting/troubleshooting/#can-you-ping-the-linode) the Linode) from your computer to your Linode's IP. + +1. If the report shows no packet loss, but you still can't access SSH or other services, this result indicates that your networking is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services) + +1. If the report still shows the same packet loss, review the remaining troubleshooting suggestions in this section. + +If the recommendations in this section do not resolve your issue, try pasting your [diagnostic commands' output](#run-diagnostic-commands) into a search engine or searching for your output in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Linode](/docs/troubleshooting/rescue-and-rebuild/#rebuilding). + ### Try Enabling Network Helper -If your Linode's networking is down, a quick fix may be to enable Linode's [Network Helper](/docs/platform/network-helper/) tool and then reboot. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. +A quick fix may be to enable Linode's [Network Helper](/docs/platform/network-helper/) tool. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. After you enable Network Helper, reboot your Linode for the changes take effect. If Network Helper was already enabled, continue to the remaining troubleshooting suggestions in this section. + +### Did You Upgrade to Ubuntu 18.04+ From an Earlier Version? + +If you performed an inline upgrade from an earlier version of Ubuntu to Ubuntu 18.04+, you may need to enable the `systemd-networkd` service: + + sudo systemctl enable systemd-networkd + +Afterwards, reboot your Linode. + +### Run Diagnostic Commands + +To collect more information about your network configuration, collect output from the diagnostic commands appropriate for your distribution: + +{{< disclosure-note "Network diagnostic commands" >}} +- **Debian 7, Ubuntu 14.04** + + sudo service network status + cat /etc/network/interfaces + ip a + ip r + sudo ifdown eth0 && sudo ifup eth0 + +- **Debian 8 and 9, Ubuntu 16.04** + + sudo systemctl status networking.service -l + sudo journalctl -u networking --no-pager | tail -20 + cat /etc/network/interfaces + ip a + ip r + sudo ifdown eth0 && sudo ifup eth0 + +- **Ubuntu 18.04** + + sudo networkctl status + sudo systemctl status systemd-networkd -l + sudo journalctl -u systemd-networkd --no-pager | tail -20 + cat /etc/systemd/network/05-eth0.network + ip a + ip r + sudo netplan apply -- If Network Helper was already enabled, continue to the next sections. -- If you enable it and reboot, try running another MTR report (or [ping](/docs/troubleshooting/troubleshooting/#can-you-ping-the-linode) the Linode). If the report shows no packet loss, but you still can't access SSH or other services, this indicates that your networking is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services) -- If networking is still down after enabling Network Helper, continue to the next sections. +- **Arch, CoreOS** -### Run Standard Diagnostic Commands + sudo systemctl status systemd-networkd -l + sudo journalctl -u systemd-networkd --no-pager | tail -20 + cat /etc/systemd/network/05-eth0.network + ip a + ip r -Include instructions for running standard diagnostic commands on different distros, and include expected output. Example commands for Debian 8/9: +- **CentOS 6** - cat /etc/network/interfaces - systemctl status networking.service - ip a - ip r + sudo service network status + cat /etc/sysconfig/network-scripts/ifcfg-eth0 + ip a + ip r + sudo ifdown eth0 && sudo ifup eth0 -### Errors from the networking Service +- **CentOS 7, Fedora** -If the output from the status of your `networking` service shows an error like `Failed to start Raise network interfaces`, review your logs for further clues: + sudo systemctl status NetworkManager -l + sudo journalctl -u NetworkManager --no-pager | tail -20 + sudo nmcli + cat /etc/sysconfig/network-scripts/ifcfg-eth0 + ip a + ip r + sudo ifdown eth0 && sudo ifup eth0 +{{< /disclosure-note >}} - sudo systemctl status networking.service -l - sudo journalctl -u networking --no-pager | tail -20 +### Inspect Error Messages + +Your commands' output may show error messages, including generic errors like `Failed to start Raise network interfaces`. There may also be more specific errors that appear. Two common errors that can appear are related to Sendmail and iptables: #### Sendmail -If the output from your networking service logs show an error similar to the following, it is likely that a broken Sendmail update is at fault: +If you find message similar to the following, it is likely that a broken Sendmail update is at fault: {{< output >}} /etc/network/if-up.d/sendmail: 44: .: Can't open /usr/share/sendmail/dynamic run-parts: /etc/network/if-up.d/sendmail exited with return code 2 {{< /output >}} -The sendmail issue can usually be resolved by running the following two commands: +The Sendmail issue can usually be resolved by running the following command and restarting your Linode: sudo mv /etc/network/if-up.d/sendmail ~ ifdown -a && ifup -a -You can read more about the SendMail bug at the following link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873978 +{{< note >}} +Read more about the Sendmail bug [here](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873978). +{{< /note >}} #### iptables -Malformed rules in your iptables ruleset can sometimes cause issues for your network scripts. An error similar to the following will generally appear in your logs: +Malformed rules in your iptables ruleset can sometimes cause issues for your network scripts. An error similar to the following can appear in your logs if this is the case: {{< output >}} Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: failed to exec /etc/network/if- Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: /etc/network/if-up.d/iptables e {{< /output >}} -You can run the following commands to resolve this issue. +Run the following command and restart your Linode to resolve this issue: sudo mv /etc/network/if-up.d/iptables ~ - ifdown -a && ifup -a -Please note that your firewall will be down at this point, so you will need to re-enable it manually. +Please note that your firewall will be down at this point, so you will need to re-enable it manually. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide for help with managing iptables. ### Was your Interface Renamed? -When viewing the output of the `interfaces` file, or the output from your `ip` commands, if you notice your interfaces have been renamed to something other than `eth0` (for example, `ensp`) this may be due to the latest version of systemd (226-1+ as of writing this guide). Specifically, [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) may be renaming your interfaces. +In your commands' output, you might notice that your 'eth0' interface is missing and replaced with another name (for example, `ensp` or `ensp0`). This behavior can be caused by systemd's [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) feature. 1. Disable the use of Predictable Network Interface Names with these commands: @@ -183,31 +344,58 @@ When viewing the output of the `interfaces` file, or the output from your `ip` c 1. Reboot your Linode for the changes to take effect. -### Privacy Extensions for IPv6 +### Review Firewall Rules -If you are only unable to connect via IPv6, then your Linode may be using an incorrect IPv6 address. Compare the global IPv6 address that appears in the output from your `ip a` command with the value shown in the [Remote Access tab](/docs/platform/manager/remote-access/) of your Linode's dashboard. If they don't match, then your distribution may be using privacy extensions to generate an incorrect address. +If your interface is up but your networking is still down, your firewall (which is likely implemented by the `iptables` software) may be blocking all connections, including basic ping requests. To review your current firewall ruleset, run: -Include instructions for how to fix this (search kb for privacy extensions) + sudo iptables-save # displays IPv4 rules + sudo ip6tables-save # displays IPv6 rules -### Review Firewall Rules +{{< note >}} +Your deployment may be running FirewallD or UFW, which are frontend software packages used to more easily manage your iptables rules. Run these commands to find out if you are running either package: + + sudo ufw status + sudo firewall-cmd --state + +Review [How to Configure a Firewall with UFW](/docs/security/firewalls/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/security/firewalls/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. +{{< /note >}} + +Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. + +### Disable Firewall Rules + +In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling afterward it with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. + +1. Create a temporary backup of your current iptables: + + sudo iptables-save > ~/iptables.txt + +1. Set the `INPUT`, `FORWARD` and `OUTPUT` packet policies as `ACCEPT`: + + sudo iptables -P INPUT ACCEPT + sudo iptables -P FORWARD ACCEPT + sudo iptables -P OUTPUT ACCEPT + +1. Flush the `nat` table that is consulted when a packet that creates a new connection is encountered: + + sudo iptables -t nat -F + +1. Flush the `mangle` table that is used for specialized packet alteration: + + sudo iptables -t mangle -F + +1. Flush all the chains in the table: -If your interface is up but your networking is still down, your firewall may be blocking all connections, including basic ping requests. + sudo iptables -F -Include instructions for inspecting and dumping firewall rules for iptables and ip6tables. Example commands and text: +1. Delete every non-built-in chain in the table: - sudo iptables-save + sudo iptables -X -If you are unable to determine if a specific rule is causing a problem, you can save your iptables to a backup and flush your rules: +1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the file you save your IPv6 rules to (e.g. `~/ip6tables.txt`). - sudo iptables-save > /tmp/iptables.txt - sudo iptables -P INPUT ACCEPT - sudo iptables -P FORWARD ACCEPT - sudo iptables -P OUTPUT ACCEPT - sudo iptables -t nat -F - sudo iptables -t mangle -F - sudo iptables -F - sudo iptables -X +## Next Steps -Guide: https://www.linode.com/docs/security/firewalls/control-network-traffic-with-iptables/ +If you are able to restore basic networking, but you still can't access SSH or other services, refer to the [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) or [Troubleshooting Web Servers, Databases, and Other Services](/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/) guides. -Include links to troubleshooting firewalld and other firewall utilities. \ No newline at end of file +If your connection issues were the result of maintenance performed by Linode, review the [Reboot Survival Guide](/docs/uptime/reboot-survival-guide/) for methods to prepare a Linode for any future maintenance. \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-ssh/index.md b/docs/troubleshooting/troubleshooting-ssh/index.md index 5283ce5a340..c0bbef1cfab 100644 --- a/docs/troubleshooting/troubleshooting-ssh/index.md +++ b/docs/troubleshooting/troubleshooting-ssh/index.md @@ -2,92 +2,256 @@ author: name: Linode email: docs@linode.com -description: "Troubleshooting steps for when you can't connect to your Linode." +description: "Troubleshooting steps for when you can't connect to your Linode via SSH." keywords: ['linux','reboot','lish'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -published: 2019-01-21 -modified: 2019-01-21 +published: 2019-01-25 +modified: 2019-01-25 modified_by: name: Linode title: "Troubleshooting SSH" --- -EDITOR'S NOTE: This outline attempts to cover connection issues logically in ascending order: booting issues -> basic connectivity (routing or network interface issues) -> SSH -> other services (http, mysql, etc) +This guide presents troubleshooting strategies for when you can't connect to your Linode via SSH. If you currently cannot [ping](/docs/tools-reference/linux-system-administration-basics/#the-ping-command) your Linode, then your server also likely has more basic connection issues. If this is the case, you should instead follow the [Troubleshooting Basic Connection Issues](/docs/troubleshooting/troubleshooting-basic-connection-issues/) guide. If you restore basic networking to your Linode but still can't access SSH, return to this guide. -EDITOR'S NOTE: Some of these sections only include commands for systemd or Debian etc. Final version of this guide should optimally include commands for all recent-ish distros. +If you can access SSH but not other services, refer to the [Troubleshooting Web Servers, Databases, and Other Services](/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/) guide. -Sometimes through the course of updating or altering a Linode you might be unable to connect to your Linode through SSH or through other services you may run. The following are steps to regain access to your Linode should you lose access to those services. +{{< disclosure-note "Where to go for help outside this guide" >}} +This guide explains how to use different troubleshooting commands on your Linode. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. -{{< note >}} -Linode is not responsible for the configuration or installation of software on your Linode, etc. Could link to the newly edited Support guide for more information, or a link to the TOS. +If the information and logs you gather do not match a solution outlined here, consider searching the [Linode Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. -Also say something like: -Various parts of this guide involve running diagnostic troubleshooting commands on your Linode, which can produce clues about the root of your connection issues. Several parts of this guide highlight frequent causes of connection issues and the diagnostic command output they correspond to. If the diagnostic information you've gathered does not match a solution presented here, consider searching the [Linode Community Site](link) for similar issues. Or, post a new question in the Community Site and include your commands' output. -{{< /note >}} +Linode is not responsible for the configuration or installation of software on your Linode. Refer to Linode's [Scope of Support](/docs/platform/billing-and-support/support/#scope-of-support) for a description of which issues Linode Support can help with. +{{< /disclosure-note >}} -## Troubleshoot SSH +## Before You Begin -EDITOR's NOTE: Some example output can be found in https://www.linode.com/community/questions/400/why-cant-i-connect-to-my-linode-via-ssh +Before troubleshooting your SSH service, familiarize yourself with the Linode Shell: -We may need to include more new example output here thats not in that community question. It could be good to insert those into disclosure-notes (Attempt to Connect to SSH in Verbose Mode section shows how to do that). +### The Linode Shell (Lish) -### Review SSH Service Status and Logs +[*Lish*](/docs/platform/manager/using-the-linode-shell-lish/) is a shell that provides access to your Linode's serial console. Lish does not establish a network connection to your Linode, so you can use it when your networking is down or SSH is inaccessible. While troubleshooting SSH, all commands you enter on your Linode will be performed from the Lish console. -Check on status: +To learn about Lish in more detail, and for instructions on how to connect to your Linode via Lish, review the [Using the Linode Shell (Lish)](/docs/platform/manager/using-the-linode-shell-lish/) guide. In particular, [using your web browser](/docs/platform/manager/using-the-linode-shell-lish/#use-a-web-browser) is a fast and simple way to access Lish. - sudo systemctl status ssh -l +### Forgotten your Password? -If it's not running, try restarting it: +If you have forgotten your Linux user's password, you will not be able to log in with Lish. You can reset the root password for your Linode with [these instructions](/docs/quick-answers/linode-platform/reset-the-root-password-on-your-linode/). If you are logged in as root, you can change the password of another user with the `passwd` command: - sudo systemctl restart ssh + passwd -If it won't run, check for error messages: +If you reset your password and can log in with Lish, try logging in with SSH, as that may have been the cause of your connection problems. - sudo journalctl -u ssh --no-pager | tail -20 +## Troubleshoot Unresponsive SSH Connections -### Review SSH Login Attempts +If your SSH connection attempts are timing out or are being immediately rejected, then your SSH daemon may not be running, or your firewall may be blocking SSH connections. This section will help troubleshoot these issues. -[Use the `less` command](/docs/quick-answers/linux/how-to-use-less/) to inspect your authorization logs: +If your connections are *not* timing out or being rejected, or if you are able to resolve these issues but you still can't access SSH because of rejected login attempts, then continue to [troubleshooting rejected SSH logins](#troubleshooting-rejected-SSH-logins). - sudo less /var/log/auth.log # Ubuntu/Debian - sudo less /var/log/secure # CentOS +### Is SSH Running? -### Attempt to Connect to SSH in Verbose Mode +1. To check on the status of your SSH daemon, run: -SSH into your server from your local computer in verbose mode: + | Distribution | Command                                            | + | ------------ | ------- | + | systemd systems (Arch, Ubuntu 16.04+, Debian 8+, CentOS 7+, etc) | `sudo systemctl status sshd -l` | + | CentOS 6 | `sudo service sshd status` | + | Ubuntu 14.04, Debian 7 | `sudo service ssh status` | - ssh -vvv @ +1. If the command reports the service is running, review the [Is SSH Running on a Non-Standard Port?](#is-ssh-running-on-a-non-standard-port) section. -This will give exacting details about why the SSH connection is not working, and may be useful. +1. If the command reports the service is not running, then try restarting it: -{{< disclosure-note "Example output from a successful connection" >}} -Include example successful connection output here -{{< /disclosure-note >}} + | Distribution | Command | + | ------------ | ------- | + | systemd systems | `sudo systemctl restart sshd` | + | CentOS 6 | `sudo service sshd restart` | + | Ubuntu 14.04, Debian 7 | `sudo service ssh restart` | + +1. Check the status of the service again. If it's still not running, view the logs for the service: + + | Distribution | Command | + | ------------ | ------- | + | systemd systems | `sudo journalctl -u sshd -u ssh` | + | CentOS 6 | `less /var/log/secure` | + | Ubuntu 14.04, Debian 7 | `less /var/log/auth.log` | + + {{< note >}} +Review the [journalctl](/docs/quick-answers/linux/how-to-use-journalctl/) and [less](/docs/quick-answers/linux/how-to-use-less/) guides for help with navigating your logs when using those commands. +{{< /note >}} + +1. Review the [Is Another Service Bound on the Same Port?](#is-another-service-bound-on-the-same-port) section. Then: + + - If you can start the SSH service successfully, but your connections still time out or are rejected, then [review your firewall rules](#review-firewall-rules). -### Is SSH Running on another Port? + - If you can't get the service to start, try pasting your logs into a search engine or searching for your logs in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. + +### Is SSH Running on a Non-Standard Port? Run `netstat` on your Linode to check which port is used by SSH: - sudo netstat -plntu + sudo netstat -plntu | grep ssh + tcp 0 0 0.0.0.0:41 0.0.0.0:* LISTEN 4433/sshd + tcp6 0 0 :::41 :::* LISTEN 4433/sshd + +This example output shows that SSH is running on port 41. You can connect to SSH by manually specifying this port: + + ssh username@192.0.2.4 -p 41 + +Alternatively, you can [bind SSH](#bind-ssh-to-a-port-number) on the standard port (22). + +### Is Another Service Bound on the Same Port? + +Check your SSH logs for a message that looks like: + +{{< output >}} +Jan 23 10:29:52 localhost sshd[4370]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use. +{{< /output >}} + +This error indicates that another service on your system is already using the same port that SSH binds to, and so SSH can't start. To resolve this issue, choose one of the following solutions. + +- **Bind SSH to a different port** + + Follow instructions for [setting SSH's port number](#bind-ssh-to-a-port-number), and specify a different number than the one that was already in-use. + +- **Stop the other service** + + 1. Use the `netstat` command to discover which other process is using the same port: + + sudo netstat -plntu | grep :22 + + tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4433/some-other-service + tcp6 0 0 :::22 :::* LISTEN 4433/some-other-service + + 1. Stop and disable that other service: + + sudo systemctl stop some-other-service + sudo systemctl disable some-other-service + + Or, [kill](/docs/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/) the process using the process ID listed next to the process name in the output from `netstat`. + +- **Assign a different port to the other service** + + 1. Use the `netstat` command to find out what service is bound to the same port: + + 1. Then, change the configuration for that service to use a different port. + + 1. Restart SSH. + +### Bind SSH to a Port Number + +1. Open `/etc/ssh/sshd_config` in your editor. Search for a line in this file that declares the port for SSH: + + {{< file "/etc/ssh/sshd_config" >}} +#Port 22 +{{< /file >}} + +1. Uncomment this line and provide a different number. + +1. Save the file and restart the SSH service. + +### Review Firewall Rules + +If your service is running but your connections still fail, your firewall (which is likely implemented by the `iptables` software) may be blocking the connections. To review your current firewall ruleset, run: -SSH runs on 22 by default, but you may have changed it in your SSH config. Include instructions here for changing the config, or specifying the port in the SSH client command. + sudo iptables-save # displays IPv4 rules + sudo ip6tables-save # displays IPv6 rules + +{{< note >}} +Your deployment may be running FirewallD or UFW, which are frontend software packages used to more easily manage your iptables rules. Run these commands to find out if you are running either package: + + sudo ufw status + sudo firewall-cmd --state + +Review [How to Configure a Firewall with UFW](/docs/security/firewalls/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/security/firewalls/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. +{{< /note >}} + +A rule which allows incoming SSH traffic could look like this: + +{{< output >}} +-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT +{{< /output >}} + +Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. + +### Disable Firewall Rules + +In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling afterward it with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. + +1. Create a temporary backup of your current iptables: + + sudo iptables-save > ~/iptables.txt + +1. Set the `INPUT`, `FORWARD` and `OUTPUT` packet policies as `ACCEPT`: + + sudo iptables -P INPUT ACCEPT + sudo iptables -P FORWARD ACCEPT + sudo iptables -P OUTPUT ACCEPT + +1. Flush the `nat` table that is consulted when a packet that creates a new connection is encountered: + + sudo iptables -t nat -F + +1. Flush the `mangle` table that is used for specialized packet alteration: + + sudo iptables -t mangle -F + +1. Flush all the chains in the table: + + sudo iptables -F + +1. Delete every non-built-in chain in the table: + + sudo iptables -X + +1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the file you save your IPv6 rules to (e.g. `~/ip6tables.txt`). + +## Troubleshoot Rejected SSH Logins + +If SSH is listening and accepting connections but is rejecting login attempts, review these instructions: ### Is Root Login Permitted? -Describe how root logins can be disabled in the SSH config, where to check on that (see command below), and what to adjust to turn it back on if it's disabled: +SSH can be configured to disable logins for the root user. To check your SSH configuration, run: + + grep PermitRootLogin /etc/ssh/sshd_config + +If the value of the `PermitRootLogin` is `no`, then try logging in with another user. Or, set the value in `/etc/ssh/sshd_config` to `yes`, restart SSH, and try logging in as root again. -egrep -i 'permit' /etc/ssh/sshd_config +{{< note >}} +This option can also be set with the value `without-password`. If this value is used, root logins are accepted with public key authentication. +{{< /note >}} ### Are Password Logins Accepted? -Describe how password logins can be enabled/disabled, where to check on that (see command below), and what to adjust to turn it back on if it's disabled: +SSH can be configured to not accept passwords and instead accept public key authentication. To check your SSH configuration, run: -egrep -i 'password' /etc/ssh/sshd_config + grep PasswordAuthentication /etc/ssh/sshd_config + +If the value of the `PasswordAuthentication` is `no`, [create a keypair](/docs/security/securing-your-server/#create-an-authentication-key-pair). Or, set the value in `/etc/ssh/sshd_config` to `yes`, restart SSH, and try logging in with your password again. ### Is your Public Key Stored on the Server? -Include instructions for checking which SSH private keys are on the client computer vs. which are on the Linode. Refer back to verbose mode to show which keys were tried by the client/server. +If you prefer to use public key authentication, but your login attempts with your key are not working, double-check that the server has your public key. To check which keys are recognized for your user, run: + + cat ~/.ssh/authorized_keys + +If your public key is not listed in this file, add it to the file on a new line. + +On some systems, your authorized keys file may be listed in a different location. Run this command to show where your file is located: + + grep AuthorizedKeysFile /etc/ssh/sshd_config + +### Collect Login Attempt Logs + +If the previous troubleshooting steps do not resolve your issues, collect more information about how your logins are failing: + +- View your login attempts in the log files described in step 4 of [Is SSH Running?](#is-ssh-running). In particular, you can search these logs for your local IP address, and the results will show what error messages were recorded for your logins. To find out what your local IP is, visit a website like https://www.whatismyip.com/. + +- Use your SSH client in verbose mode, which will show details for each part of the connection process. Verbose mode is invoked by passing the `-v` option. Passing more than one `v` increases the verbosity, up to three `v`s: -### Is your Firewall Blocking SSH? + ssh -v username@192.0.2.4 + ssh -vv username@192.0.2.4 + ssh -vvv username@192.0.2.4 -Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches SSH (22 by default but could be custom). \ No newline at end of file +Try pasting your logs into a search engine or searching for your logs in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md index 68fd5025d38..fcadd806208 100644 --- a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md +++ b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md @@ -2,82 +2,206 @@ author: name: Linode email: docs@linode.com -description: 'Troubleshooting steps to access your Linode after maintenance has been applied to your host.' +description: 'Troubleshooting steps for when you can't connect to a service that your Linode runs.' keywords: ['linux','reboot','lish'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -published: 2019-01-21 -modified: 2019-01-21 +published: 2019-01-25 +modified: 2019-01-25 modified_by: name: Linode title: "Troubleshooting Web Servers, Databases, and Other Services" --- -## Troubleshoot Other Services +This guide presents troubleshooting strategies for when you can't connect to your web server, database, or other service that your Linode runs. This guide assumes that you have access to SSH. If you can't log in with SSH, review [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) and then return to this guide. -If you can establish an SSH connection, but some of your other services aren't working, here's more troubleshooting goodness: +{{< disclosure-note "Where to go for help outside this guide" >}} +This guide explains how to use different troubleshooting commands on your Linode. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. + +If the information and logs you gather do not match a solution outlined here, consider searching the [Linode Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. + +Linode is not responsible for the configuration or installation of software on your Linode. Refer to Linode's [Scope of Support](/docs/platform/billing-and-support/support/#scope-of-support) for a description of which issues Linode Support can help with. +{{< /disclosure-note >}} + +## General Troubleshooting Strategies + +This section highlights troubleshooting strategies that apply to every service: ### Check if the Service is Running -EDITOR's NOTE: Also include instructions for non-systemd systems +The service may not be running. Check the status of the service: -On systemd systems, check the logs for the service. Example: +| Distribution | Command                                                                | +| ------------ | ------- | +| systemd systems (Arch, Ubuntu 16.04+, Debian 8+, CentOS 7+, etc) | `sudo systemctl status -l` | +| sysvinit systems (CentOS 6, Ubuntu 14.04, Debian 7, etc) | `sudo service status` | - sudo systemctl status mysql -l - sudo journalctl -u mysql +### Restart the Service -Try restarting the service: +If the service isn't running, try restarting it: - sudo systemctl restart mysql +| Distribution | Command | +| ------------ | ------- | +| systemd systems | `sudo systemctl restart ` | +| sysvinit systems | `sudo service restart` | -For Apache issues, review the [Troubleshooting Common Apache Issues](/docs/troubleshooting/troubleshooting-common-apache-issues/) +### Enable the Service -### Check if the Service is Enabled at Boot +If your system was recently rebooted, and the service didn't start automatically at boot, then it may not be enabled. The output of your Enable the service to prevent this from happening in the future: -Take instructions from https://www.linode.com/docs/troubleshooting/disaster-recovery-guide/#did-all-of-your-services-start-after-reboot +| Distribution | Command | +| ------------ | ------- | +| systemd systems | `sudo systemctl enable ` | +| sysvinit systems | `sudo chkconfig on` | -### Review Application Logs +### Check which IP Addresses and Ports your Services are Bound To -EDITOR'S NOTE: Not sure if we should include this section, but possibly: +Your service may be listening on an unexpected port, or it may not be bound to your public IP address (or whatever address is desirable). To view which address and ports and service is bound on, run the `netstat` command with these options: -Show locations for common application logs maintained outside of the system logs, e.g.: + sudo netstat -plntu -MySQL: /var/log/mysql + the slow queries log -Show how to turn slow queries log on +Review the application's documentation for help with setting the address and port it should bind to. -PHP: /var/log/php, or check phpinfo() from web browser to see where log file is +{{< note >}} +One notable example is if a service is only bound to a public IPv4 address and not also an IPv6 address. If a user connects to your Linode over IPv6, they will not be able to access the service. +{{< /note >}} -Apache: See dedicated apache guide +### Analyze Service Logs -NGINX: /var/log/nginx, or check log location in nginx config +If your service doesn't start normally, review your system logs and the logs for the service. Your system logs may be in the following locations: -### Is your Disk Full? +| Distribution | System Logs | +| ------------ | ------- | +| systemd systems | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | +| Ubuntu 14.04, Debian 7 | `/var/log/syslog` | +| CentOS 6 | `/var/log/messages` | -If you're having issues with your database service, one common reason a database might not run as expected is if your disk is full. To check on your current disk usage, run the `df` command: +Your service's log location will vary by the application, but they are often stored within `/var/log`. [The `less` command](/docs/quick-answers/linux/how-to-use-less/) is a useful tool for browsing through your logs. - df -h +Try pasting your log messages into a search engine or searching for your messages in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Linode](/docs/troubleshooting/rescue-and-rebuild/#rebuilding). + +### Review Firewall Rules + +If your service is running but your connections still fail, your firewall (which is likely implemented by the `iptables` software) may be blocking the connections. To review your current firewall ruleset, run: + + sudo iptables-save # displays IPv4 rules + sudo ip6tables-save # displays IPv6 rules + +{{< note >}} +Your deployment may be running FirewallD or UFW, which are frontend software packages used to more easily manage your iptables rules. Run these commands to find out if you are running either package: + + sudo ufw status + sudo firewall-cmd --state + +Review [How to Configure a Firewall with UFW](/docs/security/firewalls/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/security/firewalls/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. +{{< /note >}} + +For example, a rule which allows incoming HTTP traffic could look like this: + +{{< output >}} +-A INPUT -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT +{{< /output >}} + +Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. + +### Disable Firewall Rules + +In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling afterward it with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. + +1. Create a temporary backup of your current iptables: + + sudo iptables-save > ~/iptables.txt + +1. Set the `INPUT`, `FORWARD` and `OUTPUT` packet policies as `ACCEPT`: + + sudo iptables -P INPUT ACCEPT + sudo iptables -P FORWARD ACCEPT + sudo iptables -P OUTPUT ACCEPT + +1. Flush the `nat` table that is consulted when a packet that creates a new connection is encountered: + + sudo iptables -t nat -F + +1. Flush the `mangle` table that is used for specialized packet alteration: + + sudo iptables -t mangle -F + +1. Flush all the chains in the table: + + sudo iptables -F + +1. Delete every non-built-in chain in the table: + + sudo iptables -X + +1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the file you save your IPv6 rules to (e.g. `~/ip6tables.txt`). + +## Troubleshoot Web Servers + +If your web server is not running or if connections are timing out, review the [general troubleshooting strategies](#general-troubleshooting-strategies). {{< note >}} -Note about how this is not the same thing as the reported unallocated space in the Linode Manager. +Troubleshooting specific to Apache is outlined in [Troubleshooting Common Apache Issues](http://localhost:1313/docs/troubleshooting/troubleshooting-common-apache-issues/#check-virtual-host-definitions). {{< /note >}} -Include instructions for how to resolve this situation: +If your web server is responding with an error code, your troubleshooting will vary by what code is returned. For more detailed information about each request that's failing, read your web server's logs. Here are some commands that can help you find your web server's logs: + +- **Apache:** + + grep ErrorLog -r /etc/apache2 # On Ubuntu, Debian + grep ErrorLog -r /etc/httpd # On CentOS, Fedora, RHEL + +- **NGINX:** + + grep error_log -r /etc/nginx + +### Frequent Error Codes + +- **HTTP 401 Unauthorized, HTTP 403 Forbidden** + + The requesting user did not have sufficient permission or access to the requested URL. Review your web server authorization and access control configuration: + + - [Apache - Access Control](https://httpd.apache.org/docs/2.4/howto/access.html) -- Free up space on your disk by locating and removing files you don't need, using a tool like du or ncdu + - [Apache - Authentication and Authorization](https://httpd.apache.org/docs/2.4/howto/auth.html) -- Resize the disk if you have any unallocated space on your Linode + - [NGINX - Restricting Access with HTTP Basic Authentication](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/) -- Upgrade your Linode (either through a free upgrade if one is available or by resizing to a higher tier) and then resize your disk to use the newly available space. +- **HTTP 404 Not Found** + + The URL that a user requested could not be found by the web server. Review your web server configuraiton and make sure your website files are stored in the right location on your filesystem: + + - [Apache - Mapping URLs to Filesystem Locations](https://httpd.apache.org/docs/2.4/urlmapping.html) + + - [NGINX - How nginx processes a request](http://nginx.org/en/docs/http/request_processing.html) + +- **HTTP 500, 502, 503, 504** + + The web server requested a resource from a process it depends on, but the process did not respond as expected. For example, if a database query need to be performed for a web request, but the database isn't running, then a 50X code will be returned. To troubleshoot these issues, investigate the service that the web server depends on. + +### Troubleshoot Databases + +### Is your Disk Full? + +One common reason that a database may not start is if your disk is full. To check how much disk space you are using, run: + + df -h + +{{< note >}} +This reported disk usage is not the same as the reported storage usage in the Linode Manager. The storage usage in the Linode Manager refers to how much of the the disk space you pay for is allocated to your Linode's disks. The output of `df -h` shows how full those disks are. +{{< /note >}} -Or, consider putting those instructions into a new "How to Free Up Space on Your Linode" guide and then link to it. +You have several options for resolving disk space issues: -### Check which IP Addresses and Ports your Services Are Bound To +- Free up space on your disk by locating and removing files you don't need, using a tool like [ncdu](https://dev.yorhel.nl/ncdu). -Include instructions for using `netstat -plntu` to see which processes are listening on which ports and which addresses. Possible example problems: +- If you have any unallocated space on your Linode (storage that you pay for already but which isn't assigned to your disk), [resize your disk](/docs/quick-answers/linode-platform/resize-a-linode-disk/) to take advantage of the space. -- Web server is only listening on the IPv4 address, not also the IPv6 address (which is a common problem for users trying to connect to a website via a cell phone, as those networks seem to prefer IPv6). +- [Upgrade your Linode](/docs/platform/disk-images/resizing-a-linode/) to a higher-tier resource plan and then resize your disk to use the newly available space. If your Linode has a pending free upgrade for your storage space, you can choose to take this free upgrade to solve the issue. -- Service not listening on a standard port. Include markdown table of common services+ports + -### Is your Firewall Blocking the Service? +### Database Performance Troubleshooting -Link back to [Review Firewall Rules](#review-firewall-rules) back in basic connectivity section, add some context about looking for rules on the port that matches your service (e.g. 80 for HTTP). \ No newline at end of file +If your database is running but returning slowly, research how to opimize the database software for the resources your Linode has. If you run MySQL or MariaDB, read [How to Optimize MySQL Performance Using MySQLTuner](/docs/databases/mysql/how-to-optimize-mysql-performance-using-mysqltuner/). \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting/index.md b/docs/troubleshooting/troubleshooting/index.md index a45e6f9232a..ba95c76b7eb 100644 --- a/docs/troubleshooting/troubleshooting/index.md +++ b/docs/troubleshooting/troubleshooting/index.md @@ -2,86 +2,46 @@ author: name: Linode email: docs@linode.com -description: Our guide to performing basic troubleshooting. +description: An overview of different troubleshooting topics. keywords: ['troubleshooting'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['quick-start-troubleshooting/'] -modified: 2017-03-06 +modified: 2019-01-25 modified_by: - name: Nick Brewer + name: Linode published: 2012-04-05 -title: Troubleshooting +title: Troubleshooting Overview --- We know it's frustrating when you run into problems with your Linode. That's why we've created this introductory troubleshooting checklist. Use it to diagnose and resolve basic issues with your Linode through a process of elimination. Here's how: - Select the issue that best describes your problem -- Follow the troubleshooting steps in the order they are presented -- Once you've identified a problem, try fixing it with the suggested solutions -- If you can't find your problem in this guide, take a look at the [troubleshooting manuals](/docs/troubleshooting/) - -If the issue you're experiencing isn't listed here, or if the recommended solution doesn't help, please feel free to [contact our Support team](/docs/platform/billing-and-support/support/). - -## Linode is Slow or Unresponsive - -Use the following checklist if your Linode is running slowly or is completely unresponsive when you try to connect. - -### Is the Linode powered on? - -You can turn off a Linode, just like a physical computer. If you attempt to connect to your Linode when it's powered off, nothing will happen. To start troubleshooting, verify that your Linode is powered on. Here's how to check: - -1. Log in to the [Linode Manager](https://manager.linode.com). -2. Click the **Linode** tab. A list of your Linodes appears. -3. Select a Linode. The Linode's dashboard appears, as shown below. - - [![Check Linode boot status.](952-troubleshooting1-1-small.png)](953-troubleshooting1-1.png) - -4. Review the *Server Status* box on the sidebar to determine whether or not the server is powered on. -5. If the server is powered off, click the **Boot** button to turn it on. Wait a couple of minutes for the server to boot. - -If your Linode is already powered on, please continue to the next section. - -### Can you ping the Linode? -Now that you've established that your Linode is turned on, you should verify that it is connected to the Internet and responding to ICMP packets. Here's how: - -1. Open a terminal application on your computer. -2. Enter the following command, replacing `123.456.789.0` with the IP address of your Linode: +- Follow the troubleshooting steps in the order they are presented - ping 123.456.789.0 +- Once you've identified a problem, try fixing it with the suggested solutions -3. The terminal application should be able to ping your server, as shown below: +- If you can't find your problem in this guide, take a look at the [troubleshooting manuals](/docs/troubleshooting/) - beaver:.ssh linodedemo$ ping 123.456.789.0 - PING 123.456.789.0 (123.456.789.0): 56 data bytes - 64 bytes from 123.456.789.0: icmp_seq=0 ttl=47 time=94.589 ms - 64 bytes from 123.456.789.0: icmp_seq=1 ttl=47 time=89.512 ms - 64 bytes from 123.456.789.0: icmp_seq=2 ttl=47 time=90.714 ms +{{< disclosure-note "Where to go for help outside this guide" >}} +This guide explains how to use different troubleshooting commands on your Linode. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. -4. If you cannot ping the server, there may be a problem. Skip to the next section and try accessing the Linode with LISH. By default, your server is configured to respond to `ping`, but if you configured your firewall to block ICMP packets, the absence of a response is normal. -5. If there is packet loss or high latency, follow the instructions in [Are you experiencing network issues?](/docs/troubleshooting/troubleshooting/#are-you-experiencing-network-issues) This section can help you diagnose and isolate networking errors. +If the information and logs you gather do not match a solution outlined here, consider searching the [Linode Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. -If you can successfully ping the server, please to continue to the next section. +Linode is not responsible for the configuration or installation of software on your Linode. Refer to Linode's [Scope of Support](/docs/platform/billing-and-support/support/#scope-of-support) for a description of which issues Linode Support can help with. +{{< /disclosure-note >}} -### Can you log in to LISH? +## Linode is Unresponsive -To verify that your Linode is operating correctly, you should try to log in with the Linode Shell (LISH), which provides out of band access to your Linode from the Linode Manager. Here's how: +If your Linode is unresponsive, either at the Lish console or to basic network requests, read through the [Troubleshooting Basic Connection Issues](/docs/troubleshooting/troubleshooting-basic-connection-issues/) guide. -1. Log in to the [Linode Manager](https://manager.linode.com). -2. Click the **Linode** tab. A list of your Linodes appears. -3. Select a Linode. The Linode's dashboard appears. -4. Click the **Remote Access** tab. -5. Select the **Launch Lish Console** link. The LISH console window appears. -6. Log in as `root` or another user. If you don't see a login prompt, press Enter. If you can't log in, [reset the root password](/docs/platform/accounts-and-passwords/#resetting-the-root-password) and try again. -7. If the console is not responding, [contact Linode support](/docs/platform/billing-and-support/support/). +## Linode is Slow - If you can log in, continue to the next section, even if there are error messages visible on the console. - - {{< note >}} -For more information about LISH, see [this guide](/docs/platform/manager/using-the-linode-shell-lish/). +{{< note >}} +You should follow all steps in the [Linode is Unresponsive](#linode-is-unresponsive) section before using this checklist. {{< /note >}} -### Is your disk full? +### Is your Disk Full? If your Linode's disk is full, this can cause performance degradation and instability for your applications. Use the following command to determine the free space on your Linode's filesystem: @@ -104,7 +64,6 @@ In this example, you can see that the root filesystem is 93% full. Here's a comm You can adjust the `+200M` value in this command as needed, to search for files above a specific size. - #### Deleted Files If a service deletes a file that it is no longer using, the file remains on your disk until the next time the service has been rebooted. In this example you'll see how deleted files belonging to Apache can take up space. @@ -126,177 +85,61 @@ This command will check the output of `lsof` for files marked as deleted, and wi To free up this space, you can simply restart the Apache process on your Linode. -### Is the Linode out of memory? +### Is the Linode Out of Memory? The applications on your Linode require a certain amount of physical memory to function correctly. If all of the available physical memory is consumed, your Linode could slow down, display out of memory errors, or become unresponsive. Here's how to tell if your Linode is out of memory: 1. Log in to the [Linode Manager](https://manager.linode.com). -2. Click the **Linode** tab. A list of your Linodes appears. -3. Select a Linode. The Linode's dashboard appears. -4. Click the **Remote Access** tab. -5. Select the **Launch Lish Console** link. The LISH console window appears. If memory errors are displayed in the LISH console, stop some running services to free up memory or upgrade to larger plan. -6. Your Linode might be out of memory even if you do not see any error messages in the LISH console. Execute the following command in the LISH console or a terminal window to determine whether or not your Linode still has free memory available: - - free -m - -7. Examine the output. The free memory available (in megabytes) is shown in the *-/+ buffers/cache* column and the *free* row, as shown below. - - [![Check free memory.](941-troubleshooting3-1.png)](941-troubleshooting3-1.png) - -8. A lack of free memory may indicate that an application is consuming all of your available memory. To see a list of running processes sorted by memory usage, execute the following command in the LISH console or a terminal window: - - ps -eo pmem,pcpu,rss,vsize,args --sort -pmem | less - -9. If an application is consuming all of your available memory, you have three options. You can kill the application, change the application's settings to reduce its memory footprint, or [upgrade your Linode](https://www.linode.com/pricing) to a larger plan. -10. To reduce the memory footprint of common applications like Apache and MySQL, see [Troubleshooting Memory and Networking Issues](/docs/troubleshooting/troubleshooting-memory-and-networking-issues/). +1. Click the **Linode** tab. A list of your Linodes appears. +1. Select a Linode. The Linode's dashboard appears. +1. Click the **Remote Access** tab. +1. Select the **Launch Lish Console** link. The LISH console window appears. If memory errors are displayed in the LISH console, stop some running services to free up memory or upgrade to larger plan. +1. Read through the [Troubleshooting Memory and Networking Issues](/docs/troubleshooting/troubleshooting-memory-and-networking-issues/) guide for troubleshooting commands which display your memory use. +1. If an application is consuming all of your available memory, you have three options. You can kill the application, change the application's settings to reduce its memory footprint, or [upgrade your Linode](https://www.linode.com/pricing) to a larger plan. If your Linode is not out of memory, continue to the next section. -### Are you experiencing network issues? - -Network issues between your desktop computer and the data center can make your server appear slow or unavailable. You can check for issues with *upstream providers* by following the instructions in [Diagnosing Network Issues with MTR](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/) to generate *my traceroute* (MTR) reports. MTR combines the functionality of the ping and traceroute programs in a single tool that can help diagnose and isolate networking problems. If the MTR reports indicate that there is a networking issue, use the following list to try resolving the issue yourself before contacting Linode support: - -- Most routing issues displayed in MTR reports are temporary and clear up within 24 hours. -- If you have experienced degraded service for an extended period of time, you can contact a service provider about the issues you're experiencing. Be sure to send MTR reports and any other relevant data. -- Network congestion over long distances and during peak times is normal. We recommended positioning hosts and resources as geographically close to the targeted audience as possible. - -When contacting [Linode support](/docs/platform/billing-and-support/support/) for assistance, please include the output of two MTR reports; one from your local network to your Linode, and another from your Linode to your local network's IP address. You can use a website such as [whatsmyip.org](http://www.whatsmyip.org/) to determine the IP address of your local network. If you're not able to connect to your Linode over SSH, you can connect using the [Lish](/docs/platform/manager/using-the-linode-shell-lish/) console to generate a report. - -### Is there a Disk I/O bottleneck? +### Is there a Disk I/O Bottleneck? Disk input/output (I/O) bottlenecks can occur when an application or service is reading or writing an excessive amount of information to disk and the processor has to wait to process the information. High I/O wait can significantly slow down your server. Here's how to tell if your server currently has an I/O bottleneck: 1. Open a terminal window and log in to your Linode via SSH. -2. Enter `top` to access the `top` monitoring utility. The screen shown below appears. +1. Enter `top` to access the `top` monitoring utility. The screen shown below appears. [![Check for Disk I/O bottleneck.](939-troubleshooting2.png)](939-troubleshooting2.png) -3. Examine the I/O wait percentage, as shown above. If the number is zero, your server does not currently have a bottleneck. -4. If your I/O wait percentage is above zero, verify that your server has enough free memory available. In many cases, high I/O is an indication that your server has started "swapping," or using disk space as memory. -5. If your server has free memory available and is not using swap space, use `iotop` or [vmstat](/docs/uptime/monitoring/use-vmstat-to-monitor-system-performance/) to find the application responsible for the excessive I/O. Databases are the usual suspects. You may need to stop and/or reconfigure the application. +1. Examine the I/O wait percentage, as shown above. If the number is zero, your server does not currently have a bottleneck. +1. If your I/O wait percentage is above zero, verify that your server has enough free memory available. In many cases, high I/O is an indication that your server has started "swapping," or using disk space as memory. +1. If your server has free memory available and is not using swap space, use `iotop` or [vmstat](/docs/uptime/monitoring/use-vmstat-to-monitor-system-performance/) to find the application responsible for the excessive I/O. Databases are the usual suspects. You may need to stop and/or reconfigure the application. {{< note >}} You must run `iotop` as `root` or with `sudo`. {{< /note >}} -6. If you cannot determine the source of the IO bottleneck, contact [Linode support](/docs/platform/billing-and-support/support/) for assistance. +1. If you cannot determine the source of the IO bottleneck, contact [Linode support](/docs/platform/billing-and-support/support/) for assistance. Since `top` only reports what is currently happening, and most I/O issues are temporary, it helps to have a monitoring utility set up so you can see a graph of I/O trends and spot potential issues *before* they become major problems. See the guides in [Server Monitoring](/docs/uptime/monitoring/) for instructions on setting up a server monitoring utility. ## Website is Not Loading -Use the following checklist if your website is not loading when you try to connect to it. +If your website is unresponsive or not loading correctly, read through the [Troubleshooting Web Servers, Databases, and Other Services](/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/) guide. - {{< note >}} -You should follow all steps in the [Linode is Slow or Unresponsive](#linode-is-slow-or-unresponsive) section before using this checklist. +{{< note >}} +You should follow all steps in the [Linode is Slow](#linode-is-slow) section before following this guide. {{< /note >}} -### Have you added DNS records? - -To host a website with a domain name, you must set the domain's name servers to point to Linode. You also need to add DNS records for the domain in the Linode Manager. For instructions, see [Adding DNS Records](/docs/websites/hosting-a-website/#add-dns-records). Please note that it can take up to 24 hours for DNS changes to be reflected. - -Continue to the next section if you have pointed your domain name at Linode, added DNS records, and waited at least 24 hours. - -### Is the web server running? - -A web server like Apache should automatically start when you boot your Linode and stay running until you shut it down. However, web servers occasionally crash and need to be manually restarted. If your website is unresponsive, you should verify that the web server is running. Here's how: - -1. Open a terminal window and log in to your Linode via SSH. -2. If you are running Apache, enter the following command. (If you are using a different web server, replace `apache2` with the name of your web server.) : - - sudo service apache2 status - -3. If Apache is running, you will see the following status message: - - Apache is running (pid 25931) - -4. If Apache is not running, try starting it by entering the following command: - - sudo service apache2 start - -5. Apache should start normally. If it doesn't, you'll need to troubleshoot the issue to resolution. - -If the web server is running, continue to the next section. - -### Is the database running? - -The database running on your Linode is an integral part of many content management systems, like WordPress and Drupal. Like the web server, databases occasionally crash and need to be manually restarted. If your website is unresponsive, you should verify that the database is running. Here's how: - -1. If you are running MySQL, enter the following command. (If you are using a different database, replace `mysql` with the name of your database.) : - - sudo service mysql status - -2. If MySQL is running, you will see the following status message: - - mysql start/running, process 20611 - -3. If MySQL is not running, try starting it by entering the following command: - - sudo service mysql start - -4. MySQL should start normally. If it doesn't, you'll need to troubleshoot the issue to resolution. - -If the database is running, continue to the next section. - -### Is port 80 or 443 blocked? - -All web traffic is transferred over ports 80 and 443, so it's important to leave these ports open in your server's firewall. (Port 443 is generally only used for secure traffic encrypted with an SSL certificate.) If you previously configured an `iptables` firewall for your server and your website is unresponsive, you should check the firewall rules and verify that those ports are not blocked. Here's how: - -1. Check your Linode's default firewall rules by entering the following command: - - sudo iptables -L -nv - -2. Examine the output. If you previously configured a firewall with `iptables`, you should see the lines shown below: - - 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 - 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 - -3. If those lines are not present, your firewall rules may be blocking traffic on ports 80 or 443. Review the instructions in [Creating a Firewall](/docs/securing-your-server/#configure-a-firewall) to revise and implement new firewall rules. -4. Check for default `ACCEPT` and catch-all rules that send traffic transferred over ports 80 or 443 to `DROP` or `REJECT`. - -If your firewall is not blocking ports 80 or 443, continue to the next section. - -### Are the files in correct directory? - -If your website is unavailable, verify that you uploaded the files for the website to the correct directory on your server. By default, Apache looks for files in `/usr/local/apache2`, but if you followed the instructions in the [Hosting a Website](/docs/websites/hosting-a-website/) guide, you'll want to place your files in `~/public/example.com/public`, where `example.com` is the name of your domain name. - -If the files are in the correct directory, continue to the next section. - -### Are virtual hosts correctly configured? - -If you're hosting more than website on your Linode, verify that you correctly configured the virtual host configuration files. Review the instructions for [Configuring Name Based Virtual Hosts](/docs/websites/hosting-a-website/#configure-name-based-virtual-hosts) and the [web server reference manuals](/docs/web-servers/). - -### Did you add a new IP address? - -If you recently added a new IP address for an SSL certificate and it's not working, try rebooting your server. The reboot is required to activate the new IP address. You should have also configured a virtual host for the new IP address. Review the instructions for [Configuring Name Based Virtual Hosts](/docs/websites/hosting-a-website/#configure-name-based-virtual-hosts) and the [web server reference manuals](/docs/web-servers/). - ## Can't Connect via SSH or FTP -Use the following checklist if you cannot connect to your Linode via SSH or an FTP client application. +If you can't connect to your Linode over SSH, read through the [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) guide. - {{< note >}} -You should follow all steps in the [Linode is Slow or Unresponsive](#linode-is-slow-or-unresponsive) section before using this checklist. +{{< note >}} +You should follow all steps in the [Linode is Slow](#linode-is-slow) section before following this guide. {{< /note >}} -### Are you using Telnet or FTP? +### Are You Using Telnet or FTP? Telnet and FTP are disabled on your Linode by default, and we strongly recommend that you do not use those protocols. Instead, please use Secure Shell (SSH) and SSH File Transfer Protocol (SFTP) - the secure versions of the Telnet and FTP protocols. All Linodes come with an SSH server enabled, and you can connect to port 22 with SSH and SFTP clients. For more information, see [Connecting to Your Linode](/docs/getting-started/#connect-to-your-linode-via-ssh). -### Is port 22 blocked? - -The SSH and SFTP protocols operate over port 22, so you will not be able to connect to your Linode if that port is blocked by your firewall rules. If you previously configured an `iptables` firewall for your server and you cannot connect to your server with a SSH or SFTP client, you should check the firewall rules and verify that those ports are not blocked. Here's how: - -1. Check your Linode's default firewall rules by entering the following command: - - sudo iptables -L -nv - -2. Examine the output. If you previously configured a firewall with `iptables`, you should see the line shown below: - - 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 - -3. If that line is not present, your firewall rules may be blocking traffic on ports 80 or 443. Review the instructions in [Securing Your Server](/docs/security/securing-your-server/#configure-a-firewall) to revise and implement new firewall rules. -4. Check for default `ACCEPT` and catch-all rules that send traffic transferred over port 22 to `DROP` or `REJECT`. - ## Forgot My Username or Password ### Linode User/Root Password @@ -319,18 +162,18 @@ If you've followed these steps, but you're still having trouble accessing your a Use the following checklist if the Linode Manager is displaying "incorrect" information. -### Did you recently change your account? +### Did You Recently Change your Account? If you recently created a new account, resized an existing Linode, or added extra bandwidth, the bandwidth displayed in the Linode Manager will be prorated for the amount of time left in the current billing cycle. For example, if you create an account on the 15th day of the month, the Manager will indicate that your account has been allocated half of the plan's bandwidth for the current month. This information is an accurate representation of the bandwidth available for the rest of the billing period. When then next billing period starts, the Manager will indicate that all of the plan's bandwidth is available. -### Did you add additional storage? +### Did You Add Additional Storage? If you recently upgraded your plan, your Linode won't be able to take advantage of the additional space until you resize the disk. You can use the Linode Manager to see if there's additional storage space available for disks: 1. Log in to the [Linode Manager](https://manager.linode.com). -2. Click the **Linode** tab. A list of your Linodes appears. -3. Select a Linode. The Linode's dashboard appears. -4. Examine the *Storage* pane on the sidebar, as shown below. If you have free storage space, you can allocate that space to your existing disks. +1. Click the **Linode** tab. A list of your Linodes appears. +1. Select a Linode. The Linode's dashboard appears. +1. Examine the *Storage* pane on the sidebar, as shown below. If you have free storage space, you can allocate that space to your existing disks. [![Resize disks.](944-troubleshooting4-1.png)](944-troubleshooting4-1.png) From f4d0cb1efa553923c1d0a5fc2ae7cf998b4d4927 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Fri, 25 Jan 2019 09:11:43 -0500 Subject: [PATCH 13/23] Rename slug of Basic Connection Issues guide to match title --- .../index.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/troubleshooting/{troubleshooting-basic-connectivity-issues => troubleshooting-basic-connection-issues}/index.md (100%) diff --git a/docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md similarity index 100% rename from docs/troubleshooting/troubleshooting-basic-connectivity-issues/index.md rename to docs/troubleshooting/troubleshooting-basic-connection-issues/index.md From e0cacf40f4f4e64faef1c18e0aec1547398e50e5 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Fri, 25 Jan 2019 09:16:18 -0500 Subject: [PATCH 14/23] Fix YAML syntax error --- .../index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md index fcadd806208..a7dc33613ae 100644 --- a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md +++ b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md @@ -2,7 +2,7 @@ author: name: Linode email: docs@linode.com -description: 'Troubleshooting steps for when you can't connect to a service that your Linode runs.' +description: "Troubleshooting steps for when you can't connect to a service that your Linode runs." keywords: ['linux','reboot','lish'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' published: 2019-01-25 From 08a2e637bbba272e1cc72bc8fc83a01558c9c938 Mon Sep 17 00:00:00 2001 From: nmelehan Date: Fri, 25 Jan 2019 09:17:42 -0500 Subject: [PATCH 15/23] Deprecating old disaster recovery guide --- docs/troubleshooting/disaster-recovery-guide/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/troubleshooting/disaster-recovery-guide/index.md b/docs/troubleshooting/disaster-recovery-guide/index.md index f31b18f28cc..4626b328efe 100644 --- a/docs/troubleshooting/disaster-recovery-guide/index.md +++ b/docs/troubleshooting/disaster-recovery-guide/index.md @@ -5,6 +5,8 @@ author: description: 'Troubleshooting steps to access your Linode after maintenance has been applied to your host.' keywords: ['linux','reboot','lish'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' +deprecated: true +deprecated_link: 'troubleshooting/troubleshooting-basic-connection-issues/' published: 2018-07-27 modified: 2018-07-27 modified_by: From a68f45b645dc1b5838b35a97f437eef853421a2a Mon Sep 17 00:00:00 2001 From: cwlinode Date: Mon, 28 Jan 2019 16:17:15 -0500 Subject: [PATCH 16/23] Copy edited --- .../index.md | 20 +++++++------- .../troubleshooting-ssh/index.md | 10 +++---- .../index.md | 26 +++++++++---------- 3 files changed, 25 insertions(+), 31 deletions(-) diff --git a/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md index 23d9c44f5c7..d4747c44213 100644 --- a/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md +++ b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md @@ -124,7 +124,7 @@ If you can boot your Linode normally and access the Lish console, you can contin ### Check for Network Route Problems -To diagnose routing problems, run and analyze an MTR report from your computer to your Linode. For instructions on how to use MTR, review Linode's [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). It is useful to run your MTR report for 100 cycles in order to get a good sample size (note that running a report with this many cycles can take more time to complete). This recommended command includes other helpful options: +To diagnose routing problems, run and analyze an MTR report from your computer to your Linode. For instructions on how to use MTR, review Linode's [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). It is useful to run your MTR report for 100 cycles in order to get a good sample size (note that running a report with this many cycles will take more time to complete). This recommended command includes other helpful options: mtr -rwbzc 100 -i 0.2 -rw 198.51.100.0 @@ -147,7 +147,7 @@ If you are located in China, and the output of your MTR report shows *high packe 7. 64.233.174.46 40.0% 10 39.6 40.4 39.4 46.9 2.3 8. gw-in-f147.1e100.net 40.0% 10 39.6 40.5 39.5 46.7 2.2 - This example report shows high persistent packet to the end of the route loss starting mid-way through the route at hop 3, which indicates an issue with the router at hop 3. If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. + This example report shows high persistent packet loss starting mid-way through the route at hop 3, which indicates an issue with the router at hop 3. If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. {{< note >}} If your route only shows packet loss at certain routers, and not through to the end of the route, then it is likely that those routers are purposefully limiting ICMP responses. This is generally not a problem for your connection. Linode's MTR guide provides more context for [packet loss issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#verify-packet-loss). @@ -209,19 +209,17 @@ If your MTR indicates a configuration issue within your Linode, you can confirm ### Open a Support Ticket with your MTR Results -Before opening a support ticket, you should also generate a *reverse MTR*. A reverse MTR is a report which you run from your Linode and which targets your local IP address. To run an MTR from your Linode, open and log in to your Lish console. To find out what your local IP is, visit a website like https://www.whatismyip.com/. +Before opening a support ticket, you should also generate a *reverse MTR* report. The MTR tool is run from your Linode and targets your machine's IP address on your local network, whether you're on your home LAN, for example, or public WiFi. To run an MTR from your Linode, log in to your Lish console. To find your local IP, visit a website like https://www.whatismyip.com/. Once you have generated your original MTR and your reverse MTR, [open a Linode support ticket](/docs/platform/billing-and-support/support/#contacting-linode-support), and include your reports and a description of the troubleshooting you've performed so far. Linode Support will try to help further diagnose the routing issue. ## Troubleshoot Network Configuration Issues -If you have determined that your network configuration is the cause of the problem, review the following troubleshooting suggestions. - -If you make any changes in an attempt to fix the issue, you can test those changes with these steps: +If you have determined that your network configuration is the cause of the problem, review the following troubleshooting suggestions. If you make any changes in an attempt to fix the issue, you can test those changes with these steps: 1. Run another MTR report (or [ping](/docs/troubleshooting/troubleshooting/#can-you-ping-the-linode) the Linode) from your computer to your Linode's IP. -1. If the report shows no packet loss, but you still can't access SSH or other services, this result indicates that your networking is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services) +1. If the report shows no packet loss but you still can't access SSH or other services, this result indicates that your network connection is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services) 1. If the report still shows the same packet loss, review the remaining troubleshooting suggestions in this section. @@ -335,7 +333,7 @@ Please note that your firewall will be down at this point, so you will need to r ### Was your Interface Renamed? -In your commands' output, you might notice that your 'eth0' interface is missing and replaced with another name (for example, `ensp` or `ensp0`). This behavior can be caused by systemd's [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) feature. +In your commands' output, you might notice that your `eth0` interface is missing and replaced with another name (for example, `ensp` or `ensp0`). This behavior can be caused by systemd's [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) feature. 1. Disable the use of Predictable Network Interface Names with these commands: @@ -348,8 +346,8 @@ In your commands' output, you might notice that your 'eth0' interface is missing If your interface is up but your networking is still down, your firewall (which is likely implemented by the `iptables` software) may be blocking all connections, including basic ping requests. To review your current firewall ruleset, run: - sudo iptables-save # displays IPv4 rules - sudo ip6tables-save # displays IPv6 rules + sudo iptables -L # displays IPv4 rules + sudo ip6tables -L # displays IPv6 rules {{< note >}} Your deployment may be running FirewallD or UFW, which are frontend software packages used to more easily manage your iptables rules. Run these commands to find out if you are running either package: @@ -360,7 +358,7 @@ Your deployment may be running FirewallD or UFW, which are frontend software pac Review [How to Configure a Firewall with UFW](/docs/security/firewalls/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/security/firewalls/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. {{< /note >}} -Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. +Firewall rulesets can vary widely. Review our [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. ### Disable Firewall Rules diff --git a/docs/troubleshooting/troubleshooting-ssh/index.md b/docs/troubleshooting/troubleshooting-ssh/index.md index c0bbef1cfab..bba742e4f7e 100644 --- a/docs/troubleshooting/troubleshooting-ssh/index.md +++ b/docs/troubleshooting/troubleshooting-ssh/index.md @@ -3,7 +3,7 @@ author: name: Linode email: docs@linode.com description: "Troubleshooting steps for when you can't connect to your Linode via SSH." -keywords: ['linux','reboot','lish'] +keywords: ['linux','reboot','lish','ssh'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' published: 2019-01-25 modified: 2019-01-25 @@ -158,7 +158,7 @@ If your service is running but your connections still fail, your firewall (which sudo ip6tables-save # displays IPv6 rules {{< note >}} -Your deployment may be running FirewallD or UFW, which are frontend software packages used to more easily manage your iptables rules. Run these commands to find out if you are running either package: +Your deployment may be running FirewallD or UFW, which are frontends used to more easily manage your iptables rules. Run these commands to find out if you are running either package: sudo ufw status sudo firewall-cmd --state @@ -166,19 +166,17 @@ Your deployment may be running FirewallD or UFW, which are frontend software pac Review [How to Configure a Firewall with UFW](/docs/security/firewalls/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/security/firewalls/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. {{< /note >}} -A rule which allows incoming SSH traffic could look like this: +Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. A rule which allows incoming SSH traffic could look like this: {{< output >}} -A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT {{< /output >}} -Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. - ### Disable Firewall Rules In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling afterward it with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. -1. Create a temporary backup of your current iptables: +1. Create a temporary backup of your current iptables rules: sudo iptables-save > ~/iptables.txt diff --git a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md index a7dc33613ae..fec408bdaf9 100644 --- a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md +++ b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md @@ -12,7 +12,7 @@ modified_by: title: "Troubleshooting Web Servers, Databases, and Other Services" --- -This guide presents troubleshooting strategies for when you can't connect to your web server, database, or other service that your Linode runs. This guide assumes that you have access to SSH. If you can't log in with SSH, review [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) and then return to this guide. +This guide presents troubleshooting strategies for when you can't connect to your web server, database, or other services running on your Linode. This guide assumes that you have access to SSH. If you can't log in with SSH, review [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) and then return to this guide. {{< disclosure-note "Where to go for help outside this guide" >}} This guide explains how to use different troubleshooting commands on your Linode. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. @@ -42,7 +42,7 @@ If the service isn't running, try restarting it: | Distribution | Command | | ------------ | ------- | | systemd systems | `sudo systemctl restart ` | -| sysvinit systems | `sudo service restart` | +| sysVinit systems | `sudo service restart` | ### Enable the Service @@ -51,13 +51,13 @@ If your system was recently rebooted, and the service didn't start automatically | Distribution | Command | | ------------ | ------- | | systemd systems | `sudo systemctl enable ` | -| sysvinit systems | `sudo chkconfig on` | +| sysVinit systems | `sudo chkconfig on` | ### Check which IP Addresses and Ports your Services are Bound To -Your service may be listening on an unexpected port, or it may not be bound to your public IP address (or whatever address is desirable). To view which address and ports and service is bound on, run the `netstat` command with these options: +Your service may be listening on an unexpected port, or it may not be bound to your public IP address (or whatever address is desirable). To view which address and ports and service is bound on, run the `ss` command with these options: - sudo netstat -plntu + sudo ss -atpu Review the application's documentation for help with setting the address and port it should bind to. @@ -67,7 +67,7 @@ One notable example is if a service is only bound to a public IPv4 address and n ### Analyze Service Logs -If your service doesn't start normally, review your system logs and the logs for the service. Your system logs may be in the following locations: +If your service doesn't start normally, review your system logs for the service. Your system logs may be in the following locations: | Distribution | System Logs | | ------------ | ------- | @@ -75,7 +75,7 @@ If your service doesn't start normally, review your system logs and the logs for | Ubuntu 14.04, Debian 7 | `/var/log/syslog` | | CentOS 6 | `/var/log/messages` | -Your service's log location will vary by the application, but they are often stored within `/var/log`. [The `less` command](/docs/quick-answers/linux/how-to-use-less/) is a useful tool for browsing through your logs. +Your service's log location will vary by the application, but they are often stored in `/var/log`. [The `less` command](/docs/quick-answers/linux/how-to-use-less/) is a useful tool for browsing through your logs. Try pasting your log messages into a search engine or searching for your messages in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Linode](/docs/troubleshooting/rescue-and-rebuild/#rebuilding). @@ -83,11 +83,11 @@ Try pasting your log messages into a search engine or searching for your message If your service is running but your connections still fail, your firewall (which is likely implemented by the `iptables` software) may be blocking the connections. To review your current firewall ruleset, run: - sudo iptables-save # displays IPv4 rules - sudo ip6tables-save # displays IPv6 rules + sudo iptables -L # displays IPv4 rules + sudo ip6tables -L # displays IPv6 rules {{< note >}} -Your deployment may be running FirewallD or UFW, which are frontend software packages used to more easily manage your iptables rules. Run these commands to find out if you are running either package: +Your deployment may be running FirewallD or UFW, which are frontends used to more easily manage your iptables rules. Run these commands to find out if you are running either package: sudo ufw status sudo firewall-cmd --state @@ -95,14 +95,12 @@ Your deployment may be running FirewallD or UFW, which are frontend software pac Review [How to Configure a Firewall with UFW](/docs/security/firewalls/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/security/firewalls/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. {{< /note >}} -For example, a rule which allows incoming HTTP traffic could look like this: +Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. For example, a rule which allows incoming HTTP traffic could look like this: {{< output >}} -A INPUT -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT {{< /output >}} -Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. - ### Disable Firewall Rules In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling afterward it with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. @@ -168,7 +166,7 @@ If your web server is responding with an error code, your troubleshooting will v - **HTTP 404 Not Found** - The URL that a user requested could not be found by the web server. Review your web server configuraiton and make sure your website files are stored in the right location on your filesystem: + The URL that a user requested could not be found by the web server. Review your web server configuration and make sure your website files are stored in the right location on your filesystem: - [Apache - Mapping URLs to Filesystem Locations](https://httpd.apache.org/docs/2.4/urlmapping.html) From e7ba84c477de45d9616905eeb0183bf0dac31f21 Mon Sep 17 00:00:00 2001 From: cwlinode Date: Mon, 28 Jan 2019 16:25:25 -0500 Subject: [PATCH 17/23] Vale fixes --- ci/vale/dictionary.txt | 3 +++ .../troubleshooting-basic-connection-issues/index.md | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ci/vale/dictionary.txt b/ci/vale/dictionary.txt index 5cc972d90a7..450f75f3b02 100644 --- a/ci/vale/dictionary.txt +++ b/ci/vale/dictionary.txt @@ -144,6 +144,7 @@ chmod chown chromecast chroot +chrooting chrooted citad cjones @@ -818,6 +819,7 @@ nano nanode natively nbox +ncdu ncurses neo neomake @@ -1266,6 +1268,7 @@ syslog systemctl systemd systemname +sysvinit targ tasksel taskserver diff --git a/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md index d4747c44213..fb8347875f6 100644 --- a/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md +++ b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md @@ -40,7 +40,7 @@ To learn about Lish in more detail, and for instructions on how to connect to yo When your network traffic leaves your computer for your Linode, it travels through a series of routers that are administered by your internet service provider, by Linode's transit providers, and by the various organizations that form the [Internet's backbone](https://en.wikipedia.org/wiki/Internet_backbone). It is possible to analyze the route that your traffic takes for possible service interruptions using a tool called [MTR](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/). -MTR is similar to the [traceroute](https://en.wikipedia.org/wiki/Traceroute) tool, in that it will trace and display your traffic's route. MTR also runs several iterations of its tracing algorithim, which means that it can report statistics like average packet loss and latency over the period that the MTR test runs. +MTR is similar to the [traceroute](https://en.wikipedia.org/wiki/Traceroute) tool, in that it will trace and display your traffic's route. MTR also runs several iterations of its tracing algorithm, which means that it can report statistics like average packet loss and latency over the period that the MTR test runs. Review the installation instructions in Linode's [Diagnosing Network Issues with MTR](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#install-mtr) guide and install MTR on your computer. From db1bfac8ffe94b69011514b7513677f590b1f113 Mon Sep 17 00:00:00 2001 From: cwlinode Date: Mon, 28 Jan 2019 16:33:23 -0500 Subject: [PATCH 18/23] Spelling fix --- .../index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md index fec408bdaf9..08eabafbc47 100644 --- a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md +++ b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md @@ -202,4 +202,4 @@ Would be nice to eventually have these instructions in a new "How to Free Up Spa ### Database Performance Troubleshooting -If your database is running but returning slowly, research how to opimize the database software for the resources your Linode has. If you run MySQL or MariaDB, read [How to Optimize MySQL Performance Using MySQLTuner](/docs/databases/mysql/how-to-optimize-mysql-performance-using-mysqltuner/). \ No newline at end of file +If your database is running but returning slowly, research how to optimize the database software for the resources your Linode has. If you run MySQL or MariaDB, read [How to Optimize MySQL Performance Using MySQLTuner](/docs/databases/mysql/how-to-optimize-mysql-performance-using-mysqltuner/). \ No newline at end of file From d2375177b0065f8b3e8478e449aa71f2709819ff Mon Sep 17 00:00:00 2001 From: leslitagordita Date: Wed, 30 Jan 2019 12:26:40 -0500 Subject: [PATCH 19/23] Troubleshooting Overview edits --- .../disk-storage-allocation.png | Bin 0 -> 385303 bytes docs/troubleshooting/troubleshooting/index.md | 108 +++++++++++------- 2 files changed, 68 insertions(+), 40 deletions(-) create mode 100644 docs/troubleshooting/troubleshooting/disk-storage-allocation.png diff --git a/docs/troubleshooting/troubleshooting/disk-storage-allocation.png b/docs/troubleshooting/troubleshooting/disk-storage-allocation.png new file mode 100644 index 0000000000000000000000000000000000000000..8d04ef0bead4cd3dad0978abaaa1edbed46ffe29 GIT binary patch literal 385303 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
    a?E=gQ5k2X_uqQijB;1$SKBrw!e5ct^ePI7 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 literal 0 HcmV?d00001 diff --git a/docs/troubleshooting/troubleshooting/index.md b/docs/troubleshooting/troubleshooting/index.md index ba95c76b7eb..846f8fcd228 100644 --- a/docs/troubleshooting/troubleshooting/index.md +++ b/docs/troubleshooting/troubleshooting/index.md @@ -13,22 +13,22 @@ published: 2012-04-05 title: Troubleshooting Overview --- -We know it's frustrating when you run into problems with your Linode. That's why we've created this introductory troubleshooting checklist. Use it to diagnose and resolve basic issues with your Linode through a process of elimination. Here's how: +This guide provides common troubleshooting scenarios you may encounter when managing your Linode. Each troubleshooting section provides ways to further diagnose your issue and, when applicable, corresponding steps to resolve it. We recommend using this guide in the following way: -- Select the issue that best describes your problem +- Browse the guide's headings and select the issue that best describes your problem. -- Follow the troubleshooting steps in the order they are presented +- Follow the troubleshooting steps in the order they are presented. -- Once you've identified a problem, try fixing it with the suggested solutions +- Once you've confirmed a specific problem, try fixing it with the suggested solutions. -- If you can't find your problem in this guide, take a look at the [troubleshooting manuals](/docs/troubleshooting/) +- If you can't find your problem in this guide, take a look at some of our other [troubleshooting manuals](/docs/troubleshooting/). -{{< disclosure-note "Where to go for help outside this guide" >}} +{{< disclosure-note "Additional resources for help" >}} This guide explains how to use different troubleshooting commands on your Linode. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. If the information and logs you gather do not match a solution outlined here, consider searching the [Linode Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. -Linode is not responsible for the configuration or installation of software on your Linode. Refer to Linode's [Scope of Support](/docs/platform/billing-and-support/support/#scope-of-support) for a description of which issues Linode Support can help with. +Linode is not responsible for the configuration or installation of software on your Linode. Refer to Linode's [Scope of Support](/docs/platform/billing-and-support/support/#scope-of-support) for a description of the issues with which Linode Support can help. {{< /disclosure-note >}} ## Linode is Unresponsive @@ -38,7 +38,7 @@ If your Linode is unresponsive, either at the Lish console or to basic network r ## Linode is Slow {{< note >}} -You should follow all steps in the [Linode is Unresponsive](#linode-is-unresponsive) section before using this checklist. +You should follow all steps in the [Troubleshooting Basic Connection Issues](/docs/troubleshooting/troubleshooting-basic-connection-issues/) guide before using the checklist in this section. {{< /note >}} ### Is your Disk Full? @@ -47,8 +47,9 @@ If your Linode's disk is full, this can cause performance degradation and instab df -h -The output will look similar to this: +The output will resemble the following example: +{{< output >}} Filesystem Size Used Avail Use% Mounted on /dev/root 189G 166G 14G 93% / devtmpfs 3.9G 0 3.9G 0% /dev @@ -57,16 +58,17 @@ The output will look similar to this: tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup tmpfs 799M 0 799M 0% /run/user/1000 +{{}} -In this example, you can see that the root filesystem is 93% full. Here's a command you can use to list all files over 200MB on your root filesystem: +In the example output, you can see that the root filesystem is 93% full. Issue the following command to list all files over 200MB on your root filesystem: sudo find / -xdev -type f -size +200M -exec ls -lah {} \; -You can adjust the `+200M` value in this command as needed, to search for files above a specific size. +You can adjust the `+200M` value in this command, as needed, to search for files above a specific size. #### Deleted Files -If a service deletes a file that it is no longer using, the file remains on your disk until the next time the service has been rebooted. In this example you'll see how deleted files belonging to Apache can take up space. +If a service deletes a file that it is no longer needed, the file remains on your disk until the next time the service has been rebooted. The following example demonstrates how deleted files belonging to Apache can continue to take up space after they have been deleted. Use the following command to check for deleted files that are currently open: @@ -74,6 +76,7 @@ Use the following command to check for deleted files that are currently open: This command will check the output of `lsof` for files marked as deleted, and will convert the file sizes so that they're more easily readable. In this example Apache is holding on to several old files: +{{< output >}} apache2 32341 www-data 13u REG 8,0 0 24K /tmp/.ZendSem.OmCTIC (deleted) apache2 32341 www-data 14w REG 0,19 0 243M /run/lock/apache2/proxy.13748 (deleted) apache2 32341 www-data 15w REG 0,19 0 243M /run/lock/apache2/mpm-accept.13748 (deleted) @@ -82,39 +85,53 @@ This command will check the output of `lsof` for files marked as deleted, and wi apache2 32342 www-data 14w REG 0,19 0 243M /run/lock/apache2/proxy.13748 (deleted) apache2 32342 www-data 15wW REG 0,19 0 243M /run/lock/apache2/mpm-accept.13748 (deleted) apache2 32343 www-data 12w REG 0,19 0 158M /run/lock/apache2/ssl-cache.13747 (deleted) +{{}} -To free up this space, you can simply restart the Apache process on your Linode. +To free up this space, you can simply restart the Apache service on your Linode. This command restarts the Apache service using [systemd](/docs/quick-answers/linux-essentials/what-is-systemd/) on Ubuntu 18.04: + + sudo systemd restart apache2 ### Is the Linode Out of Memory? The applications on your Linode require a certain amount of physical memory to function correctly. If all of the available physical memory is consumed, your Linode could slow down, display out of memory errors, or become unresponsive. Here's how to tell if your Linode is out of memory: -1. Log in to the [Linode Manager](https://manager.linode.com). -1. Click the **Linode** tab. A list of your Linodes appears. -1. Select a Linode. The Linode's dashboard appears. -1. Click the **Remote Access** tab. -1. Select the **Launch Lish Console** link. The LISH console window appears. If memory errors are displayed in the LISH console, stop some running services to free up memory or upgrade to larger plan. +1. Log in to the [Linode Cloud Manager](https://cloud.linode.com). +1. Click the **Linodes** link in the sidebar to view a list of all your Linodes. +1. Select a Linode to view its dashboard. +1. Click on the **Launch Console** link in the upper-right hand corner to launch the LISH Console. The LISH console window appears. If memory errors are displayed in the LISH console, stop some running services to free up memory or [upgrade to a larger plan](/docs/platform/disk-images/resizing-a-linode/). 1. Read through the [Troubleshooting Memory and Networking Issues](/docs/troubleshooting/troubleshooting-memory-and-networking-issues/) guide for troubleshooting commands which display your memory use. 1. If an application is consuming all of your available memory, you have three options. You can kill the application, change the application's settings to reduce its memory footprint, or [upgrade your Linode](https://www.linode.com/pricing) to a larger plan. + {{< disclosure-note "Steps for the Linode Classic Manager" >}} + If you are using the Linode Classic Manager, you can follow these steps: + + 1. Log in to the [Linode Classic Manager](https://manager.linode.com). + 1. Click the **Linode** tab. A list of your Linodes appears. + 1. Select a Linode. The Linode's dashboard appears. + 1. Click the **Remote Access** tab. + 1. Select the **Launch Lish Console** link. The LISH console window appears. If memory errors are displayed in the LISH console, stop some running services to free up memory or upgrade to larger plan. + 1. Read through the [Troubleshooting Memory and Networking Issues](/docs/troubleshooting/troubleshooting-memory-and-networking-issues/) guide for troubleshooting commands which display your memory use. + 1. If an application is consuming all of your available memory, you have three options. You can kill the application, change the application's settings to reduce its memory footprint, or [upgrade your Linode](https://www.linode.com/pricing) to a larger plan. + {{}} + If your Linode is not out of memory, continue to the next section. ### Is there a Disk I/O Bottleneck? -Disk input/output (I/O) bottlenecks can occur when an application or service is reading or writing an excessive amount of information to disk and the processor has to wait to process the information. High I/O wait can significantly slow down your server. Here's how to tell if your server currently has an I/O bottleneck: +Disk input/output (I/O) bottlenecks can occur when an application or service is reading or writing an excessive amount of information to disk and the processor has to wait to process the information. High I/O wait can significantly slow down your server. To determine if your server currently has an I/O bottleneck, follow the steps below: -1. Open a terminal window and log in to your Linode via SSH. +1. [Log in to your Linode via SSH](/docs/getting-started-new-manager/#connect-to-your-linode-via-ssh). 1. Enter `top` to access the `top` monitoring utility. The screen shown below appears. [![Check for Disk I/O bottleneck.](939-troubleshooting2.png)](939-troubleshooting2.png) 1. Examine the I/O wait percentage, as shown above. If the number is zero, your server does not currently have a bottleneck. -1. If your I/O wait percentage is above zero, verify that your server has enough free memory available. In many cases, high I/O is an indication that your server has started "swapping," or using disk space as memory. -1. If your server has free memory available and is not using swap space, use `iotop` or [vmstat](/docs/uptime/monitoring/use-vmstat-to-monitor-system-performance/) to find the application responsible for the excessive I/O. Databases are the usual suspects. You may need to stop and/or reconfigure the application. +1. If your I/O wait percentage is above zero, verify that your server has enough [free memory available](/docs/troubleshooting/troubleshooting/#is-the-linode-out-of-memory). In many cases, high I/O is an indication that your server has started "swapping," or using disk space as memory. +1. If your server has free memory available and is not using swap space, use `iotop` or [vmstat](/docs/uptime/monitoring/use-vmstat-to-monitor-system-performance/) to find the application responsible for the excessive I/O. Databases are often a source of excessive I/O. You may need to stop and/or reconfigure the application. {{< note >}} You must run `iotop` as `root` or with `sudo`. -{{< /note >}} + {{< /note >}} 1. If you cannot determine the source of the IO bottleneck, contact [Linode support](/docs/platform/billing-and-support/support/) for assistance. @@ -125,7 +142,7 @@ Since `top` only reports what is currently happening, and most I/O issues are te If your website is unresponsive or not loading correctly, read through the [Troubleshooting Web Servers, Databases, and Other Services](/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/) guide. {{< note >}} -You should follow all steps in the [Linode is Slow](#linode-is-slow) section before following this guide. +You should follow all steps in the [Linode is Slow](#linode-is-slow) section before following the [Troubleshooting Web Servers, Databases, and Other Services](/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/) guide. {{< /note >}} ## Can't Connect via SSH or FTP @@ -133,30 +150,30 @@ You should follow all steps in the [Linode is Slow](#linode-is-slow) section bef If you can't connect to your Linode over SSH, read through the [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) guide. {{< note >}} -You should follow all steps in the [Linode is Slow](#linode-is-slow) section before following this guide. +You should follow all steps in the [Linode is Slow](#linode-is-slow) section before following the [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) guide. {{< /note >}} ### Are You Using Telnet or FTP? -Telnet and FTP are disabled on your Linode by default, and we strongly recommend that you do not use those protocols. Instead, please use Secure Shell (SSH) and SSH File Transfer Protocol (SFTP) - the secure versions of the Telnet and FTP protocols. All Linodes come with an SSH server enabled, and you can connect to port 22 with SSH and SFTP clients. For more information, see [Connecting to Your Linode](/docs/getting-started/#connect-to-your-linode-via-ssh). +Telnet and FTP are disabled on your Linode by default, and we strongly recommend that you do not use those protocols. Instead, please use Secure Shell (SSH) and SSH File Transfer Protocol (SFTP) -- the secure versions of the Telnet and FTP protocols. All Linodes come with an SSH server enabled, and you can connect to port 22 with SSH and SFTP clients. For more information, see [Connecting to Your Linode](/docs/getting-started-new-manager/#connect-to-your-linode-via-ssh). ## Forgot My Username or Password ### Linode User/Root Password -If you've forgotten the password for the root user on your Linode, you can follow the our steps for [resetting the root password](/docs/platform/accounts-and-passwords/#resetting-the-root-password) from the Linode Manager. +If you've forgotten the password for the root user on your Linode, you can follow the steps for [resetting your root password](/docs/platform/manager/accounts-and-passwords-new-manager/#resetting-the-root-password) from the Linode Manager. -Once you have access to your Linode as the root user, you can reset the password for any additional system users with the `passwd` command. In this case, we'll reset the password for the `example` user: +Once you have access to your Linode as the root user, you can reset the password for any additional system users with the `passwd` command.The example resets the password for the `username` user: - passwd example + passwd username ### Linode Manager User -* If you forget your Linode Manager username, you can confirm it by supplying your email address [here](https://manager.linode.com/session/forgot/username). +* If you forget your Linode Manager username, you can confirm it by supplying your email address on the [Recover Username](https://login.linode.com/forgot/username) page. -* Assuming you know your Linode Manager username, but you've forgotten the password, you can retrieve it [here](https://manager.linode.com/session/forgot/password). +* Assuming you know your Linode Manager username, but you've forgotten the password, you can retrieve it on the [Forgot Password](https://login.linode.com/forgot/password) page. -If you've followed these steps, but you're still having trouble accessing your account, please [contact Support](/docs/platform/support/#contacting-linode-support). +If you've followed these steps, but you're still having trouble accessing your account, please [contact Support](//docs/platform/billing-and-support/support-new-manager/#contacting-linode-support). ## Linode Manager is Displaying "Incorrect" Information @@ -164,17 +181,28 @@ Use the following checklist if the Linode Manager is displaying "incorrect" info ### Did You Recently Change your Account? -If you recently created a new account, resized an existing Linode, or added extra bandwidth, the bandwidth displayed in the Linode Manager will be prorated for the amount of time left in the current billing cycle. For example, if you create an account on the 15th day of the month, the Manager will indicate that your account has been allocated half of the plan's bandwidth for the current month. This information is an accurate representation of the bandwidth available for the rest of the billing period. When then next billing period starts, the Manager will indicate that all of the plan's bandwidth is available. +If you recently created a new account, resized an existing Linode, or added extra bandwidth, the bandwidth displayed in the Linode Cloud Manager will be prorated for the amount of time left in the current billing cycle. For example, if you create an account on the 15th day of the month, the Manager will indicate that your account has been allocated half of the plan's bandwidth for the current month. This information is an accurate representation of the bandwidth available for the rest of the billing period. When then next billing period starts, the Manager will indicate that all of the plan's bandwidth is available. View the [Billing and Payments](/docs/platform/billing-and-support/billing-and-payments-new-manager/) guide for more information. ### Did You Add Additional Storage? -If you recently upgraded your plan, your Linode won't be able to take advantage of the additional space until you resize the disk. You can use the Linode Manager to see if there's additional storage space available for disks: +If you recently upgraded your plan, your Linode won't be able to take advantage of the additional space until you resize the disk. You can use the Linode Cloud Manager to verify if there's additional storage space available for disks: + +1. Log in to the [Linode Cloud Manager](https://cloud.linode.com). +1. Click the **Linodes** link in the sidebar to view a list of your Linodes. +1. Select a Linode and the **Settings** tab. +1. Expand the **Advanced Configurations** section to view your disk storage allocation. If you have free storage space, you can allocate that space to your existing disks. + + [![Disk storage allocation](disk-storage-allocation.png)](disk-storage-allocation.png) + + Follow our steps for [resizing a disk](/docs/platform/disk-images/disk-images-and-configuration-profiles/#resizing-a-disk) to take advantage of the extra space. -1. Log in to the [Linode Manager](https://manager.linode.com). -1. Click the **Linode** tab. A list of your Linodes appears. -1. Select a Linode. The Linode's dashboard appears. -1. Examine the *Storage* pane on the sidebar, as shown below. If you have free storage space, you can allocate that space to your existing disks. + {{< disclosure-note "Steps for the Linode Classic Manager" >}} + If you are using the Linode Classic Manager, you can follow these steps: -[![Resize disks.](944-troubleshooting4-1.png)](944-troubleshooting4-1.png) + 1. Log in to the [Linode Manager](https://manager.linode.com). + 1. Click the **Linode** tab. A list of your Linodes appears. + 1. Select a Linode. The Linode's dashboard appears. + 1. Examine the *Storage* pane on the sidebar, as shown below. If you have free storage space, you can allocate that space to your existing disks. -Follow our steps for [resizing a disk](/docs/platform/disk-images/disk-images-and-configuration-profiles/#resizing-a-disk) to take advantage of the extra space. + [![Resize disks.](944-troubleshooting4-1.png)](944-troubleshooting4-1.png) + {{}} \ No newline at end of file From 3f4a790e41f344d85dc29e85c2855789a808530e Mon Sep 17 00:00:00 2001 From: leslitagordita Date: Fri, 1 Feb 2019 14:30:50 -0500 Subject: [PATCH 20/23] Copy edit: Troubleshooting Basic Connection Issues --- .../index.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md index fb8347875f6..4a6d4c8b146 100644 --- a/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md +++ b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md @@ -14,7 +14,7 @@ title: "Troubleshooting Basic Connection Issues" This guide presents troubleshooting strategies for Linodes that are unresponsive to any network access. One reason that a Linode may be unresponsive is if you recently performed a distribution upgrade or other broad software updates to your Linode, as those changes can lead to unexpected problems for your core system components. -Or, your server may be unresponsive after maintenance was applied by Linode to your server's host (frequently, this is correlated with software/distribution upgrades performed on your deployment prior to the host maintenance). This guide is designed as a useful resource for either of these scenarios. +Similarly, your server may be unresponsive after maintenance was applied by Linode to your server's host (frequently, this is correlated with software/distribution upgrades performed on your deployment prior to the host's maintenance). This guide is designed as a useful resource for either of these scenarios. If you can [ping](/docs/tools-reference/linux-system-administration-basics/#the-ping-command) your Linode, but you cannot access SSH or other services, this guide will not assist with troubleshooting those services. Instead, refer to the [Troubleshooting SSH](/docs/troubleshooting/troubleshooting-ssh/) or [Troubleshooting Web Servers, Databases, and Other Services](/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/) guides. @@ -38,15 +38,15 @@ To learn about Lish in more detail, and for instructions on how to connect to yo ### MTR -When your network traffic leaves your computer for your Linode, it travels through a series of routers that are administered by your internet service provider, by Linode's transit providers, and by the various organizations that form the [Internet's backbone](https://en.wikipedia.org/wiki/Internet_backbone). It is possible to analyze the route that your traffic takes for possible service interruptions using a tool called [MTR](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/). +When your network traffic leaves your computer to your Linode, it travels through a series of routers that are administered by your internet service provider, by Linode's transit providers, and by the various organizations that form the [Internet's backbone](https://en.wikipedia.org/wiki/Internet_backbone). It is possible to analyze the route that your traffic takes for possible service interruptions using a tool called [MTR](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/). -MTR is similar to the [traceroute](https://en.wikipedia.org/wiki/Traceroute) tool, in that it will trace and display your traffic's route. MTR also runs several iterations of its tracing algorithm, which means that it can report statistics like average packet loss and latency over the period that the MTR test runs. +MTR is similar to the [traceroute](/docs/tools-reference/linux-system-administration-basics/#the-traceroute-command) tool, in that it will trace and display your traffic's route. MTR also runs several iterations of its tracing algorithm, which means that it can report statistics like average packet loss and latency over the period that the MTR test runs. Review the installation instructions in Linode's [Diagnosing Network Issues with MTR](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#install-mtr) guide and install MTR on your computer. ## Is your Linode Running? -Log in to the Linode Manager and inspect the Linode's dashboard. If the Linode is powered off, [turn it on](/docs/getting-started/#boot-your-linode). +Log in to the [Linode Manager](https://manager.linode.com/) and inspect the Linode's dashboard. If the Linode is powered off, turn it on. ### Inspect the Lish Console @@ -56,7 +56,7 @@ If the Linode is listed as running in the Manager, or after you boot it from the The root user is available in Lish even if root user login is disabled in your SSH configuration. {{< /note >}} -1. If you can log in at the Lish console, move on to [diagnosing network connection issues](#diagnosing-network-connection-issues). +1. If you can log in at the Lish console, move on to the [diagnose network connection issues](#diagnose-network-connection-issues) section of this guide. If you see a log in prompt, but you have forgotten the credentials for your Linode, follow the instructions for [resetting your root password](/docs/quick-answers/linode-platform/reset-the-root-password-on-your-linode/) and then attempt to log in at the Lish console again. @@ -66,7 +66,7 @@ The root user is available in Lish even if root user login is disabled in your S If your Linode isn't booting normally, you will not be able to rely on the Lish console to troubleshoot your deployment directly. To continue, you will first need to reboot your Linode into [Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#rescuing), which is a special recovery environment that Linode provides. -When you boot into Rescue Mode, you are booting your Linode into the [Finnix recovery Linux distribution](https://www.finnix.org). This Finnix image includes a working network configuration, and you will be able to mount your Linode's disks from this environment, which means that you can access your files. +When you boot into Rescue Mode, you are booting your Linode into the [Finnix recovery Linux distribution](https://www.finnix.org). This Finnix image includes a working network configuration, and you will be able to mount your Linode's disks from this environment, which means that you will be able to access your files. 1. Review the Rescue and Rebuild guide for instructions and [boot into Rescue Mode](/docs/troubleshooting/rescue-and-rebuild/#booting-into-rescue-mode). If your Linode does not reboot into Rescue Mode successfully, please [contact Linode Support](/docs/platform/billing-and-support/support/#contacting-linode-support). @@ -90,7 +90,7 @@ Never run a filesystem check on a disk that is mounted. ### Inspect System and Kernel Logs -In addition to being able to mount your Linode's disks, you can also *change root* (sometimes abbreviated at *chroot*) within Rescue Mode. *Chrooting* will make Rescue Mode's working environment emulate your normal Linux distribution. This means your files and logs will appear where you normally expect them, and you will be able to work with tools like your standard package manager and other system utilities. +In addition to being able to mount your Linode's disks, you can also *change root* (sometimes abbreviated as *chroot*) within Rescue Mode. *Chrooting* will make Rescue Mode's working environment emulate your normal Linux distribution. This means your files and logs will appear where you normally expect them, and you will be able to work with tools like your standard package manager and other system utilities. To proceed, review the Rescue and Rebuild guide's instructions on [changing root](/docs/troubleshooting/rescue-and-rebuild/#change-root). Once you have chrooted, you can then investigate your Linode's logs for messages that may describe the cause of your booting issues. @@ -104,7 +104,7 @@ In systemd Linux distributions (like Debian 8+, Ubuntu 16.04+, CentOS 7+, and re - `/var/log/dmesg` -You can use the [`less` command](/docs/quick-answers/linux/how-to-use-less/) to review the contents of these files (e.g. `less /var/log/syslog`). Try pasting your messages into a search engine or searching for your messages in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Linode](/docs/troubleshooting/rescue-and-rebuild/#rebuilding). +You can use the [`less` command](/docs/quick-answers/linux/how-to-use-less/) to review the contents of these files (e.g. `less /var/log/syslog`). Try pasting your log messages into a search engine or searching in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Linode](/docs/troubleshooting/rescue-and-rebuild/#rebuilding). ### Quick Tip for Ubuntu and Debian Systems @@ -150,10 +150,10 @@ If you are located in China, and the output of your MTR report shows *high packe This example report shows high persistent packet loss starting mid-way through the route at hop 3, which indicates an issue with the router at hop 3. If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. {{< note >}} -If your route only shows packet loss at certain routers, and not through to the end of the route, then it is likely that those routers are purposefully limiting ICMP responses. This is generally not a problem for your connection. Linode's MTR guide provides more context for [packet loss issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#verify-packet-loss). +If your route only shows packet loss at certain routers, and not through to the end of the route, then it is likely that those routers are purposefully limiting [ICMP](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol) responses. This is generally not a problem for your connection. Linode's MTR guide provides more context for [packet loss issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#verify-packet-loss). {{< /note >}} - If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. As well, Linode's MTR guide provides more context for [packet loss issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#verify-packet-loss). + If your report resembles the example, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. Also, consult Linode's MTR guide for more context on [packet loss issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#verify-packet-loss). - **Improperly Configured Router** @@ -173,7 +173,7 @@ If your route only shows packet loss at certain routers, and not through to the If your report shows question marks instead of the hostnames (or IP addresses) of the routers, and if these question marks persist to the end of the route, then the report indicates an improperly configured router. If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. {{< note >}} -If your route only shows question marks for certain routers, and not through to the end of the route, then it is likely that those routers are purposefully blocking ICMP responses. This is generally not a problem for your connection. Linode's MTR guide provides more information about [router configuration issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#an-isp-router-is-not-configured-properly). +If your route only shows question marks for certain routers, and not through to the end of the route, then it is likely that those routers are purposefully blocking [ICMP](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol) responses. This is generally not a problem for your connection. Linode's MTR guide provides more information about [router configuration issues](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/#an-isp-router-is-not-configured-properly). {{< /note >}} - **Destination Host Networking Improperly Configured** @@ -189,7 +189,7 @@ If your route only shows question marks for certain routers, and not through to 7. 64.233.174.46 0.0% 10 39.6 40.4 39.4 46.9 2.3 8. gw-in-f147.1e100.net 100.0 10 0.0 0.0 0.0 0.0 0.0 - If your report shows no or low packet loss (or non-persistent packet loss isolated to certain routers) until the end of the route, and 100% loss at your Linode, then the report indicates that your Linode's network interface is not configured correctly. If your report looks like this, move down to [confirming network configuration issues from Rescue Mode](#confirm-network-configuration-issues-from-rescue-mode). + If your report shows no packet loss or low packet loss (or non-persistent packet loss isolated to certain routers) until the end of the route, and 100% loss at your Linode, then the report indicates that your Linode's network interface is not configured correctly. If your report looks like this, move down to [confirming network configuration issues from Rescue Mode](#confirm-network-configuration-issues-from-rescue-mode). {{< note >}} If your report does not look like any of the previous examples, read through the [MTR guide](/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/) for other potential scenarios. @@ -219,7 +219,7 @@ If you have determined that your network configuration is the cause of the probl 1. Run another MTR report (or [ping](/docs/troubleshooting/troubleshooting/#can-you-ping-the-linode) the Linode) from your computer to your Linode's IP. -1. If the report shows no packet loss but you still can't access SSH or other services, this result indicates that your network connection is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services) +1. If the report shows no packet loss but you still can't access SSH or other services, this result indicates that your network connection is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services). 1. If the report still shows the same packet loss, review the remaining troubleshooting suggestions in this section. @@ -227,7 +227,7 @@ If the recommendations in this section do not resolve your issue, try pasting yo ### Try Enabling Network Helper -A quick fix may be to enable Linode's [Network Helper](/docs/platform/network-helper/) tool. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. After you enable Network Helper, reboot your Linode for the changes take effect. If Network Helper was already enabled, continue to the remaining troubleshooting suggestions in this section. +A quick fix may be to enable Linode's [Network Helper](/docs/platform/network-helper/) tool. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. After you enable Network Helper, reboot your Linode for the changes to take effect. If Network Helper was already enabled, continue to the remaining troubleshooting suggestions in this section. ### Did You Upgrade to Ubuntu 18.04+ From an Earlier Version? @@ -302,7 +302,7 @@ Your commands' output may show error messages, including generic errors like `Fa #### Sendmail -If you find message similar to the following, it is likely that a broken Sendmail update is at fault: +If you find a message similar to the following, it is likely that a broken Sendmail update is at fault: {{< output >}} /etc/network/if-up.d/sendmail: 44: .: Can't open /usr/share/sendmail/dynamic run-parts: /etc/network/if-up.d/sendmail exited with return code 2 @@ -362,7 +362,7 @@ Firewall rulesets can vary widely. Review our [Control Network Traffic with ipta ### Disable Firewall Rules -In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling afterward it with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. +In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling it afterwards with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. 1. Create a temporary backup of your current iptables: @@ -390,7 +390,7 @@ In addition to analyzing your firewall ruleset, you can also temporarily disable sudo iptables -X -1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the file you save your IPv6 rules to (e.g. `~/ip6tables.txt`). +1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the IPv6 rules file. (e.g. `~/ip6tables.txt`). ## Next Steps From eee5300b3cb502c10103391fcaab416f9ea25aad Mon Sep 17 00:00:00 2001 From: leslitagordita Date: Fri, 1 Feb 2019 15:15:35 -0500 Subject: [PATCH 21/23] Copy edit: Troubleshooting SSH --- .../troubleshooting-ssh/index.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/troubleshooting/troubleshooting-ssh/index.md b/docs/troubleshooting/troubleshooting-ssh/index.md index bba742e4f7e..03bc6e10fa3 100644 --- a/docs/troubleshooting/troubleshooting-ssh/index.md +++ b/docs/troubleshooting/troubleshooting-ssh/index.md @@ -26,7 +26,7 @@ Linode is not responsible for the configuration or installation of software on y ## Before You Begin -Before troubleshooting your SSH service, familiarize yourself with the Linode Shell: +Before troubleshooting your SSH service, familiarize yourself with the Linode Shell. ### The Linode Shell (Lish) @@ -46,13 +46,13 @@ If you reset your password and can log in with Lish, try logging in with SSH, as If your SSH connection attempts are timing out or are being immediately rejected, then your SSH daemon may not be running, or your firewall may be blocking SSH connections. This section will help troubleshoot these issues. -If your connections are *not* timing out or being rejected, or if you are able to resolve these issues but you still can't access SSH because of rejected login attempts, then continue to [troubleshooting rejected SSH logins](#troubleshooting-rejected-SSH-logins). +If your connections are *not* timing out or being rejected, or if you are able to resolve these issues but you still can't access SSH because of rejected login attempts, then continue to the [Troubleshoot Rejected SSH Logins](#troubleshoot-rejected-ssh-logins) section. ### Is SSH Running? 1. To check on the status of your SSH daemon, run: - | Distribution | Command                                            | + | **Distribution** | **Command**                                            | | ------------ | ------- | | systemd systems (Arch, Ubuntu 16.04+, Debian 8+, CentOS 7+, etc) | `sudo systemctl status sshd -l` | | CentOS 6 | `sudo service sshd status` | @@ -62,7 +62,7 @@ If your connections are *not* timing out or being rejected, or if you are able t 1. If the command reports the service is not running, then try restarting it: - | Distribution | Command | + | **Distribution** | **Command** | | ------------ | ------- | | systemd systems | `sudo systemctl restart sshd` | | CentOS 6 | `sudo service sshd restart` | @@ -70,7 +70,7 @@ If your connections are *not* timing out or being rejected, or if you are able t 1. Check the status of the service again. If it's still not running, view the logs for the service: - | Distribution | Command | + | **Distribution** | **Command** | | ------------ | ------- | | systemd systems | `sudo journalctl -u sshd -u ssh` | | CentOS 6 | `less /var/log/secure` | @@ -112,7 +112,7 @@ This error indicates that another service on your system is already using the sa - **Bind SSH to a different port** - Follow instructions for [setting SSH's port number](#bind-ssh-to-a-port-number), and specify a different number than the one that was already in-use. + Follow instructions for [setting SSH's port number](#bind-ssh-to-a-port-number), and specify a different number than the one that is already in-use. - **Stop the other service** @@ -132,7 +132,7 @@ This error indicates that another service on your system is already using the sa - **Assign a different port to the other service** - 1. Use the `netstat` command to find out what service is bound to the same port: + 1. Use the `netstat` command to find out what service is bound to the same port. 1. Then, change the configuration for that service to use a different port. @@ -174,7 +174,7 @@ Firewall rulesets can vary widely. Review the [Control Network Traffic with ipta ### Disable Firewall Rules -In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling afterward it with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. +In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling it afterward with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. 1. Create a temporary backup of your current iptables rules: @@ -202,7 +202,7 @@ In addition to analyzing your firewall ruleset, you can also temporarily disable sudo iptables -X -1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the file you save your IPv6 rules to (e.g. `~/ip6tables.txt`). +1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the IPv6 rules file (e.g. `~/ip6tables.txt`). ## Troubleshoot Rejected SSH Logins @@ -226,7 +226,7 @@ SSH can be configured to not accept passwords and instead accept public key auth grep PasswordAuthentication /etc/ssh/sshd_config -If the value of the `PasswordAuthentication` is `no`, [create a keypair](/docs/security/securing-your-server/#create-an-authentication-key-pair). Or, set the value in `/etc/ssh/sshd_config` to `yes`, restart SSH, and try logging in with your password again. +If the value of the `PasswordAuthentication` is `no`, [create a key-pair](/docs/security/securing-your-server/#create-an-authentication-key-pair). Or, set the value in `/etc/ssh/sshd_config` to `yes`, restart SSH, and try logging in with your password again. ### Is your Public Key Stored on the Server? @@ -246,7 +246,7 @@ If the previous troubleshooting steps do not resolve your issues, collect more i - View your login attempts in the log files described in step 4 of [Is SSH Running?](#is-ssh-running). In particular, you can search these logs for your local IP address, and the results will show what error messages were recorded for your logins. To find out what your local IP is, visit a website like https://www.whatismyip.com/. -- Use your SSH client in verbose mode, which will show details for each part of the connection process. Verbose mode is invoked by passing the `-v` option. Passing more than one `v` increases the verbosity, up to three `v`s: +- Use your SSH client in verbose mode, which will show details for each part of the connection process. Verbose mode is invoked by passing the `-v` option. Passing more than one `v` increases the verbosity. You can use up to three `v`s: ssh -v username@192.0.2.4 ssh -vv username@192.0.2.4 From 5e0dc2b0ceb155fc71d9305f785fe220aea22aa0 Mon Sep 17 00:00:00 2001 From: leslitagordita Date: Fri, 1 Feb 2019 15:48:37 -0500 Subject: [PATCH 22/23] Copy Edit: Troubleshooting Web Servers --- .../index.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md index 08eabafbc47..43ade6bcc07 100644 --- a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md +++ b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md @@ -24,13 +24,13 @@ Linode is not responsible for the configuration or installation of software on y ## General Troubleshooting Strategies -This section highlights troubleshooting strategies that apply to every service: +This section highlights troubleshooting strategies that apply to every service. ### Check if the Service is Running The service may not be running. Check the status of the service: -| Distribution | Command                                                                | +| **Distribution** | **Command**                                                                | | ------------ | ------- | | systemd systems (Arch, Ubuntu 16.04+, Debian 8+, CentOS 7+, etc) | `sudo systemctl status -l` | | sysvinit systems (CentOS 6, Ubuntu 14.04, Debian 7, etc) | `sudo service status` | @@ -39,37 +39,37 @@ The service may not be running. Check the status of the service: If the service isn't running, try restarting it: -| Distribution | Command | +| **Distribution** | **Command** | | ------------ | ------- | | systemd systems | `sudo systemctl restart ` | | sysVinit systems | `sudo service restart` | ### Enable the Service -If your system was recently rebooted, and the service didn't start automatically at boot, then it may not be enabled. The output of your Enable the service to prevent this from happening in the future: +If your system was recently rebooted, and the service didn't start automatically at boot, then it may not be enabled. Enable the service to prevent this from happening in the future: -| Distribution | Command | +| **Distribution** | **Command** | | ------------ | ------- | | systemd systems | `sudo systemctl enable ` | | sysVinit systems | `sudo chkconfig on` | -### Check which IP Addresses and Ports your Services are Bound To +### Check your Service's Bound IP Address and Ports -Your service may be listening on an unexpected port, or it may not be bound to your public IP address (or whatever address is desirable). To view which address and ports and service is bound on, run the `ss` command with these options: +Your service may be listening on an unexpected port, or it may not be bound to your public IP address (or whatever address is desirable). To view which address and ports a service is bound on, run the `ss` command with these options: sudo ss -atpu -Review the application's documentation for help with setting the address and port it should bind to. +Review the application's documentation for help determining the address and port your service should bind to. {{< note >}} -One notable example is if a service is only bound to a public IPv4 address and not also an IPv6 address. If a user connects to your Linode over IPv6, they will not be able to access the service. +One notable example is if a service is only bound to a public IPv4 address and not to an IPv6 address. If a user connects to your Linode over IPv6, they will not be able to access the service. {{< /note >}} ### Analyze Service Logs If your service doesn't start normally, review your system logs for the service. Your system logs may be in the following locations: -| Distribution | System Logs | +| **Distribution** | **System Logs** | | ------------ | ------- | | systemd systems | [Run `journalctl`](/docs/quick-answers/linux/how-to-use-journalctl/) | | Ubuntu 14.04, Debian 7 | `/var/log/syslog` | @@ -103,7 +103,7 @@ Firewall rulesets can vary widely. Review the [Control Network Traffic with ipta ### Disable Firewall Rules -In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling afterward it with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. +In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling it afterward with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/security/firewalls/control-network-traffic-with-iptables/) for help with this subject. 1. Create a temporary backup of your current iptables: @@ -131,7 +131,7 @@ In addition to analyzing your firewall ruleset, you can also temporarily disable sudo iptables -X -1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the file you save your IPv6 rules to (e.g. `~/ip6tables.txt`). +1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the IPv6 rules file (e.g. `~/ip6tables.txt`). ## Troubleshoot Web Servers @@ -174,7 +174,7 @@ If your web server is responding with an error code, your troubleshooting will v - **HTTP 500, 502, 503, 504** - The web server requested a resource from a process it depends on, but the process did not respond as expected. For example, if a database query need to be performed for a web request, but the database isn't running, then a 50X code will be returned. To troubleshoot these issues, investigate the service that the web server depends on. + The web server requested a resource from a process it depends on, but the process did not respond as expected. For example, if a database query needs to be performed for a web request, but the database isn't running, then a 50X code will be returned. To troubleshoot these issues, investigate the service that the web server depends on. ### Troubleshoot Databases From d449ab42b4e1cc2ffa28ca1fbdb18d1bc014ab05 Mon Sep 17 00:00:00 2001 From: leslitagordita Date: Fri, 1 Feb 2019 15:51:08 -0500 Subject: [PATCH 23/23] Update published dates --- .../troubleshooting-basic-connection-issues/index.md | 4 ++-- docs/troubleshooting/troubleshooting-ssh/index.md | 4 ++-- .../index.md | 4 ++-- docs/troubleshooting/troubleshooting/index.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md index 4a6d4c8b146..6ab7131d084 100644 --- a/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md +++ b/docs/troubleshooting/troubleshooting-basic-connection-issues/index.md @@ -5,8 +5,8 @@ author: description: 'Troubleshooting steps to help restore basic connectivity to your Linode when it is unresponsive.' keywords: ['linux','reboot','lish'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -published: 2019-01-25 -modified: 2019-01-25 +published: 2019-02-01 +modified: 2019-02-01 modified_by: name: Linode title: "Troubleshooting Basic Connection Issues" diff --git a/docs/troubleshooting/troubleshooting-ssh/index.md b/docs/troubleshooting/troubleshooting-ssh/index.md index 03bc6e10fa3..1a2a62ce671 100644 --- a/docs/troubleshooting/troubleshooting-ssh/index.md +++ b/docs/troubleshooting/troubleshooting-ssh/index.md @@ -5,8 +5,8 @@ author: description: "Troubleshooting steps for when you can't connect to your Linode via SSH." keywords: ['linux','reboot','lish','ssh'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -published: 2019-01-25 -modified: 2019-01-25 +published: 2019-02-01 +modified: 2019-02-01 modified_by: name: Linode title: "Troubleshooting SSH" diff --git a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md index 43ade6bcc07..04f8d6dad29 100644 --- a/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md +++ b/docs/troubleshooting/troubleshooting-web-servers-databases-other-services/index.md @@ -5,8 +5,8 @@ author: description: "Troubleshooting steps for when you can't connect to a service that your Linode runs." keywords: ['linux','reboot','lish'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -published: 2019-01-25 -modified: 2019-01-25 +published: 2019-02-01 +modified: 2019-02-01 modified_by: name: Linode title: "Troubleshooting Web Servers, Databases, and Other Services" diff --git a/docs/troubleshooting/troubleshooting/index.md b/docs/troubleshooting/troubleshooting/index.md index 846f8fcd228..323bd72262c 100644 --- a/docs/troubleshooting/troubleshooting/index.md +++ b/docs/troubleshooting/troubleshooting/index.md @@ -6,7 +6,7 @@ description: An overview of different troubleshooting topics. keywords: ['troubleshooting'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['quick-start-troubleshooting/'] -modified: 2019-01-25 +modified: 2019-02-01 modified_by: name: Linode published: 2012-04-05