O protocolo de comunicação do Opengnb versão 1.5.0 foi atualizado e não é compatível
Inglês chinês
NOTA: A maior parte do conteúdo deste artigo é traduzida pelo Google Translate da versão chinesa do "Manual do usuário do Opengnb", o conteúdo deste artigo está sujeito à versão chinesa.
O Opengnb é uma rede virtual definida por software descentralizada de código aberto com capacidade de penetração de intranet extrema, permite combinar sua rede de homome da empresa em uma LAN de acesso direto.
Todo o código relacionado ao projeto GNB é lançado como código aberto, e o código fonte atualmente lançado suporta as seguintes plataformas: FreeBSD Linux OpenWrt Raspberrypi OpenBSD MacOS
Fluxograma LR
SUBRAFRIMENTO LAN A.
Nodea [VPN Clienta]
fim
SUBRAPILHO WAN
Nodef [servidor VPN]
fim
SUBRAFRIMENTO LAN B.
NodeB [VPN ClientB]
fim
nodea <-carga útil ---> nodef <-carga paga ---> nodeb
Nat Point a Point a apontar
Fluxograma LR
SUBRAFRIMENTO LAN A.
Nodea [GNB Nodea]
fim
SUBRAPILHO WAN
ÍNDICE [Nó do Índice Público GNB]
fim
SUBRAFRIMENTO LAN B.
NodeB [GNB NodeB]
fim
Nodea -. Endereço NodeB .- ÍNDICE -. endereço nodea.- NodeB
nodea <-carga útil-> nodeb
Fluxograma LR
SUBRAFRIMENTO LAN A.
Nodea [GNB Nodea]
fim
SUBRAPILHO WAN
Nodec [NodeC]
acenado [acenado]
Nodee [Nodee]
nodef [nodef]
nodej [nodej]
Nodek [Nodek]
nodeg [nodeg]
Nodeh [Nodeh]
nodei [nodei]
fim
SUBRAFRIMENTO LAN B.
NodeB [GNB Nodea]
fim
Nodea [nodea] ---- Nodec [nodec] ---- acenou [acenou] ---- Nodee [nodee] ---- Nodef [nodef] ---- NodeB [NodeB]
nodea [nodea] ---- nodeg [nodeg] ---- nodeh [nodeh] ---- nodei [nodei] ---- nodeb [nodeb]
nodea [nodea] ---- nodej [nodej] ---- nodek [nodek] ---- nodeb [nodeb]
Fluxograma LR
SUBRAFRIMENTO LAN A.
Nodea [GNB Nodea]
fim
SUBRAFRIMENTO LAN C.
Nodec [GNB NodeC]
fim
SUBRAFRIMENTO LAN d
acenou com a cabeça [GNB acenou]
fim
SUBRAPILHO LAN E.
Nodee [GNB Nodee]
fim
SUBRAFRIMENTO LAN B.
NodeB [GNB NodeB]
fim
Nodea ---- Nodec & acenado e Nodee ---- NodeB
Fluxograma LR
SUBRAFRIMENTO LAN A.
Nodea [GNB Nodea]
upd_over_tcp_a [upd_over_tcp]
fim
SUBRAPILHO WAN
upd_over_tcp_b [upd_over_tcp]
NodeB [GNB NodeB]
fim
Nodea-Carga PayaDP --- UPD_OVER_TCP_A-TCP Payload --- UPD_over_TCP_B-CARGA PAYL
git clone https://github.com/gnbdev/opengnb.git
cd opengnb
make -f Makefile.linux install
Após a compilação, você pode obter os arquivos gnb gnb_crypto gnb_ctl gnb_es no diretório opengnb/bin/ .
Copie gnb gnb_crypto gnb_ctl gnb_es para hospedar A e Host B, respectivamente.
Supondo que o host A e o host B precisem penetrar temporariamente na interconexão da intranet em duas LANs diferentes, a maneira mais rápida é executar o GNB através do modo Lite. No modo Lite, a criptografia assimétrica não é ativada e somente através da senha e o ID do nó gera a chave de criptografia, portanto a segurança será muito menos modular do que trabalhar com criptografia assimétrica.
A senha é uma sequência hexadecimal de 32 bits com um comprimento de 8 caracteres, que pode ser representado como 0xfffffffff ou ffffffff , em uma senha de índice público é o mesmo nó GNB, é considerado um nó na mesma rede virtual. Escolha uma senha que não seja a mesma que outros usuários, tanto quanto possível. Aqui, para a conveniência da demonstração, a senha é selecionada como 12345678 , e o parâmetro **-p ** usado para especificar a senha para iniciar o nó. Não use uma senha tão simples em uso real, ele pode conflitar com outros usuários que também usam 12345678 como senha e causar falha de comunicação.
Executar com raiz no host A
gnb -n 1001 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
Depois que a startup for bem -sucedida, execute o IP Addr no host A para ver o IP do nó 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
Executar com raiz no host B
gnb -n 1002 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
Depois que a startup for bem -sucedida, execute o IP Addr no host B para ver o IP do nó 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
Neste ponto, se o host A e o host B Nat penetrar com sucesso e garantir que não haja intervenção do firewall no host, eles podem ping um iP virtual um do outro.
Executar no 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
Executar no 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
O processo de uso mais simples do modo GNB Lite acima, o modo GNB Lite possui 5 nós internos, se você precisar de mais hosts para participar da rede e usar um método de criptografia assimétrica mais seguro para proteger a comunicação de dados do GNB, leia os seguintes documentos cuidadosamente.
O papel do nó do índice do GNB é semelhante ao rastreador no protocolo BT, que é fornecido por alguns voluntários da rede GNB. Na maioria dos casos, o nó index fornece apenas o índice de endereço para os hosts na rede GNB e não transfere dados para o nó GNB.
O nó forward do GNB fornecido por alguns voluntários pode executar a transferência de dados para hosts que são temporariamente incapazes de executar a comunicação ponto a ponto em casos extremos, e a criptografia de dados assimétrica entre os hosts GNB torna impossível para o nó forward espionar os dados transferidos.
Em casos extremos em que a comunicação ponto a ponto não pode ser estabelecida, se deve transferir dados através do nó forward da rede pública e que o nó de frente confiável para transferir dados depende inteiramente das configurações do proprietário do host no nó GNB. De fato, mesmo em um ambiente de rede extremamente complexo, a capacidade de link superior da GNB pode estabelecer links de dados virtuais a qualquer momento, em qualquer lugar. A GNB criará até vários links virtuais para hosts na rede e escolherá o caminho de velocidade ideal para enviar pacotes de dados.
Aqui estão os nós index disponíveis fornecidos por voluntários
i|0|101.32.178.3|9001
host to net e net to net , o GNB pode encaminhar dados para sub -redes específicos, mas não suporta o encaminhamento completo do tráfego;O GNB suporta a plataforma OpenWRT e precisa ser compilado pelo usuário.
O script Systemd foi feito por Jin Buguo para o projeto GNB
O projeto AtzLinux criou um pacote de software de formato Deb no Linux para o projeto GNB e contribuiu para se tornar o pacote oficial de software Debian.
Você pode instalar o Opengnb no Debian 12 (Livroworm):
apt install opengnbO pacote AUR de Arch Linux foi feito por Taotieren para o projeto GNB. O método de instalação é o seguinte
# install distribution
yay -Sy opengnb
# Install the development version
yay -Sy opengnb-gitPara detalhes, visite https://aur.archlinex.org/packages/opengnb/
https://aur.archlinex.org/packages/opengnb-git/
Baixe a versão compilada e lançada do GNB em cada plataforma
GNB_UDP_OVER_TCP é um serviço desenvolvido para GNB que encaminha pacotes UDP através do link TCP e também pode encaminhar dados para outros serviços com base no protocolo UDP.
Isenção de responsabilidade