Linux:Network

From Cheatsheet
Revision as of 12:23, 12 June 2025 by Patrick (talk | contribs) (→‎DNS)
Jump to navigationJump to search


Checks

Common

# List route table
route -n

# Display network connections and current states
netstat

# Check listening ports, connected remote IPs, processes, states and more
netstat -taupen

# Check listening ports and IPs of the local server
netstat -tulpn

# List the routing table
netstat -r

# List verbose common TCP and ICMP information
netstat -s

# List iptable rules (Nftables)
iptables -nvL

# List iptable rules (Legacy iptables)
iptables-legacy -nvL

# Test specific IP and port combination for connectivity
telnet 172.16.2.1 22

# Wireshark on a specific interface to a file, listening on a local port and for a remote IP
tshark -p -i bond0 -w file.pcap -f "port 443 and host 172.16.16.25"

# List available routers
ip netns

# Show interfaces with an IPv4 address
ip -4 a

# Show interfaces with an IPv6 address
ip -6 a

Network

NetworkManager

nmtui is a GUI-tool for managing NetworkManager connections.

Checks

# Show all active network connections
nmcli connection show

# Show connection information for interface ens5
nmcli connection show ens5

# Show active and unactive network connections
nmcli dev status

nmcli

# Add an IP-address to interface ens6
nmcli connection modify ens6 ipv4.address "192.168.0.10/24"

# Add DNS-servers to interface ens6
nmcli connection modify ens18 ipv4.dns "8.8.8.8,1.1.1.1,196.168.0.1"

# Remove an IP-address from interface ens6
nmcli con mod ens6 -ipv4.addresses 192.168.0.11/24

# Apply changes to interface ens
nmcli device reapply ens6

RHEL

Generic Interface

BOOTPROTO=static for static address
BOOTPROTO=dhcp for DHCP

# /etc/sysconfig/network-scripts/ifcfg-ens128
DEVICE=ens128
NAME=ens128
HWADDR=ab:cd:ef:gh:ij:kl
UUID=0a8d3485-d512-46da-8225-19f4721813c1
BOOTPROTO=static
STARTMODE=auto
ONBOOT=yes
IPADDR=192.168.10.2
NETMASK=255.255.255.0
GATEWAY=192.168.10.1

Generic VLAN Interface

# /etc/sysconfig/network-scripts/ifcfg-eno2.100
VLAN=yes
TYPE=Vlan
PHYSDEV=eno2
VLAN_ID=100
NAME=eno2.100
BOOTPROTO=static
HWADDR=ab:cd:ef:gh:ij:kl
IPADDR=192.168.100.217
NETMASK=255.255.255.0
STARTMODE=auto
UUID=689cff6f-c750-4db7-936c-234fb80b6018
GATEWAY=192.168.100.1

VLAN Bond interface configuration

Virtual Bond Master
BONDING_OPTS="mode=802.3ad miimon=100"
TYPE=Bond
BONDING_MASTER=yes
PROXY_METHOD=none
BROWSER_ONLY=no
IPV6INIT=no
NAME=bond0
UUID=7bb91614-6ffe-4bdc-9b37-c6e9d37f6987
DEVICE=bond0
ONBOOT=yes
AUTOCONNECT_PRIORITY=9
AUTOCONNECT_RETRIES=0
AUTOCONNECT_SLAVES=yes
MTU=1500
Physical bond Slaves
# /etc/sysconfig/network-scripts/ifcfg-ens1
TYPE=Ethernet
NAME=ens1
UUID=c6a4da43-b84a-44f4-b49f-4bdc717d4238
DEVICE=ens1
ONBOOT=yes
AUTOCONNECT_PRIORITY=9
AUTOCONNECT_RETRIES=0
MASTER_UUID=7bb91614-6ffe-4bdc-9b37-c6e9d37f6987
MASTER=bond0
SLAVE=yes
# /etc/sysconfig/network-scripts/ifcfg-ens2
TYPE=Ethernet
NAME=ens2
UUID=ca09a126-a082-4620-a920-be45269e5d8a
DEVICE=ens2
ONBOOT=yes
AUTOCONNECT_PRIORITY=9
AUTOCONNECT_RETRIES=0
MASTER_UUID=7bb91614-6ffe-4bdc-9b37-c6e9d37f6987
MASTER=bond0
SLAVE=yes
VLAN 100 Interface
# /etc/sysconfig/network-scripts/ifcfg-vlan-bond0.100
VLAN=yes
TYPE=Vlan
PHYSDEV=bond0
VLAN_ID=100
REORDER_HDR=yes
GVRP=no
MVRP=no
HWADDR=
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.100.10
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=vlan-bond0.100
UUID=83b0e31c-9a9f-47da-9dc6-645796bc47aa
ONBOOT=yes
AUTOCONNECT_PRIORITY=9
AUTOCONNECT_RETRIES=0
GATEWAY=192.168.100.1

Ubuntu/Debian

Netplan

# Apply the configuration, but if the dialogue is left unconfirmed, the configuration will be reverted.
netplan try

# Apply the configuration
netplan apply
Generic DCHP interface
network:
    version: 2
    ethernets:
        ens4:
            # Some info about the Interface/why does it exist
            dhcp4: true
            match:
                macaddress: fa:16:3e:aa:bb:cc
            set-name: ens4

Generic DHCP Interfaces, but while ignoring the routes for an Interface and disabling DHCP on the other.

network:
    version: 2
    ethernets:
        ens4:
            # Some info about the Interface/why does it exist
            dhcp4: true
            dhcp4-overrides:
              use-routes: false
            match:
                macaddress: fa:16:3e:aa:bb:cc
            set-name: ens4
        ens5:
            # Some info about the Interface/why does it exist
            dhcp4: no
            match:
                macaddress: fa:16:cc:dd:ee
            set-name: ens5
Generic static interface

You may have to disable automatic network-configuration:

sudo bash -c 'echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg'
network:
    version: 2
    ethernets:
        ens7:
           addresses:
              - 192.168.0.23/24
           match:
               macaddress: ab:cd:ef:gh:ij:kl
           mtu: 1500
           set-name: ens7
           nameservers:
               addresses: [1.1.1.1, 8.8.8.8]
           routes:
              - to: default
                via: 192.168.0.1
VLAN Interface
network:
    version: 2
    ethernets:
        eno1: {}
    vlans:
        eno1.10:
            id: 10
            link: eno1
            addresses: [192.168.1.1/24]
        eno1.20:
            id: 20
            link: eno1
            addresses: [192.168.2.1/24]
            nameservers:
              addresses:
                - 1.1.1.1
                - 8.8.8.8
              search: []
            routes:
              - to: default
                via: 192.168.2.1
        eno1.30:
            id: 30
            link: eno1
            addresses: [192.168.3.1/24]
Empty Interface
network:
  version: 2
  ethernets:
    eno2:
      dhcp4: false
      dhcp6: false

Interface files

Classic /etc/network/interfaces.d files i.e. /etc/network/interfaces.d/ens200.conf

Generic IPv4
# /etc/network/interfaces.d/ens160.conf
auto ens160
iface ens160 inet static
    address 192.168.23.7
    netmask 255.255.255.0
    gateway 192.168.23.1
Bond
auto eno1
iface eno1 inet manual

auto eno2
iface eno2 inet manual

auto bond0
iface bond0 inet static
        address 192.168.39.245
        gateway 192.168.39.254
        network 255.255.255.0
        bond-slaves eno1 eno2
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2+3
Generic IPv6
# /etc/network/interfaces.d/ens3.conf
iface ens3 inet6 static
address abcd:defg:0:1234:5123:abcd:abcd:1234
netmask 48
gateway abcd:defg::1