Troubleshooting Common Network Issues in a Linux Environment
Jul 29, 2025 am 01:35 AMFirst check the physical connection and interface status, use ip link to ensure that the network card is enabled and obtains the IP correctly; 2. Verify the IP configuration and subnet settings, and confirm whether the IP address and default route are correct through ip addr and ip route; 3. Test connectivity in steps, ping local loopback, local IP, gateway and external IP in turn to locate the fault layer; 4. Check DNS resolution, check /etc/resolv.conf or use resolvectl to confirm the DNS server configuration, and use nslookup or dig to test domain name resolution; 5. Troubleshoot firewall and service interference, check UFW or firewalld status, temporarily close the firewall if necessary and ensure that network services such as NetworkManager are running normally; 6. Use diagnostic tools such as traceroute, ss and tcpdump to deeply analyze routing paths, connection status and packet flow, and finally gradually troubleshoot problems at all levels of the network stack to solve Linux network failures.
When working in a Linux environment, network connectivity issues can quickly disrupt productivity. Whether you're managing a server or troubleshooting a desktop system, knowing how to diagnose and fix common network problems is essential. Here's a practical guide to identifying and resolving the most frequent network issues in Linux.

1. Check Physical Connectivity and Interface Status
Before diving into complex diagnostics, verify the basics.
-
Ensure the network cable is connected (for wired connections) or that Wi-Fi is enabled (on laptops).
-
Use
ip link
to check the status of network interfaces:ip link show
Look for your interface (eg,
eth0
,enp3s0
,wlan0
). If it saysDOWN
, bring it up:sudo ip link set eth0 up
If using DHCP, request an IP address:
sudo dhclient eth0
? Tip: On modern systems,
NetworkManager
orsystemd-networkd
may manage interfaces automatically. Avoid manually configuring interfaces if these services are active unless you know what you're doing.
2. Verify IP Configuration and Subnet Settings
Incorrect IP settings are a common source of problems.
Check your current IP address and subnet:
ip addr show
Look for an IP in the expected range (eg,
192.168.xx
,10.xxx
). If you see169.254.xx
, that's a link-local address—indicating no DHCP server responded.Confirm routing with:
ip route show
You should see a default route like:
default via 192.168.1.1 dev eth0
If missing, add it manually (replace with your gateway):
sudo ip route add default via 192.168.1.1 dev eth0
3. Test Connectivity Step by Step
Use a layered approach to isolate where the failure occurs.
Test local interface:
ping 127.0.0.1
If this fails, TCP/IP stack issues may exist (rare, but possible if misconfigured).
Ping your own IP:
ping 192.168.1.100 # Replace with your IP
If it doesn't respond, there may be a firewall or interface issue.
Ping the gateway:
ping 192.168.1.1 # Replace with your router IP
Failure here suggests a local network or switch issue.
Test external connectivity:
ping 8.8.8.8
If this works but
ping google.com
fails, the issue is DNS-related.
4. Troubleshoot DNS Resolution
Even with internet access, bad DNS settings can make it seem like you're offline.
Check your DNS configuration:
cat /etc/resolv.conf
You should see lines like:
nameserver 8.8.8.8 nameserver 1.1.1.1
If not, update it temporarily:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
Test DNS resolution:
nslookup google.com # or dig google.com
If these time out, your DNS server may be unreachable or blocked.
? Note: Some systems use
systemd-resolved
, which manages DNS dynamically. Useresolvectl status
to inspect DNS settings in such cases.
5. Check for Firewall or Service Interference
Firewalls can silently drop packets.
If using
ufw
, check status:sudo ufw status
For
firewalld
(common on RHEL/CentOS):sudo firewall-cmd --state sudo firewall-cmd --list-all
Temporarily disable the firewall to test:
sudo ufw disable # or sudo systemctl stop firewalld
?? Remember to re-enable it afterward.
Also, ensure key services like NetworkManager
or systemd-networkd
are running:
sudo systemctl status NetworkManager
Restart if needed:
sudo systemctl restart NetworkManager
6. Use Diagnostic Tools for Deeper Analysis
When basic steps don't reveal the issue, use advanced tools.
traceroute
ortracepath
– See where packets stop:traceroute 8.8.8.8 # or (no root required) tracepath 8.8.8.8
netstat
orss
– Check active connections and listening ports:ss -tuln
Look for expected services (eg, SSH on port 22).
tcpdump
– Capture packets to analyze traffic:sudo tcpdump -i eth0 icmp
This helps confirm if packets are being sent/received.
Final Thoughts
Most network issues in Linux stem from misconfigurations, missing routes, or DNS problems. Start simple: check interface status, IP assignment, gateway reachability, and DNS. Use command-line tools like ping
, ip
, dig
, and ss
to methodically test each layer.
Automation tools like nmcli
(for NetworkManager) or configuration files in /etc/netplan/
(Ubuntu) or /etc/sysconfig/network-scripts/
(RHEL) may also need review depending on your distribution.
Basically, it's about verifying each hop in the network stack—one step at a time.
The above is the detailed content of Troubleshooting Common Network Issues in a Linux Environment. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

LXD is described as the next-generation container and virtual machine manager that offers an immersive for Linux systems running inside containers or as virtual machines. It provides images for an inordinate number of Linux distributions with support

Firefox browser is the default browser for most modern Linux distributions such as Ubuntu, Mint, and Fedora. Initially, its performance might be impressive, however, with the passage of time, you might notice that your browser is not as fast and resp

When encountering DNS problems, first check the /etc/resolv.conf file to see if the correct nameserver is configured; secondly, you can manually add public DNS such as 8.8.8.8 for testing; then use nslookup and dig commands to verify whether DNS resolution is normal. If these tools are not installed, you can first install the dnsutils or bind-utils package; then check the systemd-resolved service status and configuration file /etc/systemd/resolved.conf, and set DNS and FallbackDNS as needed and restart the service; finally check the network interface status and firewall rules, confirm that port 53 is not

If you find that the server is running slowly or the memory usage is too high, you should check the cause before operating. First, you need to check the system resource usage, use top, htop, free-h, iostat, ss-antp and other commands to check CPU, memory, disk I/O and network connections; secondly, analyze specific process problems, and track the behavior of high-occupancy processes through tools such as ps, jstack, strace; then check logs and monitoring data, view OOM records, exception requests, slow queries and other clues; finally, targeted processing is carried out based on common reasons such as memory leaks, connection pool exhaustion, cache failure storms, and timing task conflicts, optimize code logic, set up a timeout retry mechanism, add current limit fuses, and regularly pressure measurement and evaluation resources.

As a system administrator, you may find yourself (today or in the future) working in an environment where Windows and Linux coexist. It is no secret that some big companies prefer (or have to) run some of their production services in Windows boxes an

Frankly speaking, I cannot recall the last time I used a PC with a CD/DVD drive. This is thanks to the ever-evolving tech industry which has seen optical disks replaced by USB drives and other smaller and compact storage media that offer more storage

In Linux systems, 1. Use ipa or hostname-I command to view private IP; 2. Use curlifconfig.me or curlipinfo.io/ip to obtain public IP; 3. The desktop version can view private IP through system settings, and the browser can access specific websites to view public IP; 4. Common commands can be set as aliases for quick call. These methods are simple and practical, suitable for IP viewing needs in different scenarios.

Built on Chrome’s V8 engine, Node.JS is an open-source, event-driven JavaScript runtime environment crafted for building scalable applications and backend APIs. NodeJS is known for being lightweight and efficient due to its non-blocking I/O model and
