Paket 1 · Fondasi DevOpsModul D — Networking Fundamentals

Public IP, Private IP, NAT, Port Forwarding, dan CGNAT

Membedakan IP publik dan privat, memahami cara kerja NAT, port forwarding, serta keterbatasan CGNAT dan solusinya.

Alamat privat tidak bisa diakses langsung dari internet. Agar server lokal bisa diakses, kita memerlukan NAT, port forwarding, atau solusi tunnel. Memahami hal ini penting sebelum mengatur akses ke Proxmox dan aplikasi Anda.

Public IP vs private IP

AspekPublic IPPrivate IP
JangkauanUnik di internetHanya di jaringan lokal
Contoh103.47.132.10192.168.1.60
RoutingDirutekan globalTidak dirutekan internet
BiayaTerbatas, biasanya dari ISPGratis
KeamananLangsung terpaparTerlindungi di belakang NAT

Cek IP publik Anda:

curl -4 ifconfig.me
curl -4 https://api.ipify.org

Cek IP lokal:

ip -4 -br a

NAT (Network Address Translation)

NAT menerjemahkan alamat privat menjadi alamat publik (dan sebaliknya).

Jenis NATArahFungsi
SNAT / MASQUERADEKeluarBanyak host privat berbagi satu public IP
DNAT / Port forwardingMasukMeneruskan port publik ke host internal
Hairpin NATInternal ke internal lewat IP publikAkses layanan lewat domain publik dari LAN

Alur sederhana

Laptop 192.168.1.10
        │
        ▼
Router/NAT public 103.47.132.10
        │
        ▼
Internet

Saat laptop membuka example.com, router mengganti source IP privat menjadi public IP, lalu mengingat koneksi agar balasan dikembalikan ke laptop yang benar.

Port forwarding

Port forwarding memetakan port di public IP ke IP:port internal.

Contoh di router rumah:

PublicInternalLayanan
103.47.132.10:2222192.168.1.50:22SSH Proxmox
103.47.132.10:8080192.168.1.60:80Web server

Risiko membuka port

Membuka SSH ke internet mengundang percobaan brute force. Gunakan key-based auth, firewall, Fail2ban, dan pertimbangkan Tailscale atau Cloudflare Tunnel sebagai alternatif yang lebih aman.

NAT di Proxmox

Jika VM/LXC memakai bridge internal vmbr1 (10.10.10.0/24), host Proxmox dapat menjadi gateway NAT.

Aktifkan IP forwarding

echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-forwarding.conf
sysctl --system

Aturan iptables

# Keluar internet
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o vmbr0 -j MASQUERADE

# Port forwarding: public port 8080 -> 10.10.10.11:80
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 \
  -j DNAT --to-destination 10.10.10.11:80

# Izinkan forwarding
iptables -A FORWARD -i vmbr1 -o vmbr0 -j ACCEPT
iptables -A FORWARD -i vmbr0 -o vmbr1 -m state --state RELATED,ESTABLISHED -j ACCEPT

Simpan aturan agar bertahan setelah reboot:

apt install -y iptables-persistent
netfilter-persistent save

Proxmox Firewall

Proxmox punya firewall di level datacenter, node, dan guest. Pastikan aturan tidak saling bertentangan dengan aturan iptables/nftables Anda.

CGNAT

CGNAT (Carrier-Grade NAT) dipakai ISP ketika public IPv4 terbatas. Banyak pelanggan berbagi satu public IP.

DampakPenjelasan
Tidak bisa port forwardingAnda tidak mengontrol NAT ISP
IP publik berubahTidak ada alamat tetap
Akses masuk sulitButuh tunnel atau VPN
LatensiSedikit tambahan, biasanya tidak signifikan

Rentang CGNAT: 100.64.0.0/10.

Cek apakah Anda di belakang CGNAT:

curl -4 ifconfig.me

Bandingkan dengan IP WAN di halaman admin router. Jika berbeda dan IP WAN berada di 100.64.x.x – 100.127.x.x, kemungkinan besar Anda terkena CGNAT.

Solusi tanpa public IP

  • Tailscale — mesh VPN, akses privat tanpa port forwarding (Modul F).
  • Cloudflare Tunnel — menerbitkan layanan tanpa membuka port (Modul G).
  • VPS relay — server kecil dengan public IP sebagai perantara.

Praktik: cek jalur keluar

# IP lokal
ip -4 -br a

# Gateway
ip route | grep default

# IP publik
curl -4 ifconfig.me

# Uji koneksi keluar
ping -c 3 1.1.1.1
curl -I https://example.com

Bandingkan hasilnya dengan topologi Anda untuk memastikan apakah trafik melewati NAT router, NAT Proxmox, atau CGNAT ISP.

Ringkasan

  • Public IP dapat diakses internet; private IP hanya di jaringan lokal.
  • NAT menerjemahkan alamat; port forwarding meneruskan koneksi masuk.
  • CGNAT membatasi akses masuk dan membuat port forwarding tidak mungkin.
  • Tailscale dan Cloudflare Tunnel adalah solusi umum tanpa public IP.

Selanjutnya

Pelajari koneksi dan port di Port, TCP/UDP, Socket, dan Connection.

On this page