Протокол связи OpenGNB версии 1.5.0 был обновлен и не совместим
Китайский английский
Примечание. Большая часть содержания этой статьи переводится с помощью Google Translate с китайской версии «Руководство пользователя OpenGNB», содержание этой статьи подчиняется китайской версии.
OpenGNB-это децентрализованное программное обеспечение P2P с открытым исходным кодом, определяющее виртуальную сеть с возможностью экстремальной интрасетной проникновения, позволяет объединить сеть вашей компании в домашних условиях в локальную сеть с прямым доступом.
Весь код, связанный с проектом GNB, выпущен в качестве открытого исходного кода, а в настоящее время выпущенный исходный код поддерживает следующие платформы: FreeBSD Linux OpenWrt RaspberryPi OpenBSD MacOS
Блок -схема LR
Подграф Лан а
Nodea [VPN Clienta]
конец
Подграф ван
Nodef [VPN Server]
конец
Подграф Лан б
nodeb [vpn clientb]
конец
nodea <-полезная нагрузка ---> nodef <-полезная нагрузка ---> nodeb
Nat Traversal Point to Point
Блок -схема LR
Подграф Лан а
nodea [gnb nodea]
конец
Подграф ван
Индекс [GNB Public Index Node]
конец
Подграф Лан б
nodeb [gnb nodeb]
конец
Nodea -. Адрес Nodeb .- Индекс -. nodea Address.- nodeb
Nodea <-полезная нагрузка-> nodeb
Блок -схема LR
Подграф Лан а
nodea [gnb nodea]
конец
Подграф ван
Nodec [nodec]
кивнул [кивает]
nodee [nodee]
Nodef [Nodef]
nodej [nodej]
Nodek [Nodek]
Nodeg [Nodeg]
nodeh [nodeh]
nodei [nodei]
конец
Подграф Лан б
nodeb [gnb nodea]
конец
nodea [nodea] ---- nodec [nodec] ---- Noded [Noded] ---- nodee [nodee] ---- nodef [nodef] ---- nodeb [nodeb]
nodea [nodea] ---- nodeg [nodeg] ---- nodeh [nodeh] ---- nodei [nodei] ---- nodeb [nodeb]
nodea [nodea] ---- nodej [nodej] ---- nodek [nodek] ---- nodeb [nodeb]
Блок -схема LR
Подграф Лан а
nodea [gnb nodea]
конец
Подграф Лан c
Nodec [GNB Nodec]
конец
Подграф Лан д
Удал [GNB кивает]
конец
Подграф Лан e
nodee [gnb nodee]
конец
Подграф Лан б
nodeb [gnb nodeb]
конец
Nodea ---- Nodec & Noded & Nodee ---- nodeb
Блок -схема LR
Подграф Лан а
nodea [gnb nodea]
UPD_OVER_TCP_A [UPD_OVER_TCP]
конец
Подграф ван
UPD_OVER_TCP_B [UPD_OVER_TCP]
nodeb [gnb nodeb]
конец
Nodea-PAYLOAD --- UPD_OVER_TCP_A-TCP полезная нагрузка --- UPD_OVER_TCP_B-WUDP полезной нагрузки --- nodeb
git clone https://github.com/gnbdev/opengnb.git
cd opengnb
make -f Makefile.linux install
После компиляции вы можете получить gnb gnb_crypto gnb_ctl FILES gnb_es в каталоге opengnb/bin/ .
Скопируйте gnb gnb_crypto gnb_ctl gnb_es для размещения A и хоста B соответственно.
Предполагая, что хост A и хоста B необходимо временно проникнуть в взаимосвязь интрасети в двух разных локанах, самый быстрый способ - запустить GNB через режим Lite. В режиме Lite асимметричное шифрование не включено, и только через пароль и идентификатор узла генерирует ключ шифрования, поэтому безопасность будет гораздо менее модульной, чем работа с асимметричным шифрованием.
Passcode -это 32-разрядная шестнадцатеричная строка с длиной 8 символов, которые могут быть представлены как 0xffffffff или ffffffff , под общедоступным индексным кодом является тот же узел GNB, который считается узлом в той же виртуальной сети. Пожалуйста, выберите пароль , который не будет таким же, как у других пользователей. Здесь, для удобства демонстрации, пароль выбирается как 12345678 , а параметр **-p **, используемый для указания пароля для запуска узла. Не используйте такой простой пароль в фактическом использовании, он может противоречить другим пользователям, которые также используют 12345678 в качестве пароля и вызовут сбой связи.
Выполнить с root на хосте А
gnb -n 1001 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
После того, как стартап будет успешным, выполните IP Addr на хосте A, чтобы увидеть IP -адрес узла 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
Выполнить с root на хосте B
gnb -n 1002 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
После успеха стартапа выполните IP ADDR на хосте B, чтобы увидеть IP -адрес узла 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
На этом этапе, если Host A и Host B Nat успешно проникают в проникновение и убедитесь, что на хосте нет вмешательства брандмауэра, они могут пинговать виртуальный IP.
Выполнить на хосте А
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
Выполнить на хосте 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
Самый простой процесс использования приведенного выше режима GNB Lite, режим GNB Lite имеет 5 встроенных узлов, если вам нужно больше хостов для участия в сети и использования более безопасного метода асимметричного шифрования для защиты передачи данных GNB, пожалуйста, прочитайте следующие документы.
Роль индексного узла GNB аналогична трекеру в протоколе BT, который предоставляется некоторыми добровольцами сети GNB. В большинстве случаев, index узел предоставляет только индекс адреса для хостов в сети GNB и не будет передавать данные для узла GNB.
forward узел GNB, предоставленный некоторыми добровольцами, может выполнять передачу данных для хостов, которые временно не могут выполнять связь с точкой до точки в экстремальных случаях, а асимметричное шифрование данных между хостами GNB делает невозможным для forward узла шпионить за передаваемыми данными.
В экстремальных случаях, когда одноранговая связь не может быть установлена, будь то передача данных через forward сеть, и который доверял форвардному узлу для использования для передачи данных, полностью зависит от настройки хозяина на узле GNB. На самом деле, даже в чрезвычайно сложной сетевой среде, превосходная связь GNB может установить виртуальные ссылки на данные в любое время и в любом месте. GNB даже создаст несколько виртуальных ссылок для хостов в сети и выберет оптимальный путь скорости для отправки пакетов данных.
Вот доступные index узлы, предоставленные добровольцами
i|0|101.32.178.3|9001
host to net и net to net режимам GNB может пересылать данные для определенных подсетей, но не поддерживает полную пересылку трафика;GNB поддерживает платформу OpenWRT и должен быть скомпилирован пользователем.
Сценарий Systemd был сделан Джин Бубуо для проекта GNB
Проект Atzlinux создал программный пакет Deb Format в рамках Linux для проекта GNB и внес его в должность официального программного пакета Debian.
Вы можете установить OpenGNB на Debian 12 (Bookworm):
apt install opengnbAUR Package of Arch Linux был сделан Taotieren для проекта GNB. Метод установки выглядит следующим образом
# install distribution
yay -Sy opengnb
# Install the development version
yay -Sy opengnb-gitДля получения подробной информации, пожалуйста, посетите https://aur.archlinux.org/packages/opengnb/
https://aur.archlinux.org/packages/opengnb-git/
Загрузите скомпилированную и выпущенную версию GNB на каждой платформе
GNB_UDP_OVER_TCP - это служба, разработанная для GNB, которая пересылает пакеты UDP через ссылку TCP, а также может пересылать данные для других служб на основе протокола UDP.
Отказ от ответственности