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 | editar código-fonte]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 interfaceppp?
, como é simples não será descrito neste guia :) (veja o manual doslattach
) - 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 interfacesl0
(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 | editar código-fonte]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 | --- ---- -------- ---- ----