Unix - Network Configuration and Troubleshooting in UNIX

Network configuration and troubleshooting are essential tasks in UNIX systems because most modern computing environments depend on network connectivity for communication, file sharing, internet access, remote administration, and distributed computing. UNIX provides a variety of commands and configuration files that allow administrators and users to manage network settings and diagnose connectivity problems effectively.

Understanding Network Configuration in UNIX

Network configuration refers to the process of setting up a system so that it can communicate with other devices on a network. This includes assigning IP addresses, configuring subnet masks, setting default gateways, and managing DNS servers.

Key Network Components

IP Address

An IP address uniquely identifies a device on a network. UNIX systems can use either IPv4 or IPv6 addresses.

Example IPv4 address:

192.168.1.100

Example IPv6 address:

2001:db8::1

Subnet Mask

A subnet mask determines which portion of an IP address represents the network and which part represents the host.

Example:

255.255.255.0

Default Gateway

The default gateway is the router through which traffic is sent when the destination lies outside the local network.

Example:

192.168.1.1

DNS Server

The Domain Name System (DNS) converts domain names into IP addresses.

Example:

8.8.8.8

Viewing Network Configuration

UNIX provides several commands to inspect network settings.

Using ifconfig

Traditionally, the ifconfig command displays network interface information.

ifconfig

Output may include:

  • Interface name

  • IP address

  • Broadcast address

  • MAC address

  • Network statistics

Example:

ifconfig eth0

Using ip Command

Modern UNIX and Linux systems commonly use the ip command.

ip addr show

To display a specific interface:

ip addr show eth0

Viewing Routing Information

Routing tables determine how packets travel across networks.

netstat -rn

or

ip route show

Example output:

default via 192.168.1.1 dev eth0

This indicates that the default gateway is 192.168.1.1.

Configuring Network Interfaces

Assigning an IP Address Temporarily

Using ifconfig:

ifconfig eth0 192.168.1.100 netmask 255.255.255.0

Using ip:

ip addr add 192.168.1.100/24 dev eth0

Bringing an Interface Up

ifconfig eth0 up

or

ip link set eth0 up

Bringing an Interface Down

ifconfig eth0 down

or

ip link set eth0 down

Configuring Hostnames

A hostname identifies a system on a network.

View current hostname:

hostname

Set a temporary hostname:

hostname server1

Verify:

hostname

DNS Configuration

DNS settings are usually stored in:

/etc/resolv.conf

Example:

nameserver 8.8.8.8
nameserver 8.8.4.4

View contents:

cat /etc/resolv.conf

Network Troubleshooting

Troubleshooting involves identifying and resolving connectivity issues.

Using ping

The ping command checks whether a remote host is reachable.

ping google.com

Sample output:

64 bytes from google.com

If replies are received, the network connection is functioning.

Common Ping Tests

Test local interface:

ping 127.0.0.1

Test local network:

ping 192.168.1.1

Test external network:

ping 8.8.8.8

Test DNS resolution:

ping google.com

These tests help determine where connectivity problems occur.

Using traceroute

The traceroute command shows the path packets take to reach a destination.

traceroute google.com

It displays all intermediate routers between source and destination.

Benefits include:

  • Identifying network delays

  • Detecting routing issues

  • Locating failed network segments

Using netstat

The netstat command displays active network connections and statistics.

View listening ports:

netstat -tuln

View routing table:

netstat -r

View all active connections:

netstat -a

Using ss Command

The ss command is a modern replacement for netstat.

Display listening ports:

ss -tuln

Display active connections:

ss -ta

Advantages include:

  • Faster performance

  • More detailed socket information

Checking DNS Resolution

Using nslookup

nslookup google.com

Example output:

Name: google.com
Address: 142.250.183.14

Using dig

dig google.com

The command provides detailed DNS information.

Useful for:

  • Verifying DNS records

  • Troubleshooting name resolution issues

  • Analyzing DNS server responses

Monitoring Network Interfaces

Using ip -s

ip -s link

Displays:

  • Received packets

  • Transmitted packets

  • Errors

  • Dropped packets

Using ifconfig

ifconfig eth0

Shows interface statistics including packet loss and transmission errors.

Checking Open Ports

Open ports indicate services running on the system.

Using netstat:

netstat -tulnp

Using ss:

ss -tulnp

Common ports:

Port Service
22 SSH
80 HTTP
443 HTTPS
25 SMTP
53 DNS

Troubleshooting Common Network Problems

No Internet Connectivity

Possible causes:

  • Incorrect IP address

  • Missing default gateway

  • DNS configuration errors

  • Network cable issues

  • Router problems

Steps:

  1. Verify IP address.

  2. Ping localhost.

  3. Ping gateway.

  4. Ping external IP.

  5. Test DNS resolution.

DNS Failure

Symptoms:

  • Websites inaccessible by name.

  • Access works using IP addresses.

Solutions:

  • Verify /etc/resolv.conf.

  • Test with nslookup.

  • Restart DNS services if required.

Slow Network Performance

Possible reasons:

  • Network congestion

  • High packet loss

  • Faulty hardware

  • Misconfigured routing

Useful commands:

ping
traceroute
netstat

Interface Not Working

Check status:

ip link show

Enable interface:

ip link set eth0 up

Verify cable or wireless connection.

Network Security Considerations

When configuring UNIX networks, security should always be considered.

Best practices include:

  • Disable unused network services.

  • Use firewalls to restrict access.

  • Secure SSH access.

  • Regularly monitor open ports.

  • Keep software updated.

  • Use strong authentication methods.

Importance of Network Configuration and Troubleshooting

Network configuration ensures that systems can communicate efficiently and securely. Troubleshooting skills help administrators quickly identify and resolve connectivity issues, reducing downtime and maintaining service availability. A strong understanding of UNIX networking tools and commands is essential for system administrators, network engineers, cybersecurity professionals, and anyone responsible for managing UNIX-based environments.