Skip to Content

Step by Step Guide to troubleshoot network issue in Linux

Troubleshooting a problem related to Linux networking can be a challenging experience, but it doesn’t have to be.

By understanding the basic principles of Linux networking and having an organized approach, you can quickly identify and resolve any issue that arises.

In this article, we will dive into this issue using the following commands.

  1. Network Configuration:
    • ifconfig or ip command: Check network interface configuration, IP addresses, subnet masks, and other network details.
  2. Network Connectivity:
    • ping command: Test network connectivity by sending ICMP echo request packets to a specified IP address or hostname.
    • route command: View and manipulate the kernel routing table to examine or modify network routing information.
  3. Network Connection Status:
    • netstat command: Display active network connections, open ports, listening services, and network statistics.
  4. Capturing Network Packets:
    • Sniffing Tools (e.g., tcpdump, Wireshark): Capture and analyze network packets to troubleshoot network issues, monitor traffic, or perform detailed packet analysis.

 

Get Your Free Linux training!

Join our free Linux training and discover the power of open-source technology. Enhance your skills and boost your career! Learn Linux for Free!

This article is part of the following series.

 

Check network configuration with ifconfig or ip command in Linux

The first step in troubleshooting a network issue is to verify the system’s configuration by running the “ifconfig” command.

This will provide you with a list of all the interfaces configured on your system, as well as their IP addresses, subnet masks, and other important information.

If you’re trying to determine why your system can’t connect to a particular network, the ifconfig command is useful for verifying that the correct IP address and subnet mask are configured.

If you need to troubleshoot a connection, it can be helpful to check whether the interface is up and running.

For example, if you run the “ifconfig” command and see that the IP address is incorrectly configured, this could be an indication of a problem.

In this case, you would need to use the “ifconfig eth0 192.168.1.0/24 up” command to set the correct settings and bring the interface up.

You can refer to this post to fix ifconfig command not found.

If you need more detailed information about your network configuration, you can use the ip command to view more detailed information about each interface, including its MAC address and other settings.

Check network connectivity with ping and route command in Linux

The next step to troubleshooting networking issues is using ping, which sends a small piece of data to a remote computer and waits for a response.

If the destination system is not responding, it can indicate an issue with the connection or firewall rules.

If you need to verify that a connection between two systems is working, the ping command can be used to quickly identify any problems.

Additionally, if you’re trying to troubleshoot a slow connection, ping can be used to identify whether the network is experiencing latency or packet loss.

For example, if you are pinging a remote server and the response time is much higher than expected (200 ms or more), this could indicate high latency in your network.

In such cases, it might be necessary to investigate further by using a tool like traceroute to determine where the bottleneck is occurring.

Another useful tool in troubleshooting any Linux networking issue is using traceroute to pinpoint where the problem is occurring.

This will provide you with a list of all the hops between your system and the remote host, along with information about latency and packet loss at each hop.

For example, if you run the “traceroute” command and see that the latency is increasing at each hop, this could indicate an issue with one of the network routers or switches.

In such cases, it might be necessary to contact your network administrator in order to resolve the issue.

Check network connection status with netstat command in Linux

Once you have verified the network connectivity, you can investigate further by using the netstat command to view active network connections.

This will tell you which ports are currently in use and if there is any unexpected traffic coming into or out of your system.

The netstat command is very useful for identifying any network connections that are established to the remote host.

For example, if you run “netstat” and the output includes a connection with a status of “SYN_SENT”, this indicates that the connection is stuck in the process of being established. This could be caused by an incorrect configuration or a problem with the remote host’s firewall.

Capture network packets with sniffing tools in Linux

Finally, if you still cannot resolve the issue after checking all of the above, you can use network sniffing tools like tcpdump or Wireshark to capture and analyze packets on your network. This will allow you to identify the exact source of any problem, as well as give you a better understanding of how traffic is being routed between different computers and networks.

In conclusion, there are a variety of tools available for troubleshooting Linux networking issues.

It’s important to have a basic understanding of these commands and how to use them in order to effectively diagnose and resolve any connectivity issues.

By following these steps in an organized fashion, you can quickly troubleshoot most Linux networking issues without having to resort to drastic measures like rebooting your system or reconfiguring the network.

With a little knowledge and patience, the troubleshooting process can be an engaging and rewarding experience.

Sara

Sunday 11th of August 2024

Your blog is a constant source of inspiration for me. This article, in particular, was filled with thoughtful insights and a positive perspective that left me feeling uplifted and encouraged. It's rare to find content that resonates so deeply and leaves such a lasting impact. Thank you for creating such a positive space on the internet!

Paul T

Sunday 4th of August 2024

This post offers a lot of valuable information. The explanations are clear, and the examples used are very relevant. Thanks for providing such a great resource.

Katherine

Thursday 1st of August 2024

Excellent article! It’s well-organized, informative, and written in a way that’s easy to follow. I found it very helpful.

Elsa

Friday 26th of July 2024

I learned a lot from this. Thanks.

Anthony B. Riley C

Sunday 21st of July 2024

This blog is a great mix of informative and entertaining content It keeps me engaged and interested from start to finish