How to Check and Configure IP Addresses in Debian 12 Bookworm

This article provides step-by-step instructions on how to check and configure IP addresses in Debian 12, including using the ip, ifconfig, netstat, and ipcalc commands.

Debian 12 Bookworm, the latest stable release of Debian, offers multiple tools to check and configure IP addresses. Whether you are setting up a server, configuring a local network, or troubleshooting connectivity issues, knowing how to manage IP addresses is essential. This article provides a comprehensive guide on checking and configuring IP addresses on a Debian 12 system.

Checking the Current IP Configuration

Before configuring an IP address, it is crucial to check the existing network settings. Debian 12 provides various tools to inspect the current IP configuration.

1. Using the ip Command

The ip command is the recommended tool for managing network interfaces in modern Linux distributions, including Debian 12.

To check the current IP configuration, run:

ip addr show

This command provides detailed information about network interfaces and their assigned IP addresses.

Alternatively, you can use:

ip a

which is a shorter version of the above command.

To display only IPv4 addresses, use:

ip -4 addr show

For IPv6 addresses:

ip -6 addr show

2. Using the ifconfig Command

The ifconfig command is considered deprecated but is still available in Debian through the net-tools package. If it’s not installed by default, you can install it using:

sudo apt update && sudo apt install net-tools

Then, check the network interfaces using:

ifconfig

3. Using the hostname Command

To check the IP address associated with the hostname, use:

hostname -I

This command returns the list of all assigned IP addresses.

4. Using the nmcli Command

If NetworkManager is installed, you can check IP details using:

nmcli device show

Configuring a Static IP Address

If you need a persistent IP address, configuring a static IP is the best option. In Debian 12, you can set a static IP using either the nmtui tool or by manually editing the configuration files.

1. Configuring a Static IP Using nmtui

The nmtui tool provides a text-based user interface for managing network connections.

  1. Open the NetworkManager interface:

    sudo nmtui
    
  2. Select Edit a connection.

  3. Choose the network interface you want to configure.

  4. Change the method from Automatic (DHCP) to Manual.

  5. Enter the desired IP address, subnet mask, gateway, and DNS servers.

  6. Save the changes and restart the network service:

    sudo systemctl restart NetworkManager
    

2. Configuring a Static IP by Editing /etc/network/interfaces

For systems using ifupdown, configure a static IP by editing the /etc/network/interfaces file.

  1. Open the configuration file with a text editor:

    sudo nano /etc/network/interfaces
    
  2. Add or modify the following lines for a static IP (replace eth0 with your actual interface name):

    auto eth0
    iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 8.8.4.4
    
  3. Save the file (Ctrl + X, then Y, then Enter).

  4. Restart the networking service:

    sudo systemctl restart networking
    

3. Configuring a Static IP Using Netplan

Netplan is another method for configuring network settings, though it is more common in Ubuntu-based distributions. If Netplan is installed on your Debian system, configure the IP address by editing Netplan YAML files under /etc/netplan/.

Example configuration file:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

Apply the changes using:

sudo netplan apply

Configuring a Dynamic IP Address (DHCP)

If you prefer a dynamic IP, ensure your network interface is set to use DHCP.

  1. Open /etc/network/interfaces:

    sudo nano /etc/network/interfaces
    
  2. Modify the configuration for DHCP:

    auto eth0
    iface eth0 inet dhcp
    
  3. Save the changes and restart networking:

    sudo systemctl restart networking
    

Testing and Troubleshooting Network Configuration

After configuring the IP address, verify the network connectivity:

1. Check IP Address

ip a

Ensure the configured IP address appears correctly.

2. Test Network Connectivity

ping 8.8.8.8

If the ping is successful, network connectivity is working.

3. Check Default Gateway

ip route show

Ensure the correct default gateway is set.

4. Restart Networking Services

If changes are not applied, restart networking services:

sudo systemctl restart networking

Or, if using NetworkManager:

sudo systemctl restart NetworkManager

5. Check DNS Resolution

If DNS resolution fails, test using:

dig google.com

If the dig command is not available, install it:

sudo apt install dnsutils

Conclusion

Checking and configuring IP addresses in Debian 12 Bookworm is essential for networking tasks. Whether using ip, ifconfig, or NetworkManager, you can easily retrieve IP details. Configuring a static or dynamic IP depends on your requirements, and the right approach depends on your network management preference. Following the above steps ensures efficient network configuration and troubleshooting in Debian 12.