Cara Install Mikrotik CHR di VPS Ubuntu DigitalOcean - CHR (Cloud Hosted Router) merupakan salah satu jenis ROS mikrotik namun dikhususkan untuk penggunaan virtualisasi. Untuk lebih jelasnya silakan baca artikel saya yang sebelumnya tetang Apa Itu CHR ?
Sebagian penyedia layanan VPS (Virtual Private Server) menyediakan pilihan untuk menginstall CHR pada layanannya. Namun sebagian lainnya tidak memberikan opsi CHR sebagai operating system yang digunakan untuk VPS.
Lalu bagaimana cara install CHR jika penyedia VPS tidak memberikan opsi CHR sebagai operating systemnya?
Meskipun tidak ada pilihan CHR pada sistem operasinya, kita masih bisa menginstall CHR pada VPS tersebut, yaitu dengan cara menginstall Ubuntu terlebih dahulu.
Berikut akan saja jelaskan langkah-langkah Install CHR di VPS Ubuntu. Kali ini saya menggunakan VPS dari DigitalOcean.
Bagi yang belum memiliki akun DigitalOcean silakah bisa mendaftar melalui link berikut agar mendapatkan saldo gratis $25 Daftar DigitalOcean.
Jika sudah, langsung ke menu Droplets dan buatlah Droplet baru, Droplet adalah istilah VPS di lingkungan DigitalOcean. Jadi droplet = vps.
Selanjutnya memilih plan dan spesifikasi, disini saya memilih yang pling rendah, yaitu dengan harga $5 perbulan.
Jangan lupa mengisi password untuk droplet yang akan dibuat sampai indikator berwarna hijau. Scroll ke bawah dan pilih create doplet.
Tunggu hingga proses selesai. Maka akan ditampilkan data droplet beserta ip addressnya.
Langsung saja akses menggunakan ssh seperti biasanya dengan user root.
Copy dan paster script berikut.
wget http://download2.mikrotik.com/routeros/6.37/chr-6.37.img.zip -O chr.img.zip && \
gunzip -c chr.img.zip > chr.img && \
apt-get update && \
apt install -y qemu-utils pv && \
qemu-img convert chr.img -O qcow2 chr.qcow2 && \
qemu-img resize chr.qcow2 1073741824 && \
modprobe nbd && \
qemu-nbd -c /dev/nbd0 chr.qcow2 && \
echo "Give some time for qemu-nbd to be ready" && \
sleep 2 && \
partprobe /dev/nbd0 && \
sleep 5 && \
mount /dev/nbd0p2 /mnt && \
ADDRESS=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \
GATEWAY=`ip route list | grep default | cut -d' ' -f 3` && \
PASSWORD="CHANGEME" && \
echo "/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY
/ip service disable telnet
/user set 0 name=root password=$PASSWORD
/ip dns set servers=1.1.1.1,1.0.0.1
/system package update install
" > /mnt/rw/autorun.scr && \
umount /mnt && \
echo "Magic constant is 65537 (second partition address). You can check it with fdisk before appliyng this" && \
echo "This scary sequence removes seconds partition on nbd0 and creates new, but bigger one" && \
echo -e 'd\n2\nn\np\n2\n65537\n\nw\n' | fdisk /dev/nbd0 && \
e2fsck -f -y /dev/nbd0p2 || true && \
resize2fs /dev/nbd0p2 && \
sleep 1 && \
echo "Compressing to gzip, this can take several minutes" && \
mount -t tmpfs tmpfs /mnt && \
pv /dev/nbd0 | gzip > /mnt/chr-extended.gz && \
sleep 1 && \
killall qemu-nbd && \
sleep 1 && \
echo u > /proc/sysrq-trigger && \
echo "Warming up sleep" && \
sleep 1 && \
echo "Writing raw image, this will take time" && \
zcat /mnt/chr-extended.gz | pv > /dev/vda && \
echo "Don't forget your password: $PASSWORD" && \
echo "Sleep 5 seconds (if lucky)" && \
sleep 5 || true && \
echo "sync disk" && \
echo s > /proc/sysrq-trigger && \
echo "Ok, reboot" && \
echo b > /proc/sysrq-trigger
Silakan diubah pada bagian password sesuai dengan keinginan. Tunggu proses hingga selesai dan jika sudah ssh kembali menggunakan user root dan password sesuai dengan password yang dituliskan di script.