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
| Aspek | Public IP | Private IP |
|---|---|---|
| Jangkauan | Unik di internet | Hanya di jaringan lokal |
| Contoh | 103.47.132.10 | 192.168.1.60 |
| Routing | Dirutekan global | Tidak dirutekan internet |
| Biaya | Terbatas, biasanya dari ISP | Gratis |
| Keamanan | Langsung terpapar | Terlindungi di belakang NAT |
Cek IP publik Anda:
curl -4 ifconfig.me
curl -4 https://api.ipify.orgCek IP lokal:
ip -4 -br aNAT (Network Address Translation)
NAT menerjemahkan alamat privat menjadi alamat publik (dan sebaliknya).
| Jenis NAT | Arah | Fungsi |
|---|---|---|
| SNAT / MASQUERADE | Keluar | Banyak host privat berbagi satu public IP |
| DNAT / Port forwarding | Masuk | Meneruskan port publik ke host internal |
| Hairpin NAT | Internal ke internal lewat IP publik | Akses layanan lewat domain publik dari LAN |
Alur sederhana
Laptop 192.168.1.10
│
▼
Router/NAT public 103.47.132.10
│
▼
InternetSaat 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:
| Public | Internal | Layanan |
|---|---|---|
103.47.132.10:2222 | 192.168.1.50:22 | SSH Proxmox |
103.47.132.10:8080 | 192.168.1.60:80 | Web 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 --systemAturan 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 ACCEPTSimpan aturan agar bertahan setelah reboot:
apt install -y iptables-persistent
netfilter-persistent saveProxmox 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.
| Dampak | Penjelasan |
|---|---|
| Tidak bisa port forwarding | Anda tidak mengontrol NAT ISP |
| IP publik berubah | Tidak ada alamat tetap |
| Akses masuk sulit | Butuh tunnel atau VPN |
| Latensi | Sedikit tambahan, biasanya tidak signifikan |
Rentang CGNAT: 100.64.0.0/10.
Cek apakah Anda di belakang CGNAT:
curl -4 ifconfig.meBandingkan 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.comBandingkan 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.
IP Address, IPv4, Subnet, dan Private Network
Memahami struktur IPv4, CIDR, subnet mask, alamat privat, dan cara merancang jaringan internal untuk Proxmox, VM, dan LXC.
Port, TCP/UDP, Socket, dan Connection
Memahami port, perbedaan TCP dan UDP, konsep socket, status koneksi, serta cara memeriksa layanan yang mendengarkan.