Neste guia, discutiremos dois conceitos essenciais de rede que são ponte e ligação. Veremos como configurar, modificar e excluir as pontes e ligações no sistema Linux. Vamos demonstrar o procedimento em Sistema Linux Mint 20 Ulyana. No entanto, você também pode implementar o mesmo procedimento no Ubuntu ou Debian.
Pré-requisitos:
- Sistema Linux com pelo menos duas interfaces de rede
- Usuário Sudo
Pontes
Bridging é criar uma ponte entre duas ou mais interfaces de rede para passar o tráfego entre elas. Ele permite que você compartilhe a conexão de internet do seu sistema com outros sistemas. Considere um cenário em que o sistema A (sem conexão com a Internet) deseja se conectar à conexão de Internet B de outro sistema. Tudo que você precisa é conectar os dois sistemas com um cabo Ethernet e criar uma ponte entre eles. No entanto, para fazer isso, você precisará de duas interfaces em seu sistema B. Uma interface será conectada à internet, e a outra será conectada ao sistema A.
Configurar ponte
Em nosso exemplo, vamos configurar uma ponte br0 entre duas interfaces, ens33 e ens39. O enss33 a interface se conecta à internet enquanto o ens39 se conecta ao segundo sistema (que precisa de uma conexão à internet). Vamos montar a ponte via DHCP.
Primeiro, você terá que instalar o programa bridge-utils necessário para criar uma ponte. Emita o comando abaixo no Terminal para instalar o bridge-utils:
$ sudo apt install bridge-utilsCrie uma interface de rede de ponte usando o comando abaixo no Terminal:
$ brctl addbr br0Este comando irá criar uma ponte chamada br0. Você pode nomeá-lo como quiser.
Agora adicione as duas interfaces que você deseja fazer a ponte (uma que se conecta à Internet e a outra que se conecta ao segundo sistema) usando a sintaxe abaixo:
$ sudo brctl addifPor exemplo, em nosso caso, seria:
$ sudo brctl addif br0 ens33 ens39O comando acima irá adicionar enss33 e ens39 para a ponte br0.
Agora, abra a interface de ponte:
$ ip link set devNo nosso caso, seria:
$ ip link set dev br0 upVocê também pode executar o comando abaixo para colocar a interface em funcionamento (no caso de DHCP).
$ sudo dhclient br0Agora, edite o arquivo / etc / network / interfaces e acrescente as seguintes linhas:
auto br0iface br0 inet dhcp
bridge_ports ens33 ens39
Agora reinicie os serviços de rede usando o comando abaixo:
$ sudo systemctl reiniciar rede. serviçoAgora a ponte foi configurada e, com sorte, você poderá acessar a internet a partir do seu segundo sistema.
Ver Ponte
Você pode usar o comando abaixo para ver todas as pontes configuradas em seu sistema e as interfaces anexadas a elas.
Show $ brctl
Modificar Ponte
Adicione uma interface para fazer a ponte
Você pode adicionar uma interface a uma ponte já existente da seguinte maneira:
$ sudo brctl addif bridge_name interface_namePor exemplo, para adicionar uma interface chamada ens38 para a ponte já existente chamada br0, o comando seria:
$ sudo brctl addif br0 ens38Excluir interface da ponte
Você também pode excluir uma interface de uma ponte da seguinte maneira:
$ sudo brctl delif bridge_name interface_namePor exemplo, para excluir uma interface chamada ens38 da ponte chamada br0, o comando seria:
$ sudo brctl delif br0 ens38Excluir uma ponte
Para excluir uma ponte do seu sistema, você primeiro precisa desativá-la. Use o seguinte comando para fazer isso:
$ sudo ip link set dev bridge_name inativoPor exemplo, para excluir uma ponte chamada br0, primeiro abaixe:
$ sudo ip link set dev br0 downEm seguida, para excluir a ponte, use o seguinte comando:
$ sudo brctl delbr bridge_nameEm nosso exemplo, o comando seria:
$ sudo brctl delbr br0Ligação de rede
A ligação de rede combina várias interfaces de rede para apresentá-las como uma única interface, de fato combinando sua largura de banda em uma única conexão. A ligação de interfaces de rede aumenta o rendimento, fornece alta disponibilidade e failover em situações onde uma das interfaces falha.
Existem vários modos de ligação de rede, que são os seguintes:
- modo = 0 (Balance Round Robin)
- modo = 1 (backup ativo)
- modo = 2 (Equilíbrio XOR)
- modo = 3 (transmissão)
- modo = 4 (802.3ad)
- modo = 5 (equilíbrio TLB)
- modo = 6 (equilíbrio ALB)
Configurar ligação de rede
Neste guia, configuraremos o modo 1 (Modo de backup ativo). Vamos unir duas interfaces, ens33 e ens38. O ens33 será nossa interface ativa, enquanto ens38 será a interface de backup.
Primeiro, você terá que instalar o Ifenslave ferramenta em seu sistema. Para fazer isso, emita o comando abaixo no Terminal:
$ apt install ifenslave
Em seguida, carregue o módulo do kernel usando o comando abaixo:
ligação $ sudo modprobeO comando acima irá adicionar recursos adicionais ao kernel Linux.
Agora, descubra suas interfaces de rede. Você pode usar o comando abaixo para fazer isso:
link $ ipA saída a seguir mostra que há duas interfaces de rede ens33 e ens38 diferente da interface de loopback. Vamos unir as duas interfaces, ens33 e ens38, em um vínculo chamado bond0.
Agora edite os arquivos de interfaces de rede usando o comando abaixo no Terminal:
$ sudo nano / etc / network / interfacesModifique o arquivo da seguinte maneira:
Certifique-se de substituir o nome da interface pelo seu.
auto ens33iface ens33 inet manual
bond-master bond0
bond-primário ens33 ens38
auto ens38
iface ens38 inet manual
bond-master bond0
bond-primário ens33 ens38
auto bond0
iface bond0 inet dhcp
escravos de obrigações nenhum
modo de ligação 1
bond-miimon 100
Agora salve e feche o arquivo de configuração da interface.
Agora reinicie o serviço de rede usando o comando abaixo:
$ sudo systemctl reiniciar rede.serviçoExecute o comando “ifconfig” ou “ip a”, e desta vez você verá o bond0 como uma interface separada com um endereço IP atribuído a ela. Você também pode ver que não há endereço IP atribuído ao ens33 e ens38 interfaces.
Ligação de Teste
Para verificar se a ligação está funcionando, emita o comando abaixo:
$ cat / proc / net / bonding / bond0O resultado a seguir mostra que o modo de encadernação é backup ativo, e tanto o escravo primário quanto o atualmente ativo é ens33.
Agora, para testar o modo de backup ativo, execute um ping contínuo de outro sistema na rede para o endereço IP do servidor de ligação (que em nosso caso é 192.168.72.179). Seu ping deve funcionar com sucesso. Em seguida, tente desligar a interface ativa e ver se o ping continua ou para. Se o ping continuar, isso significa que a ligação foi configurada com sucesso.
Se você executar o comando abaixo, você também pode ver que o escravo primário ens33 está desligado enquanto o escravo atualmente ativo está agora ens38.
Modificar ligação
Alterar interface de escravo ativo
Você também pode alterar a interface do escravo ativo na ligação usando o -c opção da seguinte forma:
$ sudo ifenslave -c bond active_interfacePor exemplo, em nosso cenário, temos ens33 como uma interface ativa enquanto ens38 como interface de backup. Pôr ens38 como uma interface escrava ativa, o comando seria:
$ sudo ifenslave -c bond0 ens38Agora, para confirmar se a interface ativa foi alterada com sucesso, emita o comando abaixo no Terminal:
$ cat / proc / net / bonding / bond0Na saída abaixo, você pode ver que a interface escrava ativa mudou para ens38.
Alterar o modo de ligação
Para alterar o modo de ligação, edite o arquivo / etc / network / interfaces e altere o valor do modo de ligação. Por exemplo, para mudar o modo de ligação para round-robin, modifique o valor do modo de ligação para 0.
modo de ligação 0Agora, para confirmar se o modo de ligação foi alterado com sucesso, emita o comando abaixo no Terminal:
$ cat / proc / net / bonding / bond0Na saída abaixo, é claro que o modo de ligação mudou para round-robin.
Anexando escravo
Para anexar uma nova interface escrava a um vínculo já existente, use a seguinte sintaxe:
$ sudo ifenslave -v bond interface_nameO -v é usado aqui para saída detalhada.
Por exemplo, para adicionar uma nova interface escrava ens33 para um bond0 já existente, o comando seria:
$ sudo ifenslave -v bond0 ens33
Desvinculando escravo
Para separar uma interface escrava de um vínculo, use o -d opção da seguinte forma:
$ sudo ifenslave -v bond interface_nameO -v é usado aqui para saída detalhada.
Por exemplo, para desanexar uma interface escrava ens33 a partir de bond0, o comando seria:
$ sudo ifenslave -d -v bond0 ens33
Excluir ligação
Para excluir vínculo, edite o / etc / network.arquivo de interfaces, e remover as configurações relacionadas à ligação. Deixe apenas a configuração das interfaces como esta:
auto ens33iface ens33 inet dhcp
auto ens38
iface ens38 inet dhcp
Em seguida, salve e feche o arquivo de configurações de interfaces.
Agora remova a ligação com o comando abaixo:
vínculo $ sudo rmmodEm seguida, reinicie o serviço de rede:
$ sudo systemctl reiniciar rede.serviçoIsso é tudo que há para fazer! Neste artigo, primeiro, mostramos como configurar uma ponte de rede para compartilhar a conexão de internet com outros sistemas. Em seguida, mostramos como modificar as pontes adicionando ou removendo uma interface da ponte. A seguir, mostramos como configurar ligações de rede para aumentar a taxa de transferência, alta disponibilidade e failover. Em seguida, mostramos como modificar um vínculo alterando seus escravos ativos, anexando / desanexando escravos e alterando os modos de vinculação. Também mostramos como excluir as pontes e vínculos caso você não precise mais deles.