|
Configurando uma rede local com acesso à
Internet com Linux
Uma das principais características do sistema
UNIX é o seu completo suporte
à rede e com o Linux isto não seria diferente. O RedHat Linux possui uma
interface fácil, no ambiente X Window, para configurar uma rede tanto local
quanto remota.
Este tutorial aborda os seguintes tópicos (pelo motivo de um depender do
outro):
-
- Configuração do modem.
-
- Configuração da placa de rede.
-
- Configuração do acesso à Internet.
-
- Configuração da rede local.
-
- Configuração do IP Masquerading.
Neste tutorial será abordada também a seguinte situação:
O seu modem está
em
uma das quatro seriais padronizadas (cua0 à cua3), com o endereço e a
interrupção padrão (no DOS seria, por exemplo, COM4 IRQ3); a sua placa de
rede possui barramento PCI ou ISA sendo compatível com NE2000; seu provedor
utiliza a autenticação PAP e o protocolo PPP; a versão do kernel é a 2.0.36.
Assim a configuração ocorrerá de forma incrívelmente simples.
A rede local terá uma máquina servidora conectada à Internet, fornecendo às
outras máquinas da rede, que são as máquinas cliente, o acesso a Internet
também. O protocolo para que isso funcione é o TCP/IP.
A rede foi montada
com base nos endereços da Classe C (RFC 1597), usando os endereços IP
192.168.x.x. Este endereço é designado especialmente para Intranets.
Servidor => 192.168.1.1
Clientes => 192.168.1.2, 192.168.1.3 etc.
Network => 192.168.1.0
Netmask => 255.255.255.0
Broadcast => 192.168.1.255
O sistema operacional usado no servidor é o RedHat Linux 5.2.
Nos clientes
pode-se usar o RedHat Linux ou o Windows 95.
Para que a rede funcione é
preciso que o Kernel do Linux tenha suporte a certos recursos, para
funcionar o IP Masquerade, a rede TCP/IP e os drivers da placa de rede.
Na
instalação inicial do RedHat Linux 5.2, este suporte já existe, mas se você
compilou um novo kernel para seu sistema, pode ser necessário recompilá-lo
para reabilitar os recursos necessários.
Para ativar os suportes no kernel entre no menu de configurações e ative os
seguintes itens:
De um "make menuconfig" e habilite essas opções:
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Loadable module support --->
[*] Enable loadable module support
[*] Set version information on all symbols for modules
[*] Kernel daemon support (e.g. autoload of modules)
General setup --->
[*] Networking support
Networking options --->
[*] Network firewalls
[*] Network aliasing
[*] TCP/IP networking
[*] IP: forwarding/gatewaying
[*] IP: multicasting (recomendado)
[*] IP: firewalling
[*] IP: masquerading
[*] IP: ipautofw masq support (recomendado)
[*] IP: ICMP masquerading (recomendado)
[*] IP: Always defragment (recomendado)
Network device support --->
<M> Dummy net driver support (recomendado)
[*] Network device support
<M> PPP (point-to-point) support
[*] Ethernet (10 or 100Mbit)
[*] PCI Ethernet adapters (se sua placa for PCI)
<M> PCI NE2000 support (se sua placa for PCI)
[*] Other ISA cards (se sua placa for ISA)
<M> NE2000/NE1000 ISA support (se sua placa for ISA)
Character devices --->
<*> Standard/generic serial support
Salve as configurações e recompile seu kernel. Depois você deve compilar e
instalar os módulos. Consulte o tópico "Atualizando e ou compilando o
kernel" para uma melhor explicação.
Pelo cliente é possível navegar na Web, receber e enviar e-mails, dar
Telnet, FTP, Ping, usar o ICQ e o RealPlayer.
1) Configurando o modem e a placa de rede no RedHat Linux:
1.1) Configurando o Modem:
Nos sistemas Linux, as portas seriais são denominadas de forma diferente em
relação aos sistemas DOS/Windows.
Enquanto que no DOS elas são tratadas como
COM1 à COM4, no Linux as portas seriais são tratadas como dispositivos cua0
à cua3 respectivamente (/dev/cua0 à /dev/cua3).
Através do "control-panel" no X-Window entre em "Modem
Configuration".
Selecione a porta serial na qual seu modem está conectado e clique em
"OK".
Será criado o link "/dev/modem" para o seu modem device.
1.2) Configurando a placa de rede:
Caso a sua placa seja ISA digite no console "modprobe ne io=0x300 irq=10"
(substitua 0x300 e 10 pelos valores de I/O e IRQ corretos da sua placa de
rede!).
Então edite o arquivo "/etc/conf.modules" adicionando:
alias eth0 ne
options ne io=0x300 irq=10
Caso a sua placa seja PCI digite no console "modprobe ne2k-pci" e veja
se a
sua placa de rede foi detectada corretamente. Então edite o arquivo
"/etc/conf.modules" adicionando:
alias eth0 ne2k0pci
Se você tiver problemas com o módulo ne2k-pci, use então o módulo ne.
Para
isso digite no console "modprobe ne" e anote os valores de I/O e IRQ
da sua
placa de rede. Então edite o arquivo "/etc/conf.modules" adicionando:
alias eth0 ne
options ne io=0x6000 irq=10 (substitua pelos valores corretos!)
Se o comando modprobe não funcionar adequadamente execute o comando
"depmod -a" e tente novamente.
2) Configurando o acesso à Internet no servidor com RedHat Linux:
Através do "control-panel" no X Window entre em "Network
Configuration".
2.1)Na seção Interfaces:
Clique em "Add" e selecione "PPP", clique em "OK".
Então coloque:
Phone Number: numero_do_provedor
Ative "Use PAP authentication" (depende do provedor!)
PPP login name: seu_login_do_provedor
PPP password: seu_password_do_provedor
Clique em "Customize", será aberta a janela "Edit PPP
Interface".
2.1.1)Na seção Hardware:
Deixe ativado apenas "Use hardware flow control and modem lines" e
"Abort
connection on well-known errors". A opção "Escape control characters"
deve
ficar desativada.
Opcionalmente poderá deixar ativado também "Allow any
user
to (de)activate interface".
Em "Line speed:" coloque a velocidade de seu modem.
Para um modem de
33.6
poderá ser colocado 115200.
Em "Modem Port:" coloque a porta serial no qual seu modem está
conectado.
Se
o modem já foi configurado no "control-panel" coloque "/dev/modem".
Em "PPP Options:" deixe em branco.
2.1.2) Na seção Communication:
Modem Init String: ATZ
Modem Dial Command: ATDT ou ATDP
Phone Number: número_do_telefone_do_provedor
Não selecione "Debug connection". E o resto fica em branco.
2.1.3) Na seção Networking:
Não deixe selecionada a opção "Activate interface at boot time".
Selecione apenas "Set default route when making connection" e "Restart
PPP
when connection fails".
Deixe os outros campos em branco exceto o campo "MRU (296-1500):" em
que
pode ser colocado o valor 1500.
2.1.4) Na seção PAP coloque:
Send username: seu_username_do_provedor
O resto deixe como está.
Agora na janela "Edit PPP Interface" clique em "Done" e
depois em "Save"
para salvar as configurações.
2.2) Na seção Names coloque:
Hostname: nomedoservidor.dominio
Domain: dominio.do.provedor
Search for hostnames in additional domains: DEIXE EM BRANCO
Nameservers: DNS.do.provedor (quantos existir e um por linha!)
Clique em "Save" para salvar as configurações.
2.3) Efetuando a conexão:
Para conectar ao provedor vá através do "control-panel" no X Window
em
"Network Configurator", e na seção "Interfaces" selecione
"ppp0" e clique em
"Activate".
Para desconectar clique em "Deactivate".
Os usuários
deverão
usar o programa "usernet" (dentro do X) para iniciar a conexão.
Para conectar pelo console vá para o diretório
"/etc/sysconfig/network-scripts" e digite:
# ./ifup-ppp ifcfg-ppp0 & (para conectar)
# ./ifdown-ppp ifcfg-ppp0 & (para desconectar)
E os usuários irão utilizar os seguintes comandos no console:
# /usr/sbin/usernetctl ifcfg-ppp0 up (para conectar)
# /usr/sbin/usernetctl ifcfg-ppp0 down (para desconectar)
Se você quiser saber o seu endereço IP na Internet use um dos seguintes
comandos:
# tail /var/log/messages
ou
# ifconfig
3) Configurando a rede local:
3.1) Configurando o servidor com RedHat Linux:
Através do "control-panel" no X Window entre em "Network
Configuration".
3.1.1) Na seção Names coloque:
Hostname: nomedoservidor.dominio
Domain: dominio.do.provedor
Search for hostnames in additional domains: DEIXE EM BRANCO
Nameservers: DNS.do.provedor (quantos existir e um por linha!)
3.1.2) Na seção Hosts coloque:
Clique em "Add" para adicionar cada linha abaixo.
IP Name
Nicknames
127.0.0.1 localhost
192.168.1.1 nomedoservidor.dominio nomedoservidor
192.168.1.2 nomedocliente1.dominio nomedocliente1
192.168.1.3 nomedocliente2.dominio nomedocliente2
...
3.1.3) Na seção Interfaces coloque:
Caso não tenha a interface "eth0" clique em "Add" e escolha
"Ethernet".
Se já tiver a interface "eth0" selecione-a e clique em
"Edit", então
coloque:
IP: 192.168.1.1
Netmask: 255.255.255.0
Network: 192.168.1.0
Broadcast: 192.168.1.255
Ative o "Activate Interface at boot time". (recomendado)
Ative o "Allow any user to (de)activate interface". (opcional)
Em "Interface configuration protocol" coloque "none".
Clique em "Done" e "Save".
3.1.4) Na seção Routing:
Deixe tudo vazio!
Clique em "Save" e "Quit".
Fim!
Se não quiser reiniciar a máquina para ativar a rede, vá na seção
"Interfaces" selecione "eth0" e clique em "Activate".
3.1.5) Confirme a configuração nos seguintes arquivos:
=> /etc/hosts
127.0.0.1 localhost
192.168.1.1 nomedoservidor.dominio
nomedoservidor
192.168.1.2 nomedocliente1.dominio
nomedocliente1
192.168.1.3 nomedocliente2.dominio
nomedocliente2
=> /etc/resolv.conf
search dominio.do.provedor
nameserver DNS.do.provedor
nameserver DNS.do.provedor (caso tenha mais de um!)
=> /etc/HOSTNAME
nomedoservidor.dominio
=> /etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=nomedoservidor.dominio
GATEWAYDEV=
GATEWAY=
=> /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=yes
ONBOOT=yes
BOOTPROTO=none
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.1
=> /etc/host.conf
order hosts,bind
multi on
Tudo confirmado!!!
3.2) Configurando o cliente com RedHat Linux:
Através do "control-panel" no X Window entre em "Network
Configuration".
3.2.1) Na seção Names coloque:
Hostname: nomedocliente.dominio
Domain: dominio.do.provedor
Search for hostnames in additional domains:
DEIXE EM BRANCO
Nameservers: DNS.do.provedor (quantos existir e um por linha!)
3.2.2) Na seção Hosts coloque:
Clique em "Add" para adicionar cada linha abaixo.
IP Name
Nicknames
127.0.0.1 localhost
localhost.localdomain
192.168.1.1 nomedoservidor.dominio
nomedoservidor
192.168.1.2 nomedocliente1.dominio
nomedocliente1
192.168.1.3 nomedocliente2.dominio
nomedocliente2
...
3.2.3) Na seção Interfaces coloque:
Caso não tenha a interface "eth0" clique em "Add" e escolha
"Ethernet".
Se já tiver a interface "eth0" selecione-a e clique em
"Edit", então
coloque:
IP: 192.168.1.2 (ou 192.168.1.3 etc.)
Netmask: 255.255.255.0
Network: 192.168.1.0
Broadcast: 192.168.1.255
Ative o "Activate Interface at boot time". (recomendado)
Ative o "Allow any user to (de)activate interface". (opcional)
Em "Interface configuration protocol" coloque "none".
3.2.4) Na seção Routing:
Nao selecione "Network Packet Forwarding (IPv4)".
Default Gateway: 192.168.1.1
Default Gateway Device: eth0
Aperte "Add" e coloque:
Device: eth0
Network: 192.168.1.0
Netmask: 255.255.255.0
Gateway: 192.168.1.1
Clique em "Done".
Clique em "Save" e "Quit".
Fim!
Se não quiser reiniciar a máquina para ativar a rede, vá na seção
"Interfaces" selecione "eth0" e clique em "Activate".
3.2.5) Confirme a configuração nos seguintes arquivos:
=> /etc/hosts
127.0.0.1 localhost
localhost.localdomain
192.168.1.1 nomedoservidor.dominio
nomedoservidor
192.168.1.2 nomedocliente1.dominio
nomedocliente1
192.168.1.3 nomedocliente2.dominio
nomedocliente2
=> /etc/resolv.conf
search dominio.do.provedor
nameserver DNS.do.provedor
nameserver DNS.do.provedor (caso tenha mais de um!)
=> /etc/HOSTNAME
nomedocliente.dominio
=> /etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=nomedocliente.dominio
GATEWAYDEV=eth0
GATEWAY=192.168.1.1
=> /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=yes
ONBOOT=yes
BOOTPROTO=none
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.2 (ou 192.168.1.3 etc.)
=> /etc/host.conf
order hosts,bind
multi on
Tudo confirmado!!!
3.3) Configurando o cliente com Windows 95:
(Não entrarei em detalhes aqui!)
Em "Iniciar/Configurações/Painel de Controle" entre em
"Rede".
Adicione a sua placa de rede e o protocolo TCP/IP.
Selecione "TCP/IP -> Placaderede" e clique no botão
"Propriedades".
Na pasta "Endereço IP" selecione "Especificar um endereço
IP:" e coloque:
Endereço IP: 192.168.1.2 (ou 192.168.1.3 etc.)
Máscara da sub-rede: 255.255.255.0
Na pasta "Gateway" adicione "192.168.1.1".
Na pasta "Configuração DNS" selecione "Ativar DNS".
E
coloque:
Host: nomedocliente Domínio: dominiodocliente
Em "Ordem de pesquisa do servidor DNS" adicione o(s) DNS de seu
provedor.
Em "Ordem de pesquisa sufixo do domínio" adicione o domínio do seu
provedor.
As outras pastas deixe como estão.
Clique em "OK" em todas as janelas e reinicialize o sistema.
Você pode opcionalmente criar o arquivo "HOSTS" no diretório do
Windows com
o seguinte conteúdo:
127.0.0.1 localhost
192.168.1.1 nomedoservidor.dominio
192.168.1.2 nomedocliente1.dominio
192.168.1.3 nomedocliente2.dominio
Veja o exemplo chamado HOSTS.SAM no diretório do Windows.
Teste a sua conexão com o servidor da sua rede digitanto em
"Iniciar/Executar..." o comando:
ping 192.168.1.1
4) Ativando o IP Masquerade no servidor com RedHat Linux:
O IP Masquerade é o que faz todas as máquinas cliente acessarem a Internet
quando o servidor estiver conectado.
Primeiro verifique se o "Ipfwadm" está instalado em seu sistema.
Caso
não
esteja instale-o a partir do seu disco do RedHat. Ele está no diretório
"/RedHat/RPMS".
Agora você deverá executar os comandos abaixo, um de cada vez, no console:
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp.o
/sbin/modprobe ip_masq_irc.o
/sbin/modprobe ip_masq_raudio.o
/sbin/modprobe ip_masq_cuseeme.o
/sbin/ipfwadm -F -f
/sbin/ipfwadm -F -p deny
/sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
Esta é uma configuração bem genérica.
Se você quiser bloquear alguns
serviços ou algumas portas consulte a documentação sugerida abaixo.
Adicione estas linhas no final do arquivo "/etc/rc.d/rc.local" para
que o IP
Masquerade seja ativado durante a inicialização do sistema.
Você poderá, ao
invés de adicionar no "/etc/rc.d/rc.local", criar um script com estas
linhas
para ativar o IP Masquerade quando for necessário.
Para isto crie um arquivo
com estas linhas colocando no inicio a seguinte linha:
#!/bin/sh
Depois use o seguinte comando para tornar o arquivo executável:
# chmod +x arquivo
Bastando então executar este arquivo para que seja ativado o IP Masquerade.
Se depois você quiser desativar o IP Masquerade, execute os comandos abaixo:
/sbin/ipfwadm -F -d m -S 192.168.1.0/24 -D 0.0.0.0/0
/sbin/rmmod ip_masq_ftp
/sbin/rmmod ip_masq_irc
/sbin/rmmod ip_masq_raudio
/sbin/rmmod ip_masq_cuseeme
echo "0" > /proc/sys/net/ipv4/ip_forward
5) Bibliografia:
-
· Linux IP Masquerade Resource
-
· Linux IP Masquerade Resource
-
· The Linux Manual
-
· Linux IP Masquerade mini HOWTO
-
· Setting Up IP Masquerade on RedHat Linux 5
-
· IP Masquerade FAQ
-
· Ipfwadm Page
-
· Indyramp's IP Masquerading site
-
· RedHat PPP Setup Tips
-
· RedHat Dial-up Tip
-
· The Linux Network Administrators' Guide
-
· HOWTOs
-
· IP Masquerade mini HOWTO
-
· Ethernet HOWTO
-
· ISP Hookup HOWTO
-
· PPP HOWTO
-
· Intranet Server HOWTO
-
· Kernel HOWTO
-
· Modules Installation mini HOWTO
|