Friday, July 12, 2013

Menjalankan Proxmox dengan single IP Public

Selamat datang lagi di halaman Tutorial Linux Ubuntu Berbahasa Indonesia, kali ini saya akan menjelaskan tentang bagaimana cara konfigurasi Proxmox VE dengan single IP Public.
http://tutorialubuntuindonesia.blogspot.com

Secara default networking configuration pada proxmox adalah bridge. Dimana eth0 akan di bridge ke sebuah interface bernama vmbr0. Berikut ini adalah konfigurasi default networking pada proxmox :
auto lo
iface lo inet loopback
auto vmbr0
iface vmbr0 inet static
    address xxx.xxx.xxx.xxx
    netmask xxx.xxx.xxx.xxx
    gateway xxx.xxx.xxx.xxx
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
Seandainya kita memiliki 1 IP Publik didalam proxmox, lalu kita ingin supaya IP tersebut dapat digunakan juga oleh banyak VM didalam proxmox. Dalam tulisan ini akan saya coba jelaskan langkah-langkahnya. Pertama kita asumsikan IP Publik yang kita miliki adalah "192.168.1.1" dan IP VM kita harus berupa ip private, kita asumsikan IP untuk VM kita adalah 10.1.1.0. Maka konfigurasinya akan kita rubah menjadi seperti ini :
# network interface settings
auto lo
iface lo inet loopbackauto eth0
iface eth0 inet static
    address  192.168.1.1
    netmask  255.255.255.0
    gateway  192.168.1.2
    post-up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp

iface eth1 inet manual

auto vmbr0
iface vmbr0 inet static
    address  10.1.1.1
    netmask  255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0

    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up   iptables -t nat -A POSTROUTING -s '10.1.1.0/24' -o eth0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.1.1.0/24' -o eth0 -j MASQUERADE
Pada konfigurasi seperti itu, eth0 akan berperan sebagai penghubung antara proxmox,vm, dan internet. Sedangkan vmbr0 bisa dianalogikan sebagai router, atau gateway. Dimana dia memiliki sebuah IP Private "10.1.1.1" dengan netmask "255.255.255.0". Ketika proxmox baru menyala, dia akan membagikan akses internet dari "eth0" kepada subnet IP "10.1.1.0/24". Dan ketika akan mati, proxmox akan menghapus rules masquerade-nya.
Selanjutnya, misalnya kita memiliki 2 VM didalam proxmox tersebut. Tentu saja mereka harus memiliki IP address bukan? :D
Disini yang menarik, karena kita pasti akan membutuhkan akses ssh kepada kedua VM. Kita beri konfigurasi networking default saja kepada keduanya seperti biasanya. Tidak perlu mengubah-ubah networking konfigurasi mereka. Cukup beri mereka IP address. Misalnya,

VM1 = 10.1.1.2/255.255.255.0
VM2 = 10.1.1.3/255.255.255.0
Selalu ingat, tidak ada yang perlu kita rubah dari kedua VM tersebut karena kita akan menambahkan rule "iptables" pada sisi proxmox. Rules tersebut akan membolehkan kita mengakses ssh ke kedua VM tersebut. Rules-ny seperti ini :
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 10100 -j DNAT --to-destination 10.1.1.2:22iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 10101 -j DNAT --to-destination 10.1.1.3:22
iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
Rules pertama, ketika paket datang dari eth0 dan port 10100...akan diteruskan kepada VM1 dan port 22.
Rules kedua, ketika paket datang dari eth0 dan port 10101...akan diteruskan kepada VM2 dan port 22.
Rules ketiga, akan membolehkan berbagai transaksi dari subnet 10.1.1.0/24 ke interface eth0.
Dan selesai sudah, sekarang kedua VM kita bisa untuk di ssh. Untuk rules pengamanan di sisi proxmox maupun di vm, tentu saja Anda bisa menambahkannya sendiri sesusai kebutuhan.

Dan jangan lupa untuk menyimpan rules iptables dengan perintah :
iptables-save > /etc/iptables
Supaya kita tidak perlu men-setting ulang iptables untuk proxmox ketika restart, maka kita bisa me-restore iptables yang kita simpan. Perintahnya :
iptables-restore < /etc/iptables
Saya pribadi menyimpan perintah restore tersebut di file "/etc/rc.local (Linux)". Supaya rules ini akan dipasang ketika startup.

Sekian dulu tutorial ini.
Semoga bermanfaat,
Salam penguin! :)

No comments:

Post a Comment