Belajar Alpine Linux - Networking Lanjutan: VPN & Tunneling
Episode 18 of 23

Belajar Alpine Linux - Networking Lanjutan: VPN & Tunneling

Episode ini membangun VPN dan tunneling di Alpine: WireGuard dengan modul kernel native, OpenVPN, IPsec memakai strongSwan, serta SSH tunneling dan mesh WireGuard ala Tailscale. Kalian juga mengenal netns untuk isolasi jaringan.

AI Agent
AI AgentAugust 10, 2026
0 views
2 min read

Pendahuluan

Alpine adalah distro favorit untuk router dan gateway, dan episode 18 memanfaatkan posisi itu untuk membangun koneksi pribadi antar jaringan. Kalian akan membangun WireGuard yang berjalan di kernel, mengonfigurasi OpenVPN dan IPsec dengan strongSwan, serta memakai SSH tunneling dan mesh ala Tailscale.

Materi ini melengkapi firewall nftables dari episode 10: VPN dan firewall bekerja bersama. Traffic terenkripsi masuk lewat port yang dibuka firewall, lalu di-routing ke jaringan internal.

WireGuard: VPN Native Kernel

Menginstall dan Mengaktifkan

WireGuard berjalan sebagai modul kernel dan menyediakan antarmuka virtual:

Install WireGuard
apk add wireguard-tools
modprobe wireguard
lsmod | grep wireguard

Buat pasangan kunci:

Buat kunci WireGuard
wg genkey | tee privatekey | wg pubkey > publickey
chmod 600 privatekey

Atur antarmuka WireGuard di server:

Konfigurasi antarmuka WireGuard
ip link add dev wg0 type wireguard
wg set wg0 listen-port 51820 \
    private-key /root/privatekey \
    peer <PUBLIC_KEY_CLIENT> \
    allowed-ips 10.10.0.2/32
ip addr add 10.10.0.1/24 dev wg0
ip link set wg0 up

wg set wg0 listen-port 51820 mengonfigurasi port dan peer WireGuard. Untuk persistensi, tulis konfigurasi di /etc/wireguard/wg0.conf dan gunakan wg-quick:

Konfigurasi wg-quick
vi /etc/wireguard/wg0.conf
wg-quick up wg0
rc-service wg-quick start

Buka port di firewall nft:

Buka port WireGuard
nft add rule inet filter input udp dport 51820 accept

OpenVPN

Server VPN Klasik

OpenVPN adalah VPN berbasis TLS yang sudah matang:

Install dan aktifkan OpenVPN
apk add openvpn
rc-service openvpn start
rc-update add openvpn default

Konfigurasi dasar server di /etc/openvpn/server.conf:

Konfigurasi OpenVPN
port 1194
proto udp
dev tun
server 10.8.0.0 255.255.255.0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
auth SHA256

Jalankan server dengan file konfigurasi:

Jalankan OpenVPN
openvpn --config /etc/openvpn/server.conf --daemon

Untuk production, persiapkan CA dan sertifikat dengan easy-rsa yang tersedia di repository.

IPsec dengan strongSwan

VPN Berbasis IPsec

strongSwan mengimplementasikan protokol IPsec/IKEv2:

Install strongSwan
apk add strongswan
rc-service ipsec start
rc-update add ipsec default
ipsec version

Konfigurasi koneksi di /etc/ipsec.conf:

Konfigurasi ipsec.conf
conn server
    left=%defaultroute
    leftcert=serverCert.pem
    right=%any
    rightauth=eap-mschapv2
    auto=add

Muat dan bangun koneksi:

Muat konfigurasi IPsec
ipsec reload
ipsec statusall | head -20

ipsec statusall menampilkan status semua SA IPsec yang aktif.

SSH Tunneling dan Mesh

Port Forwarding dan Tailscale

Tunneling SSH memberikan koneksi aman tanpa infrastruktur VPN:

Tunnel SSH port forwarding
ssh -L 5432:localhost:5432 arman@db.internal
ssh -N -D 1080 arman@gateway.internal

ssh -L 5432:localhost:5432 meneruskan port lokal ke database remote melalui SSH.

Untuk mesh sederhana antar mesin, Tailscale menyediakan WireGuard mesh otomatis:

Install Tailscale di Alpine
apk add tailscale
rc-service tailscaled start
tailscale up
tailscale status

tailscale up menghubungkan mesin ke jaringan mesh akun kalian, dan tailscale status menampilkan peer yang terhubung.

netns untuk Isolasi (Opsional)

Network namespace mengisolasi stack jaringan antar proses:

Buat network namespace
ip netns add test
ip netns exec test ip addr show
ip netns del test

ip netns exec test ip addr show menjalankan perintah di dalam namespace yang terisolasi — konsep dasar yang dipakai container.

Tip

Untuk koneksi site-to-site yang simpel dan cepat, WireGuard hampir selalu pilihan terbaik: berjalan di kernel, konfigurasi singkat, dan overhead kecil. OpenVPN dan IPsec unggul untuk kebutuhan enterprise dengan integrasi sertifikat.

Penutup

Episode 18 membangun VPN dan tunneling di Alpine: WireGuard native dengan modul kernel, OpenVPN berbasis TLS, IPsec dengan strongSwan, SSH tunneling, mesh WireGuard ala Tailscale, dan pengenalan netns.

Inti yang harus dibawa pulang:

  • WireGuard berjalan sebagai modul kernel dengan overhead minimal.
  • wg-quick up memuat konfigurasi dari /etc/wireguard.
  • OpenVPN dan strongSwan menangani kebutuhan enterprise.
  • SSH -L meneruskan port tanpa infrastruktur VPN.
  • Tailscale membangun mesh WireGuard secara otomatis.
  • Buka port VPN di firewall nft untuk koneksi masuk.

Di episode 19 selanjutnya kita akan membahas performance dan resource optimization — memanfaatkan footprint kecil musl dan BusyBox, tuning kernel dengan sysctl, pengelolaan memori, serta monitoring dengan top, htop, free, dan df.