Lompat ke isi

IP publik Ubuntu lewat L2TP/IPsec

Cara pasang IP publik PerwiraMedia di server Ubuntu 20.04 dan 22.04 memakai L2TP/IPsec (StrongSwan dan xl2tpd), supaya server bisa diakses dari internet walau berada di balik NAT.

Kode IPP-006Diperbarui 7 Nov 2026

Sebelum mulai

  • Ubuntu Server 20.04 atau 22.04 dengan akses sudo.
  • Layanan IP publik aktif. Catat Server Address (IP server VPN), username, dan password dari detail layanan.
  • Mau setup yang lebih ringkas? Pakai IP publik WireGuard di Ubuntu, dengan paket yang mendukung WireGuard.

Cara kerja IP publik di Ubuntu

StrongSwan membangun enkripsi IPsec ke server PerwiraMedia, lalu xl2tpd membuat tunnel L2TP di dalamnya. Setelah tersambung, muncul interface ppp0 berisi IP publik. Koneksi dari internet ke IP publik itu masuk lewat ppp0. Trafik keluar server tetap lewat ISP biasa.

Agar tersambung otomatis setelah reboot

Secara bawaan, tunnel harus disambungkan manual (langkah 9 dan 10) setiap server menyala. Supaya otomatis, di /etc/ipsec.conf ganti auto=add menjadi auto=start, lalu tambahkan baris berikut di bawah [lac vpn-perwiramedia] pada /etc/xl2tpd/xl2tpd.conf.

INI
autodial = yes
redial = yes
redial timeout = 15

Kalau belum berhasil

  • ipsec up gagal: cek right= di ipsec.conf sudah berisi IP server VPN, dan isi /etc/ipsec.secrets benar. Lihat log dengan sudo journalctl -u strongswan-starter -n 50.
  • IPsec established tapi ppp0 tidak muncul: cek username dan password di file opsi PPP, juga lns= di xl2tpd.conf. Lihat log di /var/log/ppp.log.
  • Nama service berbeda di sistemmu: ketik sudo systemctl restart strong lalu tekan Tab untuk melengkapi nama service-nya.
  • Referensi lengkap konfigurasi ada di dokumentasi strongSwan.

Langkah-langkah

0 dari 11 selesai

Ketuk nomor di tiap langkah untuk menandainya selesai. Progresmu tersimpan di perangkat ini.

  1. Update sistem

    Update System & Upgrade Linux
    Terminal
    sudo apt update && sudo apt upgrade -y
  2. Install StrongSwan dan xl2tpd

    Install StrongSwan dan xl2tpd di Ubuntu
    Terminal
    sudo apt install -y strongswan xl2tpd
  3. Isi pre-shared key IPsec

    Buka /etc/ipsec.secrets dan tambahkan baris di bawah. perwiramedia adalah pre-shared key bawaan layanan. Simpan dengan Ctrl+O, keluar dengan Ctrl+X.

    Konfigurasi IPsec PerwiraMedia
    Terminal
    sudo nano /etc/ipsec.secrets
    
    # tambahkan baris ini
    : PSK "perwiramedia"
  4. Atur koneksi IPsec

    Ganti IP_SERVER_VPN dengan Server Address dari detail layanan.

    IPsec Conf Setup
    Terminal
    sudo nano /etc/ipsec.conf
    
    # ganti isinya dengan ini
    config setup
        charondebug="ike 2, knl 2, cfg 2"
        uniqueids=no
    
    conn l2tp-perwiramedia
        keyexchange=ikev1
        authby=secret
        type=transport
        left=%defaultroute
        leftprotoport=17/1701
        right=IP_SERVER_VPN
        rightprotoport=17/1701
        ike=aes128-sha1-modp1024
        esp=aes128-sha1
        forceencaps=yes
        auto=add
  5. Atur L2TP (xl2tpd)

    Ganti IP_SERVER_VPN dengan Server Address yang sama.

    XL2TPD Setup Config
    Terminal
    sudo nano /etc/xl2tpd/xl2tpd.conf
    
    # ganti isinya dengan ini
    [global]
    port = 1701
    
    [lac vpn-perwiramedia]
    lns = IP_SERVER_VPN
    pppoptfile = /etc/ppp/options.perwiramedia.xl2tpd.client
    length bit = yes
    ppp debug = yes
  6. Buat file opsi PPP

    Ganti USERNAME_VPN dan PASSWORD_VPN dengan data dari detail layanan. Perintah chmod membuat file hanya bisa dibaca root, karena isinya password.

    File opsi PPP untuk IP publik L2TP di Ubuntu
    Terminal
    sudo nano /etc/ppp/options.perwiramedia.xl2tpd.client
    sudo chmod 600 /etc/ppp/options.perwiramedia.xl2tpd.client
    
    # isi file
    ipcp-accept-local
    ipcp-accept-remote
    refuse-eap
    require-mschap-v2
    noccp
    noauth
    mtu 1400
    mru 1400
    persist
    logfile /var/log/ppp.log
    connect-delay 5000
    name USERNAME_VPN
    password PASSWORD_VPN
  7. Restart service

    Di sebagian sistem, nama service-nya strongswan, bukan strongswan-starter.

    Restart Service Strongswan & xl2tpd
    Terminal
    sudo systemctl restart strongswan-starter
    sudo systemctl restart xl2tpd
  8. Aktifkan service saat boot

    Enable Service Strongswan & xl2tpd
    Terminal
    sudo systemctl enable strongswan-starter
    sudo systemctl enable xl2tpd
  9. Sambungkan IPsec

    Tunggu sampai muncul tulisan connection l2tp-perwiramedia established successfully.

    Connection Established
    Terminal
    sudo ipsec up l2tp-perwiramedia
  10. Sambungkan L2TP

    Perintah ini memulai tunnel L2TP ke server.

    Connecting VPN PerwiraMedia
    Terminal
    echo "c vpn-perwiramedia" | sudo tee /var/run/xl2tpd/l2tp-control
  11. Cek interface ppp0

    Kalau ppp0 muncul dengan IP publik layanan, pemasangan berhasil. Untuk memutus koneksi, ganti huruf c menjadi d pada perintah langkah 10.

    Check Interface ppp0
    Terminal
    ip addr show ppp0
Apakah panduan ini membantu?