Opsi akses acak ke pengaturan dan rekaman registrar mobil dari mana saja di Internet

DVR mobil telah lama menjadi salah satu atribut wajib untuk setiap pengendara. Secara pribadi, saya dapat menyimpulkan tanpa berlebihan bahwa saya tidak dapat merasa aman di belakang kemudi tanpa gadget sederhana. Tentu saja, selama 10 tahun terakhir, kemajuan telah membuat kemajuan yang signifikan: hari ini sudah ada cukup banyak produsen di pasar yang memproduksi model-model yang layak, dan kami, para pengemudi, sudah memiliki banyak pilihan.

Pilihan saya jatuh pada pendaftar Neoline G-Tech X53, dan ada beberapa alasan untuk ini:

  • dilengkapi dengan dua kamera, yang salah satunya memberikan gambar FullHD nyata,
  • Ini dirancang khusus untuk instalasi rahasia,
  • itu sepenuhnya dikontrol melalui WiFi melalui aplikasi pada smartphone, yang penting dalam konteks artikel ini, dan di antara hal-hal lain, memungkinkan untuk benar-benar melakukan instalasi rahasia tanpa perlu memanjat atau menghapus blok secara berkala (misalnya, untuk menyalin catatan dari flash drive USB).


Kemudian, seperti yang sering terjadi, nafsu makan datang bersamaan dengan makan. Setelah memasang perekam di mobil, saya menghargai kenyamanannya, merasakan, dan saya ingin memiliki akses ke catatannya tidak hanya di dekat mesin, di mana sinyal WiFi-nya ditangkap, tetapi umumnya di mana-mana . Ya, atau setidaknya di rumah, sebagai permulaan.

Tentu saja, di alam, ada model pendaftar yang menggabungkan catatan ke dalam cloud on command, tetapi mereka mengikat pengguna ke cloud ini dan memaksa mereka untuk membayarnya, tetapi ini bukan pilihan saya. Selain itu, Wishlist saya tumpang tindih dengan rencana untuk menginstal router WiFi dengan modem di dalam mobil, sehingga tugasnya terlihat cukup layak.

Benar, dengan cepat menjadi jelas bahwa pendaftar tidak memiliki API yang terdokumentasi dan akses ke sana hanya dapat diperoleh dengan menggunakan aplikasi asli untuk smartphone. Aplikasi ini, pada gilirannya, ternyata sangat aneh - itu hanya berfungsi ketika telepon terhubung ke pencatat WiFi.


Artinya, saya harus memahami apa yang diinginkan aplikasi dari WiFi, dan membuatnya "melihat" registrar yang terletak di tempat yang sama sekali berbeda, dengan solusi untuk semua masalah teknis terkait - secara umum, hanya itu yang saya sukai.

Sebagai router yang mendistribusikan Internet melalui WiFi di dalam mobil, saya menggunakan Mikrotik RBmAP2nD (mAP) dengan modem Huawei e3372h (jika Anda tahu opsi anggaran lain di mana Anda dapat mengimplementasikan konfigurasi yang dijelaskan di bawah ini - tulis di komentar). Karena pendaftar hanya dapat mendistribusikan WiFi-nya dan tidak dapat terhubung ke AP yang ada, saya harus mengkonfigurasi AP-Client, yang seharusnya terhubung dengannya. Dan kemudian dengan cepat menjadi jelas bahwa karya Mikrotik sebagai AP dan AP-Client (pada antarmuka slave) mengarah pada distribusi WiFi yang tidak stabil, sehingga diputuskan untuk memasangkan dengan router utama yang lain - Mikrotik RBmAPL-2nD (mAP lite).


Aplikasi curang


Untuk memulai, saya membuat aplikasi bekerja dengan registrar melalui jaringan WiFi yang sama sekali berbeda yang bekerja di mesin yang sama. Sepanjang jalan, saya berhasil menjawab pertanyaan - bagaimana aplikasi mengenali jaringan pendaftar dan bagaimana cara menipu itu. Juga, di sepanjang jalan, dimungkinkan untuk mencapai kenyamanan yang lebih besar - sekarang untuk bekerja dengan pendaftar di mobil, Anda tidak perlu beralih ke WiFi-nya, di mana tidak ada internet.

Saya tidak akan menjelaskan secara rinci lusinan percobaan selama saya sampai pada solusi yang berfungsi, saya hanya menjelaskan solusi ini. Jadi, apa yang dibutuhkan aplikasi untuk mengenali pencatat WiFi:

  1. SSID akan terlihat seperti " G-Tech X5X-120 ... ", di mana alih-alih titik terakhir ada angka acak (huruf kecil) dalam sistem angka heksadesimal. Sebagai contoh, saya menginstal " G-Tech X5X-120aaa " dan seterusnya. Mungkin, alih-alih "120" Anda juga bisa meletakkan sesuatu sendiri, saya belum mencobanya.
  2. Alamat klien harus diperoleh melalui DHCP, harus di subnet 192.168.100.0/24, alamat server (pendaftar) = 192.168.100.1.

Selebihnya tidak penting. Saya belum mencoba banyak hal lain, tetapi saya tahu pasti bahwa:

  1. Alamat MAC dari AP dan server tidak masalah.
  2. Jika ada bagian dengan MTU berkurang (misalnya, terowongan) di sepanjang rute lalu lintas, koneksi berfungsi dengan baik.
  3. TCP Window cukup lebar sehingga pengunduhan catatan tidak melambat pada ping bahkan pada 300 ms dan lebih tinggi.

Jadi apa intinya?

  • Aplikasi ingin memiliki alamat di jaringan 192.168.100.0/24 dan terhubung ke alamat 192.168.100.1.
  • Alamat registrar juga 192.168.100.1 dan dia ingin klien berada di jaringan 192.168.100.0/24 (dia tidak punya rute ke orang lain).

Ini bukan untuk berubah, tetapi kami ingin belajar bagaimana mendistribusikan aplikasi dan pendaftar. Jadi, Anda perlu menetapkan alamat 192.168.100.1 ke router yang mendistribusikan WiFi, dan untuk menyelesaikan masalah dengan perutean lalu lintas, Anda harus memasukkan subnet penghubung dan menambahkan beberapa keajaiban jaringan. Misalnya, seperti ini:


Deskripsi:

  • Aplikasi ini berjalan pada smartphone yang terhubung ke router R1. Telepon pintar menerima alamat melalui DHCP, dalam contoh kita ini adalah 192.168.100.100.
  • Alamat IP R1 pada antarmuka WiFi adalah 192.168.100.1 (sesuai keinginan aplikasi), pada antarmuka Ethernet 192.168.99.1 (ini adalah subnet docking).
  • Alamat IP R2 pada antarmuka Ethernet adalah 192.168.99.2, pada antarmuka WiFi diperoleh melalui DHCP dari registrar, dalam contoh kami adalah 192.168.100.150.
  • Setiap router melakukan DNAT pada input dan SNAT pada output, sehingga paket pada setiap subnet memiliki alamat sumber dan tujuan yang cocok dengan alamat router tepi jaringan ini.

Bagaimana hubungannya:

  1. Aplikasi memastikan bahwa itu terhubung ke WiFi pendaftar dan memulai koneksi dengan alamat 192.168.100.1, dengan asumsi bahwa ini adalah alamat pendaftar.
  2. R1 menerima permintaan koneksi, mengeksekusi pada antarmuka DNAT inbound dengan substitusi alamat tujuan ke 192.168.99.2, dan pada antarmuka keluar - SNAT dengan substitusi alamat sumber ke 192.168.99.1.
  3. R2 menerima permintaan koneksi, mengeksekusi pada antarmuka DNAT inbound dengan substitusi alamat tujuan menjadi 192.168.100.1, dan pada antarmuka keluar - menyamar dengan substitusi alamat sumber ke alamat yang diterima melalui DHCP dari pencatat.
  4. Pencatat menerima dan memproses permintaan koneksi yang berasal dari alamat yang sebelumnya dikeluarkan melalui DHCP. Yang dibutuhkan.

Seorang pembaca yang bijaksana sudah memiliki pertanyaan: untuk jenis lalu lintas apa yang saya arahkan? Dimulai dengan "semua lalu lintas kecuali ssh" dan menyalakan logging, saya menyadari bahwa itu cukup untuk mengarahkan kembali port tcp 7777, 7778 dan 7779 . Aplikasi tidak memerlukan hal lain untuk bekerja dengan pendaftar.

Kami melewati lalu lintas melalui Internet


Belajar bagaimana mengelabui aplikasi, saya menghilangkan hambatan yang paling sulit untuk tujuan utama - mengatur akses ke catatan dari mana saja di Internet. Tetapi agar aplikasi yang berjalan di ponsel pada "titik mana pun" untuk dapat terhubung ke registrar, untuk "menipu" perlu untuk memenuhi semua kondisi di atas, dan ini memberlakukan beberapa batasan. Namun, di satu alamat, catatan sangat dibutuhkan terutama - mereka ada di rumah. Di sini kita mulai dengan router rumah.

Di rumah, seperti yang mungkin sudah Anda duga, saya juga punya Mikrotik. Router eksternal memiliki alamat IP "putih", dan saya menggunakan ini untuk membuat terowongan L2TP antara mobil dan router rumah dan mengatur subnet docking lain di antara mereka. Router lain telah ditambahkan ke sirkuit yang saya jelaskan di atas, dan sekarang tampilannya disederhanakan seperti ini:


Deskripsi:

  • Aplikasi ini berjalan pada smartphone yang terhubung ke router rumah R0. Telepon pintar menerima alamat melalui DHCP, dalam contoh kita ini adalah 192.168.100.100.
  • Alamat IP R0 pada antarmuka WiFi adalah 192.168.100.1 (sesuai keinginan aplikasi), pada antarmuka L2TP adalah 192.168.98.1 (docking subnet 0).
  • Alamat IP R1 pada antarmuka L2TP adalah 192.168.98.2, pada antarmuka Ethernet 192.168.99.1 (koneksi subnet 1).
  • Alamat IP R2 pada antarmuka Ethernet adalah 192.168.99.2, pada antarmuka WiFi diperoleh melalui DHCP dari registrar, dalam contoh kami adalah 192.168.100.150.
  • Setiap router melakukan DNAT pada input dan SNAT pada output, sehingga paket pada setiap subnet memiliki alamat sumber dan tujuan yang cocok dengan alamat router tepi jaringan ini.

Bagaimana hubungannya:

  1. Aplikasi memastikan bahwa itu terhubung ke WiFi pendaftar dan memulai koneksi dengan alamat 192.168.100.1, dengan asumsi bahwa ini adalah alamat pendaftar.
  2. R0 menerima permintaan koneksi, mengeksekusi pada antarmuka DNAT inbound dengan substitusi alamat tujuan ke 192.168.98.2, dan pada antarmuka keluar - SNAT dengan substitusi alamat sumber ke 192.168.98.1.
  3. R1 menerima permintaan koneksi, mengeksekusi pada antarmuka DNAT inbound dengan substitusi alamat tujuan ke 192.168.99.2, dan pada antarmuka keluar - SNAT dengan substitusi alamat sumber ke 192.168.99.1.
  4. R2 menerima permintaan koneksi, mengeksekusi pada antarmuka DNAT inbound dengan substitusi alamat tujuan menjadi 192.168.100.1, dan pada antarmuka keluar - menyamar dengan substitusi alamat sumber ke alamat yang diterima melalui DHCP dari pencatat.
  5. Pencatat menerima dan memproses permintaan koneksi yang berasal dari alamat yang sebelumnya dikeluarkan melalui DHCP. Yang dibutuhkan.

PS.
Dengan poin 2, Anda dapat melakukan sedikit lebih mudah jika Anda segera melakukan DNAT pada subnet ke-99, daripada subnet ke-98, dan menambahkan rute ke subnet ke-99 melalui R1. Tetapi saya hanya menggambarkan ide umum dan satu contoh implementasinya, dan ada banyak cara untuk mengintegrasikan semua ini ke dalam jaringan yang ada.

Dari mana kita mendapatkan makanan?


Router dan modem mengkonsumsi sedikit, tetapi cukup untuk menguras baterai mobil ke nol dalam 3-4 hari. Oleh karena itu, lebih baik untuk memasukkannya sesuai permintaan. Dan agar sesuai dengan konsep "akses setiap saat", saya mengambil keuntungan dari kenyataan bahwa alarm Starline A96 yang dipasang di mobil saya, antara lain, modul GSM, memprogram dimasukkannya saluran tambahan pada perintah dari remote control atau aplikasi smartphone dan menyalakan router mAP dari saluran tambahan, dan PETA lite - melalui PoE dari yang pertama. Saya tidak akan membicarakan ini secara terperinci di sini, semua ini dengan mudah google, tetapi jika tertarik, tulis di komentar.

Ringkasan


Setelah melakukan semua ini, saya mendapat kesempatan tidak hanya untuk menyalin catatan perekam sambil duduk di rumah, tetapi juga untuk menonton gambar dari kamera secara real time. Dan semua ini, terlepas dari di mana mobil itu berada, hal utama adalah routernya memiliki koneksi Internet. Bukankah itu sempurna?

Dan dengan bonus yang menyenangkan, saya mendapatkan kecepatan menyalin video yang lebih tinggi daripada duduk di mobil: 1,2-1,5 mb / s versus 1 mb / s. Saya tidak tahu kenapa.


Apakah akan ada konfigurasi?


Jujur, saya tidak berpikir akan terjadi pada siapa pun untuk melakukan apa yang dijelaskan. Bagaimanapun, akan ada beberapa adaptasi dari solusi untuk apa yang sudah tersedia. Tetapi jika Anda benar-benar membutuhkannya - di bawah ini Anda akan menemukan aturan nat, di mana 99% dari semua yang dibahas di atas diimplementasikan.

R0
/ip firewall nat add action=src-nat chain=srcnat comment=AVR out-interface=l2tp-auto src-address=192.168.100.0/24 to-addresses=192.168.98.1 add action=dst-nat chain=dstnat comment=AVR dst-address=192.168.100.1 dst-port=7777,7778,7779 in-interface=wlan1 protocol=tcp to-addresses=192.168.98.2 


R1
 /ip firewall nat add action=masquerade chain=srcnat comment=AVR out-interface=l2tp-auto add action=masquerade chain=srcnat comment=AVR out-interface=ether2 add action=masquerade chain=srcnat comment=AVR out-interface=wlan1 add action=dst-nat chain=dstnat comment=AVR dst-port=7777,7778,7779 in-interface=l2tp-auto protocol=tcp to-addresses=192.168.99.2 add action=dst-nat chain=dstnat comment=AVR dst-port=7777,7778,7779 in-interface=wlan1 protocol=tcp to-addresses=192.168.99.2 


R2
 /ip firewall nat add action=dst-nat chain=dstnat comment=AVR dst-address=192.168.99.2 dst-port=7777,7778,7779 in-interface=ether1 protocol=tcp to-addresses=192.168.100.1 add action=masquerade chain=srcnat comment=AVR out-interface=wlan1 

Source: https://habr.com/ru/post/id416323/


All Articles