Konfigurasi Jaringan di Linux dengan ifupdown: Panduan Lengkap

Meski di judul saya tuliskan dengan ifupdown namun dalam artikel ini beberapa konfigurasi hanya kompatibel dengan ifupdown2. Sangat disarankan untuk menginstall ifupdown2.

ifupdown2 adalah alat konfigurasi jaringan modern yang menggantikan ifupdown pada sistem Linux, seperti Debian (headless/server). Alat ini memberikan fleksibilitas lebih dalam mengonfigurasi interface jaringan, mulai dari pengaturan IP address, MTU, link speed, hingga DNS server. Dengan kemampuan untuk menangani konfigurasi dinamis, ifupdown2 memungkinkan pengguna untuk mengubah pengaturan jaringan tanpa harus me-reboot sistem, menjadikannya pilihan utama bagi administrator sistem yang membutuhkan kontrol penuh atas jaringan mereka. Artikel ini akan memberikan panduan praktis untuk pengaturan IP, MTU, kecepatan link, dan banyak lagi.

Fitur Utama ifupdown2:

  1. Kompatibilitas dengan ifupdown: ifupdown2 mempertahankan sintaks yang sama dengan ifupdown, sehingga memudahkan migrasi.
  2. Pengaturan Dinamis: Menyediakan cara yang lebih fleksibel untuk menangani jaringan, mendukung perubahan konfigurasi tanpa reboot dengan menggunakan perintah ifreload -a.
  3. Modularitas: Mendukung berbagai fitur tambahan melalui plugin, seperti konfigurasi VLAN, bonding, dan bridge.
  4. Peningkatan Kinerja: Lebih cepat dan lebih efisien dalam menangani konfigurasi jaringan, terutama di sistem dengan banyak interface.
  5. Dukungan IPv4 dan IPv6: Mendukung pengaturan IP statis dan dinamis, serta gateway dan DNS.
  6. Fitur tambahan: Menyediakan fitur seperti pengaturan link speed, MTU, dan auto-negotiation dengan cara yang lebih mudah.

Pre Config

Pastikan sudah menginstall ifudown2 jika belum lakukan instalasi paket dengan perintah berikut.

sudo apt install ifupdown2

Karena dalam tutorial kali ini kita akan menyentuh bagian set link speed, auto negotiation, dan beberapa perintah untuk melakukan pengecekan atau validasi konfigurasi menggunakan ethtool maka kita install paket tersebut.
Bisa dibilang ethtool ini adalah ‘dependensi’ dari ifupdown2 yang harus di install secara manual.

sudo apt install ethtool

Perlu di ingat nantinya ethtool hanya bisa dijalan dengan user root maka gunakan user root atau sudo

(Opsional), Agar konfigurasi DNS Server yang kita lakukan di /etc/network/interfaces bisa di eksekusi untuk mengupdate file /etc/resolv.conf kita membutuhkan tools bantuan seperti paket openresolv

apt install openresolv

Mengapa opsional? karena kita bisa mendefinisikan manual DNS Server di file /etc/resolv.conf menggunakan text editor seperti nano atau vim

Untuk mendukung konfigurasi VLAN install paket vlan

sudo apt install vlan

Konfigurasi IPv4 Address

Karena Untuk mendapatkan IPv4 address terdapat 2 cara, yaitu static dan dynamic (DHCP) maka akan saya bagi menjadi 2 sub judul

Konfigurasi IPv4 Address – DHCP

Edit file interfaces

sudo nano /etc/network/interfaces

Berikut contoh konfigurasi IPv4 address DHCP

auto eth0
iface eth0 inet dhcp

Check konfigurasi

sudo ifup --no-act eth0

Jika tidak ada error lakukan reload konfigurasi untuk spesifik interface

sudo ifup eth0

Atau

sudo ifdown eth0 && ifup eth0

Konfigurasi IPv4 Address – Static

Edit file interfaces

sudo nano /etc/network/interfaces

Berikut contoh konfigurasi IPv4 address Static

Opsi 1: Format subnetmask

auto eth0
iface eth0 inet static
        address 10.0.0.2
        netmask 255.255.255.252
        gateway 10.0.0.1
        dns-nameservers 1.1.1.1 8.8.8.8

Opsi 2: Format CIDR (ifupdown2 only)

auto eth0
iface eth0 inet static
       address 10.0.0.2/30
       gateway 10.0.0.1
       dns-nameservers 1.1.1.1 8.8.8.8

Jika DNS Server dikelola manual, atau Gateway dikelola terpisah menggunakan tools routing seperti BIRD atau FRR bisa dihapus untuk baris tersebut.

Check konfigurasi

sudo ifup --no-act eth0

Jika tidak ada error lakukan reload konfigurasi untuk spesifik interface

sudo ifup eth0

Atau

sudo ifdown eth0 && ifup eth0

Konfigurasi IPv6 Address

Karena Untuk mendapatkan IPv6 address terdapat beberapa cara, maka akan saya bagi menjadi beberapa sub judul.

Konfigurasi IPv6 Adress – SLAAC

Edit file interfaces

sudo nano /etc/network/interfaces

Berikut contoh konfigurasi IPv6 address static

auto eth0
iface eth0 inet6 auto

Konfigurasi IPv6 Address – Static

Edit file interfaces

sudo nano /etc/network/interfaces

Berikut contoh konfigurasi IPv6 address static

Opsi 1: Format subnetmask

auto eth0
iface eth0 inet6 static
    address 2001:db8:1000::10:2
    netmask 64
    gateway 2001:db8:1000::10:1
    autoconf 0
    dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844

Opsi 2: Format CIDR (ifudown2 only)

auto eth0
iface eth0 inet6 static
    address 2001:db8:1000::10:2/48
    gateway 2001:db8:1000::10:1
    autoconf 0
    dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844

Jika DNS Server dikelola manual, atau Gateway dikelola terpisah menggunakan tools routing seperti BIRD atau FRR bisa dihapus untuk baris tersebut.

Check konfigurasi

sudo ifup --no-act eth0

Jika tidak ada error lakukan reload konfigurasi untuk spesifik interface

sudo ifup eth0

Atau

sudo ifdown eth0 && ifup eth0

Konfigurasi Dual Stack IPv4 dan IPv6

Edit file interfaces

sudo nano /etc/network/interfaces

Berikut contoh konfigurasi Dual Stack IPv4 dan IPv6

auto eth0
iface eth0 inet static
        address 10.0.0.2   
        netmask 255.255.255.252
        gateway 10.0.0.1
        dns-nameservers 1.1.1.1 8.8.8.8
iface eth0 inet6 static
        address 2001:db8:1000::10:2   
        netmask 64
        gateway 2001:db8:1000::10:1
        autoconf 0
        dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844

Jika DNS Server dikelola manual, atau Gateway dikelola terpisah menggunakan tools routing seperti BIRD atau FRR bisa dihapus untuk baris tersebut.

Check konfigurasi

sudo ifup --no-act eth0

Jika tidak ada error lakukan reload konfigurasi untuk spesifik interface

sudo ifup eth0

Atau

sudo ifdown eth0 && ifup eth0

Konfigurasi MTU

Edit file interfaces

sudo nano /etc/network/interfaces

Berikut contoh konfigurasi MTU

auto eth0
iface eth0 inet static
        address 10.0.0.2/30
        gateway 10.0.0.1
        dns-nameservers 1.1.1.1 8.8.8.8
        mtu 9000
iface eth0 inet6 static
    address 2001:db8:1000::10:2/48
    gateway 2001:db8:1000::10:1
    autoconf 0
    dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844

Jika terdapat 2 protocol IPv4 dan IPv6 (Disarankan) Ditetapkan hanya di bagian inet, ini karena mtu berlaku untuk interface fisik bukan protocol.

Check konfigurasi

sudo ifup --no-act eth0

Jika tidak ada error lakukan reload konfigurasi untuk spesifik interface

sudo ifup eth0

Atau

sudo ifdown eth0 && ifup eth0

Verifikasi dengan perintah berikut

sudo ip link

Output jika sudah sesuai

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 50:fe:c6:00:02:00 brd ff:ff:ff:ff:ff:ff

Konfigurasi Link Speed dan Auto-negotiation off

Pastikan sudah menginstall ifupdown2 dan ethtool.

sudo apt install ifupdown2 ethtool

Edit file interfaces

sudo nano /etc/network/interfaces

Berikut contoh konfigurasi Link Speed

auto eth0
iface eth0 inet static
        address 10.0.0.2/30
        gateway 10.0.0.1
        dns-nameservers 1.1.1.1 8.8.8.8
        mtu 9000
        link-speed 1000
        link-duplex full
        link-autoneg off
iface eth0 inet6 static
        address 2001:db8:1000::10:2/48
        gateway 2001:db8:1000::10:1
        autoconf 0
        dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844

Jika terdapat 2 protocol IPv4 dan IPv6 (Disarankan) Ditetapkan hanya di bagian inet, ini karena link-speed berlaku untuk interface fisik bukan protocol.

Check konfigurasi

sudo ifup --no-act eth0

Jika tidak ada error lakukan reload konfigurasi untuk spesifik interface

sudo ifup eth0

Atau

sudo ifdown eth0 && ifup eth0

Verifikasi dengan perintah berikut

sudo ethtool eth0

Output jika sudah sesuai

Settings for eth0:
        Supported ports: [  ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Link detected: yes

Konfigurasi Interface VLAN

Pastikan sudah install paket vlan

sudo apt install vlan

Aktifkan modul vlan 802.1q

sudo modprobe 8021q

Agar module ditambahkan pada saat booting tambahkan ke /etc/modules

sudo echo 8021q | sudo tee -a /etc/modules

Verifikasi module vlan sudah ditambahkan

cat /etc/modules

Pastikan sudah terdapat modul vlan 8021q seperti berikut

# /etc/modules: kernel modules to load at boot time.                                                                                                                                                           #                                                                                                                                                                                                              # This file contains the names of kernel modules that should be loaded                                                                                                                                         # at boot time, one per line. Lines beginning with "#" are ignored.                                                                                                                                            # Parameters can be specified after the module name.                                                                                                                                                                                                                                                                                                                                                                          8021q

Edit file interfaces

sudo nano /etc/network/interfaces

Berikut contoh konfigurasi Interface VLAN 2000 pada interface fisik ens18

auto ens18.2000
iface ens18.2000 inet static
        address 10.66.66.100/27
        vlan-raw-device ens18

Check konfigurasi

sudo ifup --no-act eth0

Jika tidak ada error lakukan reload konfigurasi untuk spesifik interface

sudo ifup eth0

Atau

sudo ifdown eth0 && ifup eth0

Usefull Command

Disable & Enbale Interface

Menghidupkan interface

ifup ens18.2000

Mematikan interface

ifdown ens18.2000

Verifikasi Konfigurasi Interface Tertentu

ifup --no-act ens18.2000

Verifikasi Konfigurasi Interface Yang Saat Ini UP (ifupdown2 Only)

ifreload -c --no-act

Verifikasi Konfigurasi Semua Interface (ifupdown2 Only)

sudo ifreload -a --no-act

Muat Ulang Konfigurasi Interface Tertentu

sudo ifup eth0

Atau

sudo ifdown eth0 && sudo ifup eth0

Muat Ulang Konfigurasi Interface Yang Saat Ini UP (ifupdown2 Only)

sudo ifreload

Muat Ulang Konfigurasi Semua Interface (ifupdown2 Only)

ifreload -a
Tested On: Debian 12 (Bookworm) Server
Sumber/Referensi:

Fariz Anwar