NESTA PÁGINA
Exemplo: configure um túnel gRPC
Visão geral
Esta seção abrange as etapas necessárias para configurar o alvo para este exemplo. O foco está no alvo, porque esse é o dispositivo Junos onde a configuração do túnel gRPC está alojada.
Requisitos
Este exemplo usa os seguintes componentes de software e hardware:
-
Junos OS ou Junos Evolved Release 22.4 ou posterior para dispositivos de roteamento e comutação
-
Um dispositivo alvo que executa o Junos
-
Um dispositivo host como cliente do túnel
-
Um dispositivo host como servidor de túnel
Topologia
O dispositivo de host H0 funcionará como o servidor de túnel.
O dispositivo host H1 funcionará como o cliente ou coletor de túnel do qual a conexão com o alvo deve ser estabelecida para diferentes tipos de alvo. Em certos casos, essa função pode ser autocontida dentro do servidor do túnel.
O alvo e o H0 estão conectados com pelo menos uma conexão WAN direta.
A Figura 1 mostra a topologia usada neste exemplo.
Após a conclusão do processo de registro, o cliente do túnel solicita uma sessão de túnel em direção a um alvo específico. Após a solicitação ser feita, o servidor de túnel solicita uma nova sessão do alvo pelo mesmo RPC de registro. Se o alvo for compatível com o tipo de alvo solicitado, o dispositivo discará um novo fluxo de túnel. Isso estabelece um túnel gRPC entre o cliente do túnel e o alvo pelo servidor do túnel. Assim que a sessão for estabelecida, o cliente do túnel pode acessar os aplicativos de servidor TCP desejados no alvo.
Configure um túnel gRPC
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere os detalhes necessários para combinar com a configuração de sua rede e, em seguida, copie e cole os comandos na CLI no nível de hierarquia [edit].
set system services grpc-tunnel servers server ts1 address 10.205.0.1 set system services grpc-tunnel servers server ts1 port 50301 set system services grpc-tunnel servers server ts1 credentials tls certificate-id client-cert1 set system services grpc-tunnel servers server ts1 targets ssh
Procedimento passo a passo
Siga essas etapas para configurar o túnel gRPC no dispositivo alvo.
-
Configure os servidores sob o túnel gRPC.
-
Configure o nome do servidor do túnel. Você pode configurar um máximo de 10 servidores de túnel.
-
Defina o endereço IPv4/IPv6 ou o nome de host do servidor do túnel.
[edit system services] user@host# set grpc-tunnel servers server ts1 address 10.205.0.1
-
Defina o número da porta que o servidor do túnel escuta.
[edit system services] user@host# set grpc-tunnel servers server ts1 port 50301
-
Configure as credenciais usando a declaração tls.
[edit system services] user@host# set grpc-tunnel servers server ts1 credentials tls certificate-id client-cert1
-
Especifique os aplicativos-alvo que você deseja acessar. As opções disponíveis são ssh, netconf-ssh e gnmi-gnoi.
[edit system services] user@host# set grpc-tunnel servers server ts1 targets ssh
-
-
(Opcionalmente) Defina o intervalo de tentativa de repetição (em segundos). Se o servidor de túnel for inalcançável, o dispositivo alvo tentará se conectar novamente após o intervalo de tentativas.
[edit system services] user@host# set grpc-tunnel servers retry-interval 30
-
(Opcionalmente) Configure a opção de string-alvo sob o túnel grpc.
-
Use a declaração de padrão para criar uma lista ordenada de opções suportadas.
[edit system services] user@host# set grpc-tunnel target-string-option pattern hostname custom
-
Use a declaração de string personalizada para definir uma string personalizada que é enviada quando o padrão de declaração contém custom como uma das opções.
[edit system services] user@host# set grpc-tunnel target-string-option custom-string device1
-
Use a declaração de delimiter quando mais de uma opção for selecionada no padrão. Por padrão, o (símbolo do | tubo) é usado.
[edit system services] user@host# set grpc-tunnel target-string-option delimiter |
-
Resultados
Exibir os resultados da configuração no dispositivo alvo. A saída reflete apenas a configuração funcional adicionada neste exemplo.
user@host> show system services
grpc-tunnel { servers { retry-interval 30; server server1 { address 10.205.0.01; port 50301; credentials { tls { certificate-id client-cert1; } } targets [ ssh ]; } server server2 { address 10.205.0.02; port 50302; credentials { tls { ca-profiles [ serverRootCA1 serverRootCA2 ]; } } targets [ gnmi-gnoi netconf-ssh ]; } } target-string-option { pattern [ hostname vendor model version custom ]; custom-string device1; delimiter "|"; } }