Protokol komunikasi OpenGNB Versi 1.5.0 telah ditingkatkan dan tidak kompatibel
Bahasa Inggris Cina
Catatan: Sebagian besar konten artikel ini diterjemahkan oleh Google Translate dari versi Cina dari "OpenGNB User Manual", konten artikel ini tunduk pada versi Cina.
OpenGNB adalah Open Source P2P terdesentralisasi perangkat lunak yang ditentukan jaringan virtual dengan kemampuan penetrasi intranet ekstrem, memungkinkan Anda untuk menggabungkan jaringan perusahaan perusahaan Anda menjadi LAN akses langsung.
Semua kode yang terkait dengan proyek GNB dirilis sebagai open source, dan kode sumber yang saat ini dirilis mendukung platform berikut: freebsd linux openwrt raspberrypi openbsd macos
LR FOLKCHART
subgraph lan a
NODEA [VPN Clienta]
akhir
Subgraph Wan
NODEF [VPN Server]
akhir
Subgraph lan b
NodeB [VPN ClientB]
akhir
nodea <-payload ---> nodef <-payload ---> nodeB
Nat traversal point to point
LR FOLKCHART
subgraph lan a
nodea [gnb nodea]
akhir
Subgraph Wan
Indeks [Node Indeks Publik GNB]
akhir
Subgraph lan b
NodeB [NODEB GNB]
akhir
nodea -. Alamat NodeB .- Indeks -. NODEA ALAMAT.- NODEB
nodea <-payload-> nodeB
LR FOLKCHART
subgraph lan a
nodea [gnb nodea]
akhir
Subgraph Wan
nodec [nodec]
mengangguk [mengangguk]
nodee [nodee]
nodef [nodef]
nodeJ [nodeJ]
nodek [nodek]
nodeg [nodeg]
nodeh [nodeh]
nodei [nodei]
akhir
Subgraph lan b
NodeB [GNB NODEA]
akhir
nodea [nodea] ---- nodec [nodec] ---- noded [noded] ---- nodee [nodee] ---- nodef [nodef] ---- nodeb [nodeb]
NODEA [NODEA] ---- NODEG [NODEG] ---- NODEH [NODEH] ---- NODII [NODII] ---- NODEB [NODEB]
nodea [nodea] ---- nodeJ [nodeJ] ---- nodek [nodek] ---- nodeB [nodeB]
LR FOLKCHART
subgraph lan a
nodea [gnb nodea]
akhir
subgraph lan c
nodec [gnb nodec]
akhir
Subgraph lan d
mengangguk [GNB mengangguk]
akhir
subgraph lan e
nodee [gnb nodee]
akhir
Subgraph lan b
NodeB [NODEB GNB]
akhir
NODEA ---- NODEC & NODED & NODEE ---- NODEB
LR FOLKCHART
subgraph lan a
nodea [gnb nodea]
UPD_OVER_TCP_A [UPD_OVER_TCP]
akhir
Subgraph Wan
UPD_OVER_TCP_B [UPD_OVER_TCP]
NodeB [NODEB GNB]
akhir
nodea --udp payload --- upd_over_tcp_a ---tcp payload --- upd_over_tcp_b --udp payload --- nodeB
git clone https://github.com/gnbdev/opengnb.git
cd opengnb
make -f Makefile.linux install
Setelah menyusun, Anda bisa mendapatkan file gnb gnb_crypto gnb_ctl gnb_es di opengnb/bin/ Directory.
Salin gnb gnb_crypto gnb_ctl gnb_es untuk masing -masing host A dan host B.
Dengan asumsi bahwa host A dan host B perlu untuk sementara waktu menembus interkoneksi intranet dalam dua LAN yang berbeda, cara tercepat adalah menjalankan GNB melalui mode lite. Dalam mode LITE, enkripsi asimetris tidak diaktifkan, dan hanya melalui kode sandi dan ID simpul menghasilkan kunci enkripsi, sehingga keamanan akan jauh lebih sedikit modular daripada bekerja dengan enkripsi asimetris.
Passcode adalah string heksadesimal 32-bit dengan panjang 8 karakter, yang dapat direpresentasikan sebagai 0xffffffff atau ffffffff , di bawah kode sandi indeks publik adalah simpul GNB yang sama, ia dianggap sebagai simpul pada jaringan virtual yang sama. Pilih kode sandi yang tidak akan sama dengan pengguna lain sebanyak mungkin. Di sini, untuk kenyamanan demonstrasi, kode sandi dipilih sebagai 12345678 , dan parameter **-p ** digunakan untuk menentukan kode sandi untuk memulai node. Jangan gunakan kode sandi sederhana seperti itu dalam penggunaan aktual, mungkin bertentangan dengan pengguna lain yang juga menggunakan 12345678 sebagai kode sandi dan menyebabkan kegagalan komunikasi.
Mengeksekusi dengan root di host a
gnb -n 1001 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
Setelah startup berhasil, jalankan IP addr di host A untuk melihat IP Node GNB
3: gnb_do:mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet 10.1.0.1/16 scope global gnb_tun
valid_lft forever preferred_lft forever
inet6 64:ff9b::a01:1/96 scope global
valid_lft forever preferred_lft forever
inet6 fe80::402:c027:2cf:41f9/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Mengeksekusi dengan root di host b
gnb -n 1002 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
Setelah startup berhasil, jalankan IP addr pada host B untuk melihat IP simpul GNB
3: gnb_do:mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet 10.1.0.2/16 scope global gnb_tun
valid_lft forever preferred_lft forever
inet6 64:ff9b::a01:2/96 scope global
valid_lft forever preferred_lft forever
inet6 fe80::a6cf:9f:e778:cf5d/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Pada titik ini, jika host A dan host B Nat berhasil menembus dan memastikan bahwa tidak ada intervensi firewall pada host, mereka dapat saling melakukan ip virtual satu sama lain.
Mengeksekusi pada host a
root @ hostA: ~ # ping 10.1.0.2
PING 10.1.0.2 (10.1.0.2) 56(84) bytes of data.
64 bytes from 10.1.0.2: icmp_seq=1 ttl=64 time=2.13 ms
64 bytes from 10.1.0.2: icmp_seq=2 ttl=64 time=2.18 ms
64 bytes from 10.1.0.2: icmp_seq=3 ttl=64 time=2.38 ms
64 bytes from 10.1.0.2: icmp_seq=4 ttl=64 time=2.31 ms
64 bytes from 10.1.0.2: icmp_seq=5 ttl=64 time=2.33 ms
Mengeksekusi pada host b
root @ hostA: ~ # ping 10.1.0.1
PING 10.1.0.1 (10.1.0.1) 56(84) bytes of data.
64 bytes from 10.1.0.1: icmp_seq=1 ttl=64 time=2.34 ms
64 bytes from 10.1.0.1: icmp_seq=2 ttl=64 time=1.88 ms
64 bytes from 10.1.0.1: icmp_seq=3 ttl=64 time=1.92 ms
64 bytes from 10.1.0.1: icmp_seq=4 ttl=64 time=2.61 ms
64 bytes from 10.1.0.1: icmp_seq=5 ttl=64 time=2.39 ms
Proses penggunaan paling sederhana dari mode LITE GNB di atas, mode GNB Lite memiliki 5 node bawaan, jika Anda memerlukan lebih banyak host untuk berpartisipasi dalam jaringan dan menggunakan metode enkripsi asimetris yang lebih aman untuk melindungi komunikasi data GNB, silakan baca dokumen berikut dengan cermat.
Peran simpul indeks GNB mirip dengan pelacak dalam protokol BT, yang disediakan oleh beberapa sukarelawan jaringan GNB. Dalam kebanyakan kasus, node index hanya menyediakan indeks alamat untuk host di jaringan GNB, dan tidak akan mentransfer data untuk node GNB.
Node forward GNB yang disediakan oleh beberapa sukarelawan dapat melakukan transfer data untuk host yang sementara tidak dapat melakukan komunikasi point-to-point dalam kasus ekstrem, dan enkripsi data asimetris antara host GNB membuat tidak mungkin bagi node forward untuk memata-matai data yang ditransfer.
Dalam kasus-kasus ekstrem di mana komunikasi peer-to-peer tidak dapat ditetapkan, apakah akan mentransfer data melalui node forward jaringan publik dan mana yang dapat digunakan untuk mentransfer data sepenuhnya tergantung pada pengaturan pemilik host pada simpul GNB. Bahkan, bahkan dalam lingkungan jaringan yang sangat kompleks, kemampuan tautan superior GNB dapat membuat tautan data virtual kapan saja, di mana saja. GNB bahkan akan membuat beberapa tautan virtual untuk host di jaringan, dan memilih jalur kecepatan optimal untuk mengirim paket data.
Berikut adalah node index yang tersedia yang disediakan oleh sukarelawan
i|0|101.32.178.3|9001
host to net dan net to net , GNB dapat meneruskan data untuk subnet tertentu, tetapi tidak mendukung penerusan lalu lintas penuh;GNB mendukung platform OpenWRT dan perlu disusun oleh pengguna.
Skrip SystemD dibuat oleh Jin Buguo untuk proyek GNB
Proyek Atzlinux telah membuat paket perangkat lunak format Deb di bawah Linux untuk proyek GNB, dan menyumbangnya untuk menjadi paket perangkat lunak resmi Debian.
Anda dapat menginstal OpenGNB di Debian 12 (kutu buku):
apt install opengnbPaket AUR Arch Linux dibuat oleh Taotieren untuk proyek GNB. Metode instalasi adalah sebagai berikut
# install distribution
yay -Sy opengnb
# Install the development version
yay -Sy opengnb-gitUntuk detailnya, silakan kunjungi https://aur.archlinux.org/packages/opengnb/
https://aur.archlinux.org/packages/opengnb-git/
Unduh versi GNB yang dikompilasi dan dirilis di setiap platform
GNB_UDP_OVER_TCP adalah layanan yang dikembangkan untuk GNB yang meneruskan paket UDP melalui tautan TCP, dan juga dapat meneruskan data untuk layanan lain berdasarkan protokol UDP.
Penafian