Apakah ada VPN Terdistribusi / seperti mesh / P2P?


12

Saya memiliki VPN pribadi saya, menghubungkan beberapa perangkat sehingga mereka dapat memiliki alamat IP tetap pada jaringan yang selalu dapat dijangkau (selama mereka terhubung ke Internet). Ini penting bagi saya, karena perangkat saya dapat bergerak, pada jaringan yang berbeda dan tidak dapat diprediksi (ponsel jaringan 4G, laptop di universitas, server rumah di rumah), dan saya memiliki server cadangan yang perlu terhubung ke mereka (dan kadang-kadang , Saya juga harus).

Saya juga berpikir tentang menginstal sesuatu seperti sinkronisasi, yang mungkin juga mendapat manfaat dari latensi yang lebih rendah dan node yang lebih dekat.

Juga, saya malas, dan saya suka memutar / menghentikan musik yang diputar di server rumah saya dari ponsel cerdas saya, yang mungkin tidak berada di jaringan yang sama (seharusnya, tetapi tidak selalu demikian).

Ini berarti saya memiliki satu server OpenVPN, dan openvpnklien berjalan di setiap perangkat. Mereka semua terhubung ke server, dan lalu lintas apa pun dari dua node harus melalui server, yang relatif jauh, dan memiliki throughput yang sangat terbatas. Ini berarti latensi dan kelambatan. Dan ketika saya menekan tombol "Jeda", diperlukan waktu hingga 10 detik untuk benar-benar menjeda musik. Bahkan jika kedua node sebenarnya pada LAN yang sama (karena mereka berbicara melalui VPN). Ah.

Idealnya, harus ada beberapa cara untuk membuat VPN yang dapat menemukan jalur terpendek antara node, dan mencoba untuk menghubungkannya secara langsung. Sesuatu seperti cara Skype bekerja dengan supernode?

Sementara server jauh dari sini, salah satu node memiliki alamat IP publik, dan dapat dihubungi oleh node lain. Itu bisa bertindak sebagai server dari mereka - bahkan jika itu bukan server itu sendiri, meskipun itu akan menjadi pilihan yang lebih baik untuk beberapa node.

Saya membayangkan saya bisa melakukan sesuatu yang mirip dengan menjalankan klien dan server, dan menjembatani mereka pada node itu, tetapi itu tidak terlihat elegan. Ini peretasan, menyulitkan PKI, membagi VPN. Saya tidak suka itu.

Meskipun saya bisa menggunakan VPN sederhana seperti PPTP yang benar-benar tidak memastikan komunikasi aman, saya memutuskan saya tidak ingin repot mengkonfigurasi Bacula untuk mengenkripsi koneksi antara node, yang berarti bahwa lalu lintas jelas di dalam VPN. Enkapsulasi VPN adalah satu - satunya keamanan, jadi tidak boleh lemah. Namun, apa pun yang memecahkan "mesh" -seperti VPN tanpa kerahasiaan akan menjadi awal yang baik - saya akan memastikan lalu lintas mulai melalui SSL / TLS.

Ini terlihat seperti masalah yang mungkin dimiliki orang lain, dan diselesaikan sekarang. Apakah ada yang seperti ini?

Ada juga kemungkinan saya melihat ini dengan cara yang salah, tetapi sejauh ini sepertinya pendekatan terbaik untuk memastikan saya selalu dapat terhubung ke perangkat saya dari jarak jauh, di mana pun saya berada, atau mereka ada.


Ya, apa yang Anda inginkan memang ada, untuk komunikasi on-LAN jika perangkat bersifat lokal. Ini adalah Bus Layanan Azure
goodguys_activate

Jawaban:


6

Saya tidak yakin apakah ini benar-benar memenuhi kebutuhan Anda, tetapi Anda mungkin harus melihat pada tinc: http://www.tinc-vpn.org/ . Ini sangat cocok dengan jaringan mesh yang diatur oleh server pusat seperti yang Anda jelaskan, tapi saya tidak yakin apakah itu akan berhasil menemukan rekan-rekan di jaringan lokal Anda.


3

Vpn mesh termudah yang saya temukan dan gunakan adalah PeerVPN ( http://www.peervpn.net/ ).

Fitur PeerVPN

  • Dukungan tunneling Ethernet menggunakan perangkat TAP.
  • Dukungan IPv6.
  • Topologi jaringan mesh penuh.
  • Secara otomatis membangun terowongan melalui firewall dan NAT tanpa pengaturan lebih lanjut (misalnya, penerusan porta).
  • Enkripsi kunci bersama dan dukungan otentikasi.

Konfigurasi sederhana .. satu file konfigurasi yang Anda edit dan untuk vpn mesh dasar hanya ada 6 pengaturan yang perlu Anda tentukan lihat tutorial PeerVPN yang hanya 1 halaman: http://www.peervpn.net/tutorial/

Kunci enkripsi / otentikasi PSK bisa mencapai 512 bit (64 byte).

Saya telah menetapkan peervpn sejauh ini pada beberapa server jarak jauh dan berfungsi dengan sangat baik. Juga, tidak ada persyaratan untuk "super-node" seperti yang mungkin Anda temui dalam implementasi vpn mesh lainnya.

Node di peervpn mempelajari tentang node yang baru ditambahkan ke VPN secara otomatis tanpa perlu mengubah konfigurasi. Lalu lintas node ke node juga langsung dan tidak melalui beberapa hub vpn pusat.

Catatan: baca file peervpn.conf default untuk mempelajari tentang banyak opsi lain yang Anda "bisa" manfaatkan. Tetapi untuk vpn mesh dasar seperti yang saya sebutkan, Anda hanya perlu mengatur 6 opsi (nama vpn, PSK, alamat IP titik akhir terowongan lokal, antarmuka "nama" yang ingin Anda lihat / gunakan pada sistem linux Anda & nomor port yang akan digunakan untuk "itu" vpn ... perhatikan bahwa Anda dapat menggunakan peervpn untuk beberapa VPN independen di server)


0

Saya memiliki masalah yang sama persis tahun lalu. Saya memiliki ~ 30 kantor yang semuanya harus dapat berkomunikasi secara langsung, tetapi mereka diatur dalam konfigurasi 'hub-and-spoke'. Saya menulis sebuah alat dengan Python untuk secara otomatis menghasilkan n x (n-1)/2jumlah koneksi di OpenVPN di antara kantor-kantor. Kemudian saya menambahkan dukungan untuk routing RIP antara situs setelah masalah Comcast aneh di mana satu kantor dapat melihat semua yang lain, tetapi bukan kantor utama. Akhirnya saya menambahkan kemampuan untuk menghasilkan DNS balik secara otomatis untuk IP tautan dan kemampuan untuk mendorong paket ke setiap router.

Lihatlah OpenMesher . Baru pagi ini saya memutuskan untuk membersihkannya untuk proyek yang akan datang. Semoga bisa melakukan apa yang Anda inginkan. Jika tidak, jangan ragu untuk mengirimkan masalah dan saya akan membantu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.