Redes domésticas e ADSL com Linux

By Djames Suhanko


Rede Doméstica
*

Esta é uma maneira simples e direta de configurar uma rede, desde a parte física até o compartilhamento de acesso via ADSLe compartilhamento de disco em máquinas Windows e Linux.

PARTE FÍSICA

Se a rede for interligar apenas duas máquinas para compartilhar acesso ADSL, então você precisará apenas de 3 placas de rede 10/100. Na máquina Linux, coloque duas placas, sendo que uma será para receber o sinal do modem ADSL ( no caso do externo) e a outra para interligar as duas máquinas. 

O CABO

O cabo que deve ser usado para interligar as duas máquinas se chama “cross-over”, e pode ser encontrado pronto. 
No caso de se estar interligando mais de duas máquinas, haverá a necessidade de um hub e os cabos não serão mais cross-over e sim ponto-a-ponto. No caso da rede ponto a ponto, os cabos também podem ser encontrados prontos. Procurando por cabos pra hub. Cabos acima de 10 metros tem que ser clipados de uma maneira diferente, mas basta pedir na loja, que também fazem desses cabos na hora.

INSTALAÇÃO DAS PLACAS

Simplesmente coloque as placas nos slots com as máquinas desligadas. O mesmo para o hub.
No exemplo, será usada a sis900 para ilustrar as configurações.

CONFIGURAÇÕES 

Agora, dependendo da distribuição que você estiver usando, uma das placas será detectada aumomágicamente pelo KUDZU. Não há realmente necessidade de tê-lo rodando, já que a única coisa que ele fará é subir os módulos de apenas uma das placas.

Proceda desta maneira para ter as placas ativas:
(use o seu editor preferido. Aqui o exemplo é ilustrado com o mcedit)

mcedit /etc/modules.conf (ou conf.modules, depdendendo da distribuição)
Inclua essas duas linhas ao final do arquivo:

alias eth0 sis900
alias eth1 sis900

Ou use o modprobe.

Estas configurações de rede são de autoria de Marcelo Beackmman , que me passou a seguintes configurações para os respectivos arquivos:

(dentro do diretório /etc/sysconfig/network-scripts)
Edite o seguinte arquivo, mesmo que ele não exista:

mcedit ifcfg-eth0

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

salve e edite o seguinte arquivo:

mcedit ifcfg-eth1

DEVICE=eth1
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes

Agora, salve este arquivo e confira o arquivo seguinte:

mcedit ifcfg-lo

DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
# Haverão alguns comentários divididos em duas linhas e:
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback

Desça um nível de diretório e verifique o arquivo seguinte:

mcedit network

NETWORKING=yes
FORWARD_IPV4=true
HOSTNAME=lo calhost.localdomain ( coloque o nome de seu host no lugar disso)
DOMAINNAME=ponha_nome_aqui

Agora, feito os scripts de acordo, verifique se há alguma interface ativa:

ifconfig 

Se houver alguma interface ativa, como eth0, desça a interface:

ifdown eth0

Liste os módulos e veja se encontra os módulos da sua placa:

lsmod

Encontrou o módulo da sis900? Então, remova os módulos referentes à placa de rede:

rmmod sis900

Carregue-os assim:

modprobe sis900

Suba as interfaces agora:

ifup eth0
ifup eth1

Tente pingar algum endereço e, se falhar, então troque a posição dos cabos nas placas de rede.

Vale lembrar que as configurações do ADSL neste caso são de um IP fixo e carrega por DHCP.

Para habilitar o ADSL caso você ainda não o tenha feito, instale o pacote DHCP, que se encontra no CD da sua distribuição.
O arquivo eth0 descrito acima se refere à interface do ADSL.
Suba o DHCP:
insmod sis900
/sbin/dhcpcd

Se sua máquina não estiver iniciando o dhcp automaticamente, coloque esses comandos em um arquivo de inicialização qualquer, como por exemplo, /etc/rc.d/rc.local .


EXPLANAÇÃO SOBRE REDE

Invés de trabalhar os scripts manualmente, há também a opção de fazê-lo com o comando ifconfig:

ifconfig [interface] [IP] netmask [máscara] broadcast [ip do broadcast]

IP = IP dado à máquina
máscara = 255.255.255.0
A máscara separa o IP da máquina e o da rede.

Ex.: 192.168.0.0 e abriga Ips de 1 a 254

broadcast= o broadcast é um IP que cai para todos da rede

Ex.: 192.168.0.255 --> Faz com que todas as máquinas de 192.168.0.1 a 192.168.0.254 respondam ao ping.

255= reserva de rede
0= reservado para hosts

Então: 192.168.0.1 co m mask 255.255.255.0 permite de .0.1 à .0.254 .

Já, se fosse: 255.255.0.0 poderiamos ter máquinas de rede de 192.168.0.1 até 192.168.255.254 .

Levante os daemons portmap e nfs .

Edite :
mcedit /etc/exports

Esse arquivo indica o que a máquina está exportando via NFS:

Ex.: /diretorio_copmpartilhado ro, root-squash

CONFIGURAR MÁQUINAS

Configurando o arquivo hosts você pode acessar a máquina por nome, invés de usar o número IP dado à máquina:

192.168.0.1 user1 user1.host 
192.168.0.2 user2 user2.host2

Depois, ping a máquina e veja se funciona:

ping user2

Agora, se pingar corretamente, deverá retornar algo como:

viking@kgb:[§ ~ §]$ ping aguia
PING aguia.sueco (192.168.0.2): 56 octets data
64 octets from 192.168.0.2: icmp_seq=0 ttl=255 time=1.0 ms
64 octets from 192.168.0.2: icmp_seq=1 ttl=255 time=0.5 ms
64 octets from 192.168.0.2: icmp_seq=2 ttl=255 time=0.5 ms
64 octets from 192.168.0.2: icmp_seq=3 ttl=255 time=0.5 ms

--- aguia.sueco ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.6/1.0 ms 

Este foi um ping dado em minha rede a partir do gateway Linux, portanto, se o ping for dado de uma máquina Windows, a representação será diferente, mas é importante que não haja perdas dos pacotes.

Para que o compartilhamento seja mountado no boot, insira a linha do mount em /etc/fstab:

(exemplo do gateway para a máquina águia)

aguia:/home/sueco /mnt/aguia nfs user,exec,dev,suid,rw 1 1


IP MASQUERADE

O IP Masquewrade transforma a máquina num roteador; a máquina passa a direcionar pacotes da internet para a rede interna e vice-versa.


GATEWAY

Gateway é o nome dado à máquina que recebe a configuração do IP Masquerade.


FIREWALL

Uma boa opção é o Port-Sentry, da Psionic, que pode ser encontrado em www.psionic.com .


ATIVAR COMPARTILHAMENTO DE ACESSO A INTERNET

Para subir o compartilhamento nas máquinas escravas (linux), use:

/sbin/route add default gw 192.168.0.1

Esse comando pode ser incluído em um arquivo de inicialização,.

COMPARTILHAMENTO LAN

Se você já conseguiu compartilhar o acesso, agora é relativamente simples.
Primeiro, certifíque-se de que o portmap e o nfs estão ativos. Depois vá ao diretório /etc e edite o arquivo :

mcedit exports

Esse arquivo dá permissão à outra máquina para mountá-la. Esse é o diretório que será exportado na montagem:

/home/sueco ro,user(ro,no_root_squash) aguia(ro) 

aguia é a máquina que está exportando o diretório /home/sueco . Pode-se criar um diretório vazio e compartilhar apenas esse diretoio, para garantir a segurança. 

Para mountar esse compartilhamento, seria usado então:
mount -t nfs aguia:/home/sueco /mnt/aguia

Se você faz qualquer tipo de configuração no tcp_wappers, então inclua as permissões para os respectivos arquivos:

mcedit /etc/hosts.deny
# Esse arquivo é configurado para recusar conexões. Configure-o assim, caso você não queira nenhum outro tipo de conexão à sua máquina, que não seja da rede:
ALL:except 192.168.0.X
# Onde X é o número do IP da máquina ao qual o acesso é permitido.

Edite agora o arquivo :

mcedit hosts.allow
# Agora, esse arquivo é o que permitirá o acesso. Especifique aqui o acesso que é permitido em sua máquina e o IP que será permitido. No caso, a máquina que é permitida é a 192.168.0.2 , e a conexão é efetuada pelo portmap. Então, a linha a ser inclusa é unicamente essa:
portmap:192.168.0.2

Agora basta mountar com a linha de comando passada acima, onde a montagem de compartilhamento está especificada.

SAMBA

Uma regra para compartilhamento :

Edite um arquivo chamado rc.firewall, inclua as linhas abaixo neste arquivo, depois mova-o para /etc/rc.d/

Dê as permissões:

chmod 700 rc.firewall

#!/bin/sh
#
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_vdolive
echo "1" >/proc/sys/net/ipv4/ip_forward
#echo "1" >/proc/sys/net/ipv4/ip_dynaddr
#MASQ timeouts /sbin/ipchains -M -S 7200 10 160
#/sbin/ipchains -A input -j ACCEPT -i bootp_clients_net_if_name -s 0/0 67 -d 0/0 68 -p udo
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -s 192.168.0.0/24 -j MASQ

Essa parte de configuração de SAMBA foi dicertada por André Casteliano:

Essa regra de ipchains funciona assim:
1º se nega tudo, depois se libera o acesso. Assim sendo:

/sbin/ipchains -P forward DENY

/sbin/ipchains -A forward -s 192.168.0.0/24 -j MASQ 

-A = Adicionar

forward = uma regra de compartilhamento

-s = source - de onde, o que...

/24 = compartilhar com todas as máquinas da classe C

/10 = caso quisesse compartilhar com apenas 10 máquinas.

-j = jump - faz o “-s.............” cair nessa regra, que no caso é a máscara.


CONFIGURAÇÕES DA PLACA DE REDE NO WINDOWS

Clique no ícone REDE localizado no painel de controle e, remova o que estiver além de protocolo MS, Protocolo TCP/IP e o driver da placa.

Marque como protocolo padrão.
Coloque no IP, o IP dessa respectiva máquina.
Coloque a máscara 255.255.255.0
Gateway -Adicione o IP da máquina que está servindo ( no caso, 192.168.0.1)
DNS - Coloque o DNS do provedor que fornece o acesso.
não esqueça de clicar em [adicionar] para que sejam realmente inclusas as alterações.

Agora, depois da máquina ter sido resetada , vá em ASSISTENTE DE CONEXÃO e marque a última opção do menu que surge. Na tela seguinte, marque ACESSO A PARTIR DE REDE LOCAL.
As demais opções, basta seguir conforme aparece na tela.

Isto é tudo para que esteja funcionando a rede de acesso compartilhado à internet.

Agora, para compartilhar um dispositivo, por exemplo (SMB)

(no Linux)
smbd -D e nmbd -D

Depois disso, basta configurar a impressora para usar o compartilhamento, através do control-panel, ou do DrakConf, ou seja lá qual a ferramenta de configuração que você usa.

Por fim, mounte o dispositivo :

smbmount \\dispositivo\nome_do_compartilhamento /diretorio_de_montagem_em_sua_maquina

man smbmount

Djames Suhanko
http://linuxiando.cjb.net
http://setor11d.com.br

COMANDOS USADOS NESTE PASSO-A-PASSO

modprobe - Instala módulos do dispositivo especificado, desde que haja suporte para ele.
lsmod - Lista módulos ativos
rmmod - Remove módulos. Esse comando é usado seguido do módulo a ser removido
insmod - Instala módulos. Esse comando é usado seguido do módulo a ser instalado
ifconfig - Se passado sem nenhum argumento, mostra interfaces ativas. 
lspci - Lista dispositivos PCI
route -n - Mostra as rotas das placas ativas.
ifup - Seguido de uma interface de rede, a ativa.
ifdown - Seguido de uma interface de rede, a desativa.

MAN PAGES (manuais que podem ser encontrados em sua prórpia máquina, com o comando:)
man modprobe - man ifconfig - man route - man nfs - man portmap - man smb.conf

© BELFORT Systems bsico.gif (273 bytes)