Wednesday, January 15, 2025

Remote openwrt dari Internet dengan Zerotier

ZeroTier adalah cara untuk menghubungkan perangkat melalui jaringan pribadi Anda di mana saja di dunia. Anda melakukannya dengan membuat jaringan lalu menghubungkan dua perangkat atau lebih ke jaringan tersebut. Anda dapat menggunakan ZeroTier untuk bermain game, terhubung ke sumber daya bisnis jarak jauh, atau bahkan sebagai backplane cloud untuk perusahaan Anda.

Proyek OpenWrt adalah sistem operasi Linux yang menargetkan perangkat tertanam. Alih-alih mencoba membuat satu firmware statis, OpenWrt menyediakan sistem berkas yang sepenuhnya dapat ditulis dengan manajemen paket. Ini membebaskan Anda dari pemilihan dan konfigurasi aplikasi yang disediakan oleh vendor dan memungkinkan Anda untuk menyesuaikan perangkat melalui penggunaan paket agar sesuai dengan aplikasi apa pun. Bagi pengembang, OpenWrt adalah kerangka kerja untuk membangun aplikasi tanpa harus membangun firmware lengkap di sekitarnya; bagi pengguna ini berarti kemampuan untuk penyesuaian penuh, untuk menggunakan perangkat dengan cara yang tidak pernah dibayangkan sebelumnya.


1. Login atau daftarkan account anda di zerotier untuk mendapatkan Network ID Zerotier, catat netwowrk id yang didapatkan seperti gambar Nework ID nya adalah b6079f73c6ed2c90






2. dari menu Luci Openwrt, masuk ke menu Software dan lakukan update.

3. Ketik zerotier di kolom pencarian dan klik tombol install 



4. Setelah installasi selesai masuk ke server dengan SSH.

5. edit file /etc/config/zerotier 


Ganti option enable menjadi 1 dan ganti option id menjadi kode Network id zerotier, option secret biarkan saja karena dibikin otomatis oleh sistem.



config zerotier 'global'

        option enabled '1'       
        option secret 'xxxxxxxxx'

config network 'mynet'

        option id 'b6079f73c6ed2c90'
        option allow_managed '1'
        option allow_global '0'
        option allow_default '0'
        option allow_dns '0'


Kemudian lakukan restart zerotier

service zerotier restart

6. Masuk ke zerotier.com secara otomatis akan tampil node id dari openwrt yang didaftarkan. pada langkah ini kita perlu mengaktipkan autorize agar openwrt memperoleh IP address baru dari zerotier. IP secara otomatis ditampilkan dihalaman member zerotier.com






7. Sampai disini tunggu beberapa menit sampai openwrt menambahkan interface baru dan mendapatkan nomor ip baru dari zerotier.


8. IP yang dihasilkan dapat dilihat langsung dengan memberikan perintah ifconfig di server openwrt dan dapat langsung dilakukan ping dari pc anda.

9. Pastikan PC yang anda gunakan sudah terinstall zerotier yang didownload dari www.zerotier.com/download/ dan telah didaftarkan di zerotier.com


Beberapa openwrt yang terinstall sudah ada firewall yang menyebabkan ip zerotier tidak dapat dilakukan ping atau diakses dari internet. Konfigurasi  firewall diperlukan agar openwrt dapat dibuka dari internet, dengan mengikuti petunjuk berikut:


1. Temukan dan catat Nama device yang dihasilkan oleh zerotier di openwrt dengan perintah dibawah


zerotier-cli get {network_id} portDeviceName 

ganti network_id dengan network id yang didapatkan di zerotier







Pada server ini hasilnya adalah ztppizrecu

Perintah lain untuk menemukan device name dapat menggunakan juga perintah dibawah 

zerotier-cli listnetworks




2. Kode dibawah ini silahkan dimodifikasi dan ganti network.ZeroTier.device dengan Device Name yang dihasilkan dari command diatas.


# Create interface


uci -q delete network.ZeroTier
uci set network.ZeroTier=interface
uci set network.ZeroTier.proto='none'
uci set network.ZeroTier.device='ztppizrecu'


# Configure firewall zone


uci add firewall zone
uci set firewall.@zone[-1].name='vpn'
uci set firewall.@zone[-1].input='ACCEPT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='ACCEPT'
uci set firewall.@zone[-1].masq='1'
uci add_list firewall.@zone[-1].network='ZeroTier'
uci add firewall forwarding

uci set firewall.@forwarding[-1].src='vpn'
uci set firewall.@forwarding[-1].dest='lan'
uci add firewall forwarding

uci set firewall.@forwarding[-1].src='vpn'
uci set firewall.@forwarding[-1].dest='wan'
uci add firewall forwarding

uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].dest='vpn'

 

# Commit changes

uci commit


reboot







Friday, November 15, 2024

Debrick Xiaomi Mi Router 4A

Installasi Openwrt pada Xiaomi Router 4A dengan menggunakan OpenWRTInvasion

 Installasi Openwrt pada Xiaomi router memerlukan sbb :

1. Windows 7-11

2. Linux ISO misalnya Debian. 

3. Emulator 



Konfigurasi Openwrt MESH Lanjutan menggunakan B A T M A N










Konfiguras bat0 dapat ditambah dengan konfigurasi ditambah. file ada di /etc/config/network



option aggregated_ogms '1'
option ap_isolation '0'
option bonding '0'
#option bridge_loop_avoidance '1'
option distributed_arp_table '1'
option fragmentation '1'
option gw_mode 'off'
option hop_penalty '30'
option isolation_mark '0x00000000/0x00000000'
option log_level '0'
option multicast_mode '1'
option multicast_fanout '16'
option network_coding '0'
option orig_interval '1000'


option gw_mode ganti dengan 'server" bila dijadikan gateway dari mesh batman.



option gw_mode 'server'





Tuesday, November 21, 2023

Monitoring Internet di openWRT dengan menggunakan aplikasi watchcat

 Watchcat adalah utiliti ping-watchdog yang memungkinkan kita melakukan pengaturan ketika ping ke host tertentu gagal. Saat tidak ada respons dari host tujuan akibat router openWRT bengong atau mengalami gangguan, kita dapat melakukan restart pada router OpenWRT secara otomatis dengan utility watchcat ini.

Installasi dapat dilakukan melalui cli  dari OpenWrt ataupun web gui luci OpenWRT. Konfigurasi berikut menggunakan cli (command line interface) dari openWRT.

1. Aktipkan putty dan masuk ke IP dari openWRT.

2. Setelah berhasil masuk ke root dari openWRT, berikan perintah sbb :


opkg update
opkg install watchcat


3. Setelah installasi berhasil, kita lakukan perbaikan pada file konfigurasi watchcat.


vi /etc/config/watchcat


4. Masukan kode dibawah dan simpan.


config watchcat
  option period '5m'
  option mode 'ping_reboot'
  option pinghosts '192.168.2.1'
  option pingperiod '30s'
  option forcedelay '1m'




5. Reload konfigurasi watchcat diatas atau bisa juga melakukan restart watchcat

Reload Command

/etc/init.d/watchcat reload

Restart Command

/etc/init.d/watchcat restart



Sampai langkah ini, utility watchcat sudah berjalan di openwrt.


Monday, November 20, 2023

Konfigurasi MESH sederhana di OpenWRT untuk menajaga kesetabilan koneksi Internet

IEEE 802.11s adalah standar jaringan area lokal nirkabel (WLAN) dan amandemen IEEE 802.11 untuk jaringan mesh, yang mendefinisikan bagaimana perangkat nirkabel dapat saling terhubung untuk membuat jaringan mesh LAN nirkabel, yang dapat digunakan untuk topologi yang relatif tetap (bukan seluler) dan nirkabel jaringan ad hoc.

OpenWrt adalah sistem operasi Linux yang menargetkan perangkat tertanam. Daripada mencoba membuat satu firmware statis, OpenWrt menyediakan sistem file yang sepenuhnya dapat ditulis dengan manajemen paket. Ini membebaskan Anda dari pemilihan dan konfigurasi aplikasi yang disediakan oleh vendor dan memungkinkan Anda untuk menyesuaikan perangkat melalui penggunaan paket agar sesuai dengan aplikasi apa pun. Bagi pengembang, OpenWrt adalah kerangka kerja untuk membangun aplikasi tanpa harus membuat firmware lengkap di sekitarnya; bagi pengguna, ini berarti kemampuan untuk melakukan penyesuaian penuh, untuk menggunakan perangkat dengan cara yang tidak pernah dibayangkan.

Konfigurasi Mesh di openwrt diperlukan langkah langkah yang tidak begitu sulit, intinya perangkat yang terinstall mesh bisa saling berkomunikasi.

Apa yang diharapkan dengan adanya mesh di openwrt, yang diharapkan adalah ketika perangkat elektronik baik berupa HP, Laptop, dll yang terhubung ke perangkat wifi yang terinstall openwrt secara mudah perangkat-perangkat ini dapat berpindah ke perangkat wifi lainnya tanpa memutus hubungan ke internet. Perangkat-perangkat ini akan dengan cepat berpindah dari satu perangkat wifi dengan sinyal lemah/posisi jauh ke perangkat wifi dengan sinyal kuat/posisi terdekat dengan menggunakan teknik fast roaming (IEEE 802.11r)

Langkah demi langkah konfigurasi MESH dengan openwrt release 23.05.2 dapat dilihat pada petunjuk dibawah.


1. Langkah awal masuk ke Menu Netowrk dan pilih Wireless. Konfigurasikan mesh pada WIFI1 dengan menambahkan wireless baru dengan cara mengklik menu add


2. Pada menu ini pilih General Setup, pilih mode 802.11s, masukan Mesh Id dan pilin network lan.



3. Pada menu Wireless Security pilih WPA3-SAE dan masukan key yang diinginkan, selesai dan simpan. Catat key yang dimasukan, nantinya akan digunakan di Router Mesh yang lain.



4. Hasil penambahan Mesh yang baru dilakukan dapat dilihat hasilnya seperti gambah dibawah






5. Selanjutnya agar Wifi1 bisa dibuka dari internet melalui browser, lakukan disable pada menu startup, tekan tombol disable firewall dan tombol stop




6. Selanjutnya hubungkan komputer ke wifi2 dengan kabel LAN. Setelah terhubung masukan ip 192.168.1.1 di browser sama seperti alamat ip di Wifi1 karena di Wifi2 masih aktip ip tersebut.

Setelah login, masuk ke menu startup, disable dnsmasq, firewall dan odhcpd, jangan lupa tekan tombol stop untuk aplikasi tersebut.




7. Masuk ke menu Network dan pilih firewall, hapus semua rule yang ada di firewall




8. Selanjutnya masuk ke menuNetwork dan pilih interface. pada tab Interface pilih tombol edit pada lan.


9. Pilih tab General setting dan ganti protocol menjadi dhcp client



10. Pada tab DHCP Server, aktipkan/centang Ignore Interface untuk menonaktipkan DHCP server, dan terakhir pilih save dan apply



11. Langkah selanjutnya, sambungkan Wifi1 dan Wifi2 dengan kabel lan, Posisi kabel di wifi2 masukan di wan, sedangkan di wifi1 masukan disalah satu colokan lan.

Setelah kabel dikedua wifi terhubung, pindahkan kabel lan yang terhubung ke laptop dicolokan ke lan wifi1, kemudian login ke 192.168.1.1 di wifi1. 

Pada menu status akan tampil IP dari wifi2 yang telah terdaftar pada dhcp server wifi1. Catat IP adress dari Wifi2 tersebut, misalnya disini dihasilkan ip 192.168.1.186 untuk wifi2.




12. Buka Browser baru, masukan IP address dari Wifi2 dengan mengetik 192.168.1.186 dan login ke wifi2.

pada langkah ini ulangi Langkah 1 sampai langkah 4 di atas di wifi2 ini.


13. Masih di wifi2, Selanjutnya masuk ke menu Device, dan klik tombol configure pada br-lan



14. Pada menu General device option, di bridge port aktipkan semua device, simpan dan apply




15. Hasil akhir dari konfigurasi mesh ini dapat dilihat di menu Wireless, 



16. Hasil yang sama mesh sudah terhubung dapat di Wifi 1 seperti gambar.




17. Sampai disini konfigurasi MESH sudah selesai. selanjutnya kita konfigurasi wifi yang akan terhubung ke Client.

Pada menu wireless gunakan wifi yang sudah ada atau bisa juga ditambahkan. pada langkah ini digunakan wifi yang sudah ada yaitu openwrt.

Edit semua wifi openwrt baik 2.4Ghz ataupun 5Ghz yang ada di Wifi1 dan Wifi2, lakukan konfigurasi yang sama baik ssid ataupun passwordnya seperti gambar.



18. Masih di menu ini, klik pada Tab WLAN Roaming. aktipkan 802.11r Fast Transaction, Mobility Domain dan FT Protocol menjadi FT over the air. Simpan dan Apply.

Pastikan konfigurasi ini dilakukan di Wifi1 dan Wifi2, Wifi3 dan lainnya yang terhubung ke MESH yang sama.

802.11r Fast Transaction : Wifi otomatis berpindah ke sinyal yang lebih kuat.

Mobility Domain : merupakan kode yang digunakan untuk komunikasi sesama MESH. 

FT over the air : Komunikasi digunakan melalui jaringan Nirkabel/Wifi.

catatan:
Konfigurasi wifi yang tidak menggunakan Encrpytion (No Encryption/Open Network) secara otomatis tidak dapat mengaktipkan fast Roaming di openwrt.




Sampai disini konfigurasi MESH sudah selesai, selanjutnya dapat diuji dengan perangkat elektronik yang terhubung menggunakan Wifi. Pengujian dengan menempatkan posisi Wifi1 dan Wifi2 Berjauhan. Perangkat elektronik yang terhubung ke Wifi1 akan berpindah ke Wifi2 secara otomatis ketika menemukan sinyal Wifi2 lebih kuat dari Wifi1.


Berikut adalah tambahan konfigurasi wifi1 yang terhubung ke router mikrotik yang menggunakan hotspot.

1. Login ke wifi1, selanjutnya masuk ke menu Network - Interface dan klik pada tab device

2. Klik tombol configure pada device br-lan, dan aktipkan eth0 dan eth1 seperti gambar dan simpan



3. Masih di menu ini, kelik pada tab Interface dan hapus interface wan dan wan6, sehingga menyisakan interface lan saja. Simpan dan apply. Kadang router openwrt perlu dilakukan restart.

4. Lakukan penghapusan wan dan wan6 di semua Router openwrt. simpan, apply dan restart.



Konfigurasi Tambahan :

Konfigurasi Brdige sering terjadi "Network Loop" untuk mengatasinya saya aktipkan STP dan IGMP snooping (optional)  di Network - Interface - Advace device option.





Penambahan Option untuk mesh hanya dapat dilakukan melalui command line, tidak malalui Luci di file /etc/config/wireless

Konfigurasi di openwrt Utama yang terhubung internet sbb :

option mesh_hwmp_rootmode '3'
option mesh_gate_announcements '1'

Konfigurasi di openwrt Client sbb :

option mesh_hwmp_rootmode '0'

sumber :


https://openwrt.org/docs/guide-user/network/wifi/mesh/80211s


Catatan :

1. Untuk Mikrotik Hotspot seringkali tidak bisa masuk ke halaman login hotspot ini disebabkan konfigurasi dns masih menggunakan dns milik openwrt, untuk menggantikan lakukan perbaikan pada file /etc/config/dhcp kemudian ganti        

option localservice '1'

menjadi        

option localservice '0'

2. Untuk pengguna chip atheros seperti tp-link archer C7, agar menghapus driver  ath10k-firmware-qca988x-ct dan kmod-ath10k-ct dari menu software dan menginstall kembali driver tanpa akhiran ct seperti ath10k-firmware-qca988x dan kmod-ath10k. Driver dengan file akhiran ct menyebabkan MESH tidak aktip di openwrt.


3. Penambahan ssh-key dapat dilakukan ke SSH server di openwrt di menu Administration - ssh-key, kode atau file ssh-key yang dimasukan ke openwrt akan tersimpan di file /etc/dropbear/authorized_keys




Tuesday, October 17, 2023

Blokir iklan melalui mikrotik

 kode script berikut untuk memblokir iklan, settingnya sangat mudah, cukup copy paste.

Pastikan terlebih dahulu dhcp client yang dikonfigurasikan tidak mengaktipkan use peer dns, bila aktip secara otomatis proses blokir iklan tidak ada gunanya.





silahkan copy paste kode dibawah di mikotik anda.

# jika ada, hapus settingan lama
/tool netwatch remove [find comment="MyTunnel-DNS-Blokir-Iklan"]
/ip firewall nat remove [find comment="MyTunnel-DNS-Blokir-Iklan"]
/ip route remove [find comment="MyTunnel-DNS-Blokir-Iklan"]
/interface ovpn-client remove [find comment="MyTunnel-DNS-Blokir-Iklan"]
/interface sstp-client remove [find comment="MyTunnel-DNS-Blokir-Iklan"]
/interface l2tp-client remove [find comment="MyTunnel-DNS-Blokir-Iklan"]
/interface pptp-client remove [find comment="MyTunnel-DNS-Blokir-Iklan"]
# pasang ovpn-client
/interface sstp-client
add connect-to=194.233.71.185 disabled=no name=MyTunnel-DNS password=tunnel.my.id profile=default-encryption user=dns comment="MyTunnel-DNS-Blokir-Iklan"
# pasang nat ke vpn
/ip firewall nat add chain=srcnat out-interface=MyTunnel-DNS action=masquerade comment="MyTunnel-DNS-Blokir-Iklan"
# route ip khusus dns ke vpn /ip route add check-gateway=ping distance=1 dst-address=94.140.14.14/32 gateway=10.0.32.1 comment="MyTunnel-DNS-Blokir-Iklan"
add check-gateway=ping distance=1 dst-address=94.140.15.15/32 gateway=10.0.32.1 comment="MyTunnel-DNS-Blokir-Iklan"
# netwatch agar vpn tidak dc
/tool netwatch
add host=10.0.32.1 comment="MyTunnel-DNS-Blokir-Iklan"



# hapus cache dns di mikrotik
/ip dns cache flush

# set dns mikrotik
/ip dns
set allow-remote-requests=yes servers=94.140.14.14,94.140.15.15

# done

kode diatas diambil dari alamat websites https://tunnel.my.id/download/vpndns.txt
kode yang digunakan hanya dari alamat https://tunnel.my.id/download/vpndns.adguard.txt
dan disesuaikan dengan konfigurasi di mikrotik anda.


Selanjutnya buka tool - netwatch dan klik pada konfigurasi MyTunnel-DNS-Blokir-Iklan, pilih pada tab Up dan isi dengan script dibawah :


/ip dns set servers=94.140.14.14,94.140.15.15;
# /ip dns set use-doh-server="https://78182dc2.d.adguard-dns.com/dns-query";
/ip dns cache flush;

 

# Aktipkan NAT ke MyTunnel-DNS

/ip firewall nat enable [find comment="MyTunnel-DNS-Blokir-Iklan"];


# Enable Route ke MyTunnel-DNS

/ip route  enable [find comment="MyTunnel-DNS-Blokir-Iklan"];


 


Klik pada tab Down dan isi dengan script dibawah :

/ip dns set servers=192.168.18.1;
#/ip dns set use-doh-server="";
/ip dns cache flush;

 

#disable NAT ke MyTunnel-DNS

/ip firewall nat disable [find comment="MyTunnel-DNS-Blokir-Iklan"];


# Disable Route ke MyTunnel-DNS

/ip route  disable [find comment="MyTunnel-DNS-Blokir-Iklan"];


 

pada tab down sesuaikan dengan IP dns server lokal atau dns yang sering anda gunakan.





Sunday, September 24, 2023

Limit Bandwidth sesuai IP address client di Mikrotik

 Pada contoh ini kita akan melakukan manajemen bandwidth berdasarkan pada IP address pelanggan. contoh dibawah kita akan batasi ip address pelanggan dengan IP address 10.10.10.1.

 Internet kita memiliki Bandwidth Internet sebesar 100Mbps dan kita batasi Bandwidthnya sebesar 10Mbps sesuai dengan Ip address. Kita akan membatasi download dan upload ip address tersebut dengan 10Mbps dan maksimal sebesar 15Mbps.

Scriptnya sebagai berikut :




/ip firewall mangle

add action=mark-connection chain=prerouting src-address=10.10.10.1 new-connection-mark=Lenovo-down comment=Lenovo

add action=mark-packet chain=prerouting connection-mark=Lenovo-down new-packet-mark=Lenovo-down passthrough=no comment=Lenovo

add action=mark-packet chain=forward address=10.10.10.1 new-packet-mark=Lenovo-up passthrough=no  comment=Lenovo




 

Selanjutnya kita memberikan limit pada menu queue dengan perintah sbb:



/queue tree

add max-limit=100M name=upload parent=global

add limit-at=10M max-limit=15M name=Lenovo-up packet-mark=Lenovo-up parent=upload

add max-limit=100M name=download parent=global

add limit-at=10M max-limit=15M name=Lenovo-down packet-mark=Lenovo-down parent=download queue=default



hasilnya sebagai berikut :





Cara upload dengan git tanpa menyertakan folder tertentu

  Untuk mengupload kode menggunakan Git tanpa menyertakan folder tertentu, Anda perlu menggunakan file khusus bernama .gitignore . File ini...