Installasi zerotier di Container Mikrotik
Mikrotik telah menyediakan paket untuk Zerotier, namun hanya tersedia pada arsitektur ARM dan ARM64. Untuk mengatasi permasalahan tersebut, zerotier dapat diinstallasi melalui mikrotik container. Permasalahannya mikrotik container hanya tersedia pada arsitektur ARM, ARM64 dan x86.
Penulis menggunakan mikrotik x86 untuk melakukan Installasi zerotier melalui container yang ada di mikrotik. Mikrotik container hanya tersedia mulai ROS 7, bila ROS anda masih dibawah ROS 7 wajib melakukan upgrade.
Langkah yang perlu dilakukan sbb:
Pastikan package container telah terinstall di mikrotik. Bila belum terinstall, silahkan didownload di websites mikrotik.com/download dan sesuaikan dengan versi ROS yang terinstall.
Pastikan mode container telah aktip, bila belum segera diaktipkan dengan perintah dibawah, selanjutnya restart mikrotik.
tambahkan virtual ethernet dengan ip address yang diinginkan, misalnya 172.17.0.2 sedangkan untuk gataways kita gunakan 172.17.0.1 yang akan dikonfigurasikan di bridge.
Tambahkan Bridge dan IP address untuk bridge. Bedagan IP address bridge dengan ip address untuk virtual ethernet.
/interface/bridge/add name=containers /ip/address/add address=172.17.0.1/24 interface=containers
Tambahkan virtual ethernet ke dalam bridge yang telah dibuat.
/interface/bridge/port add bridge=containers interface=veth1
Tambahkan NAT untuk outgoing container.
/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.17.0.0/24
Sampai disini konfigurasi untuk container sudah selesai. Selanjutnya container yang akan kita tambahkan perlu dikonfigurasikan melalui menu container
Pada contoh kali ini, saya akan menambahkan installasi zerotier dari hub.docker.com. Yang perlu disiapkan disini untuk mendukung container zerotier adalah net, cap-add,TZ dan device, maka perlu ditambahkan pada environment. Untuk mengaktipkan timezone, diperlukan penambahan modul tzdata.
Selanjutnya tambahkan environment melalui terminal mikrotik atau langsung pada container.
/container/envs/add key=net name=zerotier value=host
/container/envs/add key=cap-add name=zerotier value=NET_ADMIN,SYS_ADMIN,SYS_TIME
/container/envs/add key=TZ name=zerotier value="Asia/Makassar"
/container/envs/add key=device name=zerotier value=/dev/net/tunhasilnya sebagai berikut:
Selanjutnya tambahkan sumber images dari container, misalnya diambail dari dokcer.com dengan alamat https://registry-1.docker.io
/container/config/set registry-url=https://registry-1.docker.io
Terdapat banyak container zerotier di hub.docker.com, namun yang akan kita gunakan adalah https://hub.docker.com/r/gists/zerotier
dari hasil percobaan, hanya container ini yang berhasil terhubung ke zerotier.com dan konfigurasinya lebih nyaman, tidak terhubung dimungkinkan karena versi ROS yang ada bugs dan tidak dapat terhubung ke zerotier.
/container/add remote-image=gists/zerotier:latest interface=veth1 envlist=zerotier
atau melalui winbox seperti gambar berikut :
Tunggu beberapa menit sampai zerotier di download dan di extract dalam container, sampai tanda E hilang dan berganti menjadi S.
Selanjutnya aktipkan zerotier dengan menekan tombol start.
Sampai disini, installasi zerotier telah selesai dengan status zerotier aktip (tanda huruf R). Selanjutnya kita perlu menghubungkan zerotier di mikrotik ke server zerotier.com. Pastikan di zerotier.com sudah membuat account dan mengaktipkan network di zerotier.com
Lihat terlebih dahulu, zerotier ada di nomor berapa dengan perintah dibawah
/container/print
/container/shell 0
Tambahkan modul tzdata di container dengan command berikut:
apk add tzdatamelalui container mikrotik, kita berikan perintah dibawah ini untuk mendaftarkan zerotier di mikrotik ke zerotier.com, ganti network-id-zerotier dengan kode yang didapatkan dari zerotier.
zerotier-cli join <network-id-zerotier>setelah menjalankan perintah diatas, selanjutnya masuk kembali ke websites zerotier.com dan berikan authorize ke host yang baru tergabung ke jaringan anda di zerotier.
Sampai disini, container zerotier mikrotik telah aktip dan dapat di ping dari komputer yang telah terhubung ke zerotier.
Gambar dibawah merupakan hasil ping ke container zerotier di mikrotik dari komputer yang telah terhbung ke mikrotik.
Selanjutnya buatkan sebuah file dengan nama /entrypoint.sh di root directory, sesuaikan dengan ip address dan konfigurasi zerotier yang anda miliki. pastikan iptables sudah terinstall di container anda.
#!/bin/sh
set -e
echo "Setting up iptables rules..."
# Forwarding rule
iptables -A FORWARD -j ACCEPT
# DNAT rule
iptables -t nat -A PREROUTING -d 10.10.11.200/32 -j DNAT --to-destination 172.18.0.1
# MASQUERADE rules
iptables -t nat -A POSTROUTING -o veth1-zerotier -j MASQUERADE
iptables -t nat -A POSTROUTING -o ztpxxxxxx -j MASQUERADE
echo "iptables rules applied successfully."
# Execute the container's main command (CMD)
exec "$@"Selanjutnya buka container zerotier, cari bagian entrypoint dan tambahkan file /entrypoint.sh
Bila tidak ada masalah, seharusnya mikrotik anda sudah bisa dibuka dari internet melalui zerotier.
tambahan :
Mikrotik RouterOS 7.23 mulai melakukan tambahan untuk health status, kita dapat menambahkan command untuk melakukan pengecekan healthtly pada zerotier dengan menambahkan kode di tab healthcheck pada kolom Healthcheck Cmd
ping -c 1 10.10.11.200 || exit 1
Comments