How to Set Static IP Address on Debian 11 (Bullseye)

In this guide, we will demonstrate how to set static ip address on Debian 11 (Bullseye).

When we install Debian Linux on our system then during the installation it tries to get DHCP ip address from modem (or dhcp server) if available. But it is always to recommended to have a static IP address on your system. The main benefit of Static IP address is that it will be persistent across the reboot.

In Debian 11, we can set the static ip address either via GUI (Graphical User Interface) or via command line (cli).

Set Static IP Address via GUI

Login to your Debian Desktop environment, From Settings –> Choose Network


Click on Wired Settings and then we will get the following window,


Note: To disable IPv6, go to IPv6 tab and choose ‘Disable’ option

Click on IPv4 Tab


Above window shows that Automatic DHCP is configured, so to configure Static IP choose Manual and then specify the IP details like IP address, netmask, gateway and dns server IP.

Note: To Specify the dns server IP first disable the automatic dns IP by toggling it.


Click on Apply to save the changes.

Now, disable and enable the interface by toggling it so that new IP address is assigned to the Interface.


Now again click on wired settings to verify whether the new static ip address is assigned or not.


Perfect, above confirms that new static IP address is configured successfully. Now let’s see the alternate way to configure IP address in Debian Linux.

Set Static IP Address via Command Line

Open the terminal and identify the interface on which we will configure static IP address. Run below ip command,

$ ip add show


Now run nmcli command to get connection name,

$ nmcli connection

Once we get the connection name, run below nmcli command to assign static ipv4 address,


$ nmcli con mod  ‘connection-name’ ipv4.address  <IP-Address>

$ nmcli con mod 'eth0' ipv4.address

Set the gateway by running below

$ nmcli con mod 'eth0' ipv4.gateway

Change Configuration from DHCP to Manual , so that IP will be static and persistent, run

$ nmcli con mod 'eth0' ipv4.method manual

Set the DNS server IP by running below command,

$ nmcli con mod 'eth0' ipv4.dns ''

Disable and enable the connection so that above changes come into the effect.

$ nmcli connection down eth0
$ nmcli connection up eth0

Now Run IP Command to check IP address,

$ ip add show eth0

Output of above commands would look like below:


Perfect, above output confirms that static IP address has been configured successfully on eth0 interface.

Set Static IP Address on Minimal Installed Debian 11

Whenever we install minimal Debian 11 then we will have only the CLI console and don’t have any nmcli utility. So, to configure static ip address we will edit the file ‘/etc/network/interfaces’.

Following is the default content in the file,

$ cat /etc/network/interfaces


Edit the file and set the static IP address as shown below,

$ sudo vi /etc/network/interfaces

Delete the line ‘allow-htplug enp0s3’ and change dhcp parameter to static.  Below is my sample file, change interface name and ip details as per your environment.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet static

save & close the file.


To make above changes into the effect the restart the network service

$ sudo systemctl restart networking.service

Now, run ip command to verify the ip address,

$ ip add show



That’s all from this post. Please do share your feedback and queries in below comments section.

Also Read: How to Install Kubernetes Cluster on Debian 11 with Kubeadm

1 thought on “How to Set Static IP Address on Debian 11 (Bullseye)”

  1. Nice Guide. Appreciate it.

    In case someone has used “sudo raspi-config” > Advanced Options > Network Interface Names > Would you like to enable predictable network interface names ?

    [email protected]:~ $ sudo nmcli connection modify Wired\ connection\ 1 ipv4.addresses
    [email protected]:~ $ sudo nmcli connection modify Wired\ connection\ 1 ipv4.gateway
    [email protected]:~ $ sudo nmcli connection modify Wired\ connection\ 1 ipv4.method manual
    [email protected]:~ $ sudo nmcli connection modify Wired\ connection\ 1 ipv4.dns ‘’
    [email protected]:~ $ sudo reboot


Leave a Comment