Guia do Linux/Avançado/Configurações especiais de Rede/Conectando dois computadores usando a porta serial

Conectando dois computadores usando a porta serial editar

Este método permite criar uma rede ponto a ponto usando a porta serial da máquina, que funcionará de forma semelhante a mostrada em [#s-cfgs-plip Conectando dois computadores usando a porta paralela, Seção 5.3]. O método que irei descrever é bastante simples e utiliza o slattach e o protocolo slip para comunicação entre as duas máquinas, mas nada impede que seja usado o ppp para comunicação, apenas acrescentará um pouco mais de complexibilidade para esta configuração para obter o mesmo resultado. Usando o método descrito, será criada uma interface chamada sl? (interface SLIP, onde ? é o número da interface recém configurada). A rede via porta serial pode atingir em média 115.200kbps/s mas é prático quando não tem outras opções para fazer uma rede ponto a ponto. Segue algumas características deste tipo de rede:

    • Pode ser configurado em qualquer máquina, pois sempre haverá uma porta serial disponível.
    • É possível fazer a instalação de Linux em máquinas sem CD-ROM e acesso a rede, onde não é possível gerar disquetes para instalar o resto dos pacotes necessários, embora seja limitado a 11Kb/s. No momento da instalação é preciso somente alternar para um console, executar os passos descritos aqui e continuar com o processo de instalação normal :)
    • É uma boa solução quando as duas máquinas até em ambientes próximos.
    • O custo para montagem desta rede é extremamente baixo, bastando um cabo Lap Link Serial custa em média R$20,00 o cabo de 4 metros. Se você também é um amante da eletrônica, estou descrevendo o esquema de montagem do cabo em [#s-cfgs-slattach-cabo Construindo um cabo LapLink Serial, Seção 5.4.1].
    • Você poderá fazer qualquer coisa que faria em uma rede normal (incluindo roteamento entre redes, MASQUERADING, etc)
    • É mais uma prova das capacidades de rede que é possível usando o Linux.

Agora, os contras da conexão via porta serial:

    • A porta serial não estará disponível para ser usada para conexão de mouses, impressoras seriais, dispositivos eletrônicos e inteligentes, etc.
    • O comprimento máximo do cabo é de 15 metros. Acima dessa comprimento, você pode colocar sua controladora em risco além da perda de sinal. Por segurança, o tamanho máximo recomendável é 13 metros

Para configurar uma conexão via cabo serial entre duas máquinas, vamos assumir que a primeira máquina terá o IP 192.168.2.1 e a segunda máquina 192.168.2.2:

  • Conecte o cabo Lap Link serial em cada uma das portas seriais.
  • Verifique se o seu kernel está compilado com o suporte a rede slip e também com suporte a cslip (slip compactado, que melhora a taxa de transferência dependendo dos dados sendo transmitidos). Caso não tenha o suporte a slip, você poderá usar o ppp nas duas pontas do link fazendo algumas adaptações para usar a interface ppp?, como é simples não será descrito neste guia :) (veja o manual do slattach)
  • Interrompa qualquer programa que esteja usando a porta serial.
  • Execute o comando slattach -s 115200 /dev/ttyS1 &. A função do slattach é associar uma interface de rede a um dispositivo, neste caso associamos o dispositivo /dev/ttyS1 (segunda porta serial) a interface sl0 (verifique se a interface foi criada usando o comando ifconfig sl0.

A opção -p especifica um protocolo alternativo para o slattach, o padrão é o cslip. Outros tipos disponíveis são slip, adaptive ppp e kiss (usado em conexões de rádio AX.25). Recomendo ver a página de manual do slattach.

  • Nesse ponto a interface está ativa, mas a nossa máquina não conhece nada sobre a rede ou como alcançar a máquina 192.168.2.2. Como a conexão é ponto a ponto, precisamos adicionar uma rota direta para esta máquina com o comando: route add -host 192.168.2.2 sl0.

Este comando diz para criar uma rota com o destino 192.168.2.2 usando a interface sl0.

  • Configure a outra máquina seguindo os passos acima, apenas invertendo os 2 endereços IPs usados.

Pronto, agora verifique se cada uma das máquinas se comunica com a outra usando o comando ping 192.168.2.x. Se ocorrer um erro, verifique os seguintes ítens:

    • Se as velocidade e o protocolo especificado em ambos os lados do link estão iguais.
    • Se já existe um processo slattach rodando em segundo plano.
    • Se existe um firewall bloqueando os pacotes da nova interface
    • Se o cabo Lap Link serial está em bom estado.

O número máximo de interfaces sl? depende da quantidade de portas seriais da sua máquina. Caso utilize uma placa multi serial, o número máximo de conexões de rede se torna grande (mas isto é apenas para curiosidade, pois não compensa uma multi serial para ligar uma quantidade grande de máquinas a baixa velocidade). Para derrubar a conexão, basta derrubar a interface serial com o ifconfig sl0 down, dar um kill no daemon do slattach e remover o módulo slip e cslip com o comando rmmod. Assim sua porta serial será liberada e poderá ser usada por outros aplicativos.

Construindo um cabo LapLink Serial editar

Se você é uma pessoa que sabe mexer com eletrônica, poderá construir seu próprio cabo LapLink serial para fazer os testes desta seção. Os materiais necessários são:

    • 2 - Conectores seriais DB9 fêmea
    • 2 - Capas para os conectores acima.
    • Fios para ligação dos conectores. Uma forma que utilizei para montar este cabo foi aproveitar um carretel de cabo SCSI aproveitando 10 metros desfiando somente 9 dos 50 fios que acompanha o cabo (deixei um fio extra no caso de algum outro se romper).
    • Ferro de solda e solda para as ligações.
    • Concentração e paciência para a confecção correta dos cabos.

Este é o conector fêmea DB9 (tomada que liga na máquina) visto por trás (hora de mostrar novamente meu talento com arte ASCII :))

       --------------
     1 \ o o o o o  / 5
     6  \ o o o o  / 9
         ----------

A figura acima mostra a posição dos pinos como referência para a soldagem dos terminais. A tabela abaixo mostra a ligação dos fios nos cabos das 2 pontas. Note que cada ponta pode ter a opção da serial de 9 ou 25 pinos (ou as duas):


      -------- -------- ---------
     |Ponta 1 |        |  Ponta 2|
      --- ---- -------- ---- ----
     | 9 | 25 |        | 25 |  9 |
      --- ---- -------- ---- ----
     | 5 |  7 |        |  7 |  5 |
     | 3 |  2 |        |  3 |  2 |
     | 7 |  4 |        |  5 |  8 |
     | 6 |  6 |        | 20 |  4 |
     | 2 |  3 |        |  2 |  3 |
     | 8 |  5 |        |  4 |  7 |
     | 4 | 20 |        |  6 |  6 |
      --- ---- -------- ---- ----