Langsung ke konten utama

install Mikrotik CHR pada VPS

berbagai cara instalasi mikrotik CHR (Cloud Host Router) di VPS (VIrtual Private Server)
sederhananya adalah seperti dibawah ini

wget https://download2.mikrotik.com/routeros/6.38.3/chr-6.38.3.img.zip -O chr.img.zip && \
gunzip -c chr.img.zip > chr.img && \
mount -o loop,offset=33554944 chr.img /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 && \
echo "/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY
" > /mnt/rw/autorun.scr && \
umount /mnt && \
echo u > /proc/sysrq-trigger && \
dd if=chr.img bs=1024 of=/dev/vda

contoh lain yang sudah ditambahkan konfigurasi username dan password
wget http://download2.mikrotik.com/routeros/6.36.4/chr-6.36.4.img.zip -O chr.img.zip  && \
gunzip -c chr.img.zip > chr.img  && \
mount -o loop,offset=33554944 chr.img /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` && \
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=xxxxxx
" > /mnt/rw/autorun.scr && \
umount /mnt && \
echo u > /proc/sysrq-trigger && \
dd if=chr.img bs=1024 of=/dev/vda && \
echo "sync disk" && \
echo s > /proc/sysrq-trigger && \
echo "Sleep 5 seconds" && \
sleep 5 && \
echo "Ok, reboot" && \
echo b > /proc/sysrq-trigger

script cara untuk menambah disk router yang secara default kurang dari 100 MB

This script very depends on utils output and routeros partitions and etc, so it could probably fail in the future. But the main idea should be quite clear.
I prefer to use previous variant of this script because it runs quite faster. In fact, I do not know why you could ever need to have a big partition on router vm.

wget http://download2.mikrotik.com/routeros/6.36.4/chr-6.36.4.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 `fdisk /dev/vda -l | head -n 1 | cut -d',' -f 2 | cut -d' ' -f 2` && \
modprobe nbd && \
qemu-nbd -c /dev/nbd0 chr.qcow2 && \
echo "Give some time for qemu-nbd to be ready" && \
sleep 2 && \
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` && \
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=xxxxxx
" > /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 "Sleep 5 seconds (if lucky)" && \
sleep 5 || true && \
echo "sync disk" && \
echo s > /proc/sysrq-trigger && \
echo "Ok, reboot" && \
echo b > /proc/sysrq-trigger

PS :
1. check your interface name before apply. here the interface name is : "ens3". Change according yours
2. CHR can run only in full virtualization like vmware, kvm, xen or hyper-v

Komentar

Postingan populer dari blog ini

codeigniter mengambil data JSON dari URL

Sekarang pertukaran data baik itu dekstop, mobile, web sangat mudah dilakukan dengan adanya JSON. Banyak API yang menyediakan dengan format JSON, seperti api.tiket.com, api.cekresi.com bahkan perusahaan besar semacam facebook, google, twitter juga menggunakan API. Cangkal kali ini mencoba sharing bagaimana mengambil data JSON dari URL (website) menggunakan framework codeigniter. URL yang digunakan yaitu http://jsonplaceholder.typicode.com/posts/ . URL ini memang sengaja dibuat untuk digunakan sebagai testing. Data JSON yang diberi oleh URL tadi bentuknya seperti ini [{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }, { "userId": 1, "id": 2,

ip whatsapp dari dns cache mikrotik

selamat pagi sob, kita ketahui setiap administrator memanajemen rule alias lalu lintas mikrotik dengan berbagai cara untuk memenuhi kebutuhan instansi / perusahaan. pada postingan ini ilustrasinya adalah sebagai berikut sebuah perusahaan ingin menjalin komunikasi lewat media whatsapp, akan tetapi akses intenet harus ditutup. Oleh karena itu seorang administrator networking membuat rule sesuai permintaan perusahaan tersebut. Adress Lists Whatsapp

postfixadmin your email address or password is not correct. can't open file letsencrypt privkey.pem

[Wed Feb 02 08:53:49.429318 2022] [php7:notice] [pid 1445731] [client 180.252.186.123:64290] Failed to read password from /usr/bin/doveadm pw -r 5 ... stderr: doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 16: ssl_key: Can't open file /etc/letsencrypt/live/mail.binasaranasukses.com/privkey.pem: Permission denied\n, password: , referer: https://postfixadmin.example.com/login.php [Wed Feb 02 08:53:49.429526 2022] [php7:notice] [pid 1445731] [client 180.252.186.123:64290] Error while trying to call pacrypt(), referer: https://postfixadmin.example.com/login.php [Wed Feb 02 08:53:49.429590 2022] [php7:notice] [pid 1445731] [client 180.252.186.123:64290] Exception: /usr/bin/doveadm pw -r 5 failed, see error log for details in /var/www/postfixadmin/functions.inc.php:1060\nStack trace:\n#0 /var/www/postfixadmin/functions.inc.php(1275): _pacrypt_dovecot()\n#1 /var/www/postfixadmin/model/Login.php(36): pacrypt()\n#2 /var/www/postfixadmin/public/login.php