Você está na página 1de 32

Capítulo 4 - Acesso Compartilhado à Internet

Introdução
Com o advento da Internet a busca e troca de informações vêm acontecendo de forma rápida, transparente e
fácil. Este acesso se dá através de links dedicados ou linhas discadas fazendo com que as empresas de
telecomunicações aumentem a disponibilidade de recursos de forma exponencial.
Por esse motivo as empresas vêm implementando formas de acesso à Internet aos seus usuários de forma
segura, rápida e eficiente. Umas das soluções implementadas hoje, utilizam basicamente dois tipos de
acesso :
- linha discada
- link privado

A primeira forma de acesso (linha discada) pode ser implementada em empresas pequenas ou escritórios ,
com uma capacidade de no máximo 5 usuários simultâneos para ter um acesso de forma confortável.
Acesso através de um link privado é indicado para pequenas, médias e grandes empresas ou profissionais
que necessitam de uma troca de informação em alta velocidade. Hoje a gama de velocidade disponível
começa em 128Kbps (Kilobits por segundo) até 2Mbps (Megabits por segundo), existem outros tecnologias
mais rápidos utilizando redes ATM (155Mbps).
Com uma gama tão ampla de velocidade de acesso, poderá comportar um vasto volume de usuários
acessando simultaneamente a Internet.

Cálculo de infra-estrutura (link)

Para este cálculo levaremos em conta apenas o tipo do perfil de acesso em uma rede IP (Internet Protocol)

Pequenos volumes
São empresas que utilizam a Internet para pequenos volumes de troca de mensagens, com acesso restrito
dos usuários, podemos considerar um consumo de recurso da banda de 1Kbps/usuário.

Médios volumes
São empresas que utilizam a Internet como uma ferramenta de negócio, grande troca de informações
através de e-mail, vídeo conferencia, devemos considerar um consumo médio de 5Kbps/usuário.

Devemos também considerar para o cálculo de dimensionamento do link, o número de usuários


simultâneos que irão acessar este link.

Interfaces disponíveis no LINUX


O kernel do Linux suporta vários tipos de interface de rede. Estas podem ser baseadas em hardwares (tais
como Ethernet, token ring, fddi, isdn, x.25, entre outras), baseadas em comunicação serial (com ou sem
modem, PPP, SLIP) e através da porta paralela (PLIP). Em todas estas interfaces é possível realizar a
comunicação TCP/IP, permitindo a interconexão de máquinas em uma rede local (utilizando as mais
diversas tecnologias de hardware e software) com outros tipos de rede.
Linha Discada (PPP demand)
A solução pppd faz com que qualquer pacote IP que esteja direcionado para um número fora de nossa rede
interna seja direcionado para uma rede externa através de uma conexão discada. Utilizaremos esta solução
para fazer com que o servidor Linux acesse a Internet através de um provedor internet e um alinha discada.
Caso sua solução seja através de cable modem utilize o tópico referente a cable modem mostrado neste
livro.
Esta solução é de fácil implementação pois são necessários apenas os seguintes quesitos:
- servidor Linux com suporte aos módulos PPPd e IPCHAINS (Conectiva Linux tem suporte nativo)
- placa de rede no servidor
- modem (preferencialmente de 56K , interno ou externo)
- conexão a um provedor de Internet
- HUB (necessário para interligação com as estações de trabalho)

No capítulo 1 deste livro, há o diagrama da arquitetura a ser implementada.


No diagrama abaixo mostra a forma de comunicação implementada.
Modem
Na seleção do modem a ser utilizado deve se verificar se este é suportado pelo Linux. Alguns sites que
poderão auxiliar a tomada de decisão ou consulta são :

http://www.linmodems.org
http://www.linuxhq.com/HOWTO

Antes de prosseguir verifique se o seu modem é suportado pelo Linux

O modem é um dispositivo que está conectado a uma porta serial (interna ou externa), capaz de receber e
enviar dados digitais através de um meio físico (geralmente par de fios metálicos).Todo o processamento
de sinais a serem enviados e recebidos é realizado pelo modem.

Hoje em dia foram introduzidos além dos modems convencionais, uma nova tecnologia de modem
denominada de winmodem ,softmodem e modem HSP (host software protocol).
O winmodem é mais barato, pois foram retiradas partes da função que este fazia e entregues ao processador
do computador. Desta forma para que este modem funcione corretamente ele necessita que as máquinas as
quais está conectado, tenham processadores de grande performance. Isso causa um grande impacto no
processamento das demais tarefas, pois o processador que está sendo utilizados para o trabalho normal
também terá que processar as informações vindas deste tipo de equipamento. Há drivers para Linux para
alguns modelos de softmodems, mas somente funcionaram em determinadas condições, devido a estas
limitações não é recomendado à utilização destes modems. Caso desejar mais informações os sites
mencionados acima tem algumas soluções já implementadas.

Segue abaixo algumas dicas sobre modems :

- Winmodems e HSP Modems não são modems completos, pois só funcionam dentre do Windows
95/98/NT/2000
- Modems instalados em placas PCI são difíceis de configurar, utilize modem com barramento ISA
- Modems Mwave e DSP são equipamentos que só funcionam com drivers proprietários dos seus
respectivos fabricantes
- Modems com drivers RPI (Rockwell) irão funcionar, mas com performance reduzida.

Instalação/Configuração

Instalação do modem
a) certificar-se de que o kernel tem o suporte ao seu modem, à sua serial e ao(s) protocolo(s) (exemplo:
ppp, slip) que você deseja utilizar. Utilize o comando 'dmesg' para ver as mensagens do boot do kernel e
verificar.
b) Se o modem for interno e padrão ISA, verificar se as configurações de IRQ estão corretas, através do
comando 'setserial'
c) Se o modem for plug and play, configurá-lo através do 'pnpdump' e 'isapnp'
d) verificar se os pacotes de software (exemplo: pppd) estão adequadamente instalados.
Os detalhes destes passos estão no Modem-HOWTO. Como última dica, quero lembrar que o meu US
Robotics Sportster 56K V.90 interno sempre funcionou no Linux sem maiores problemas.

Identifique em qual saída serial o seu modem está conectado. Para facilitar, o quadro abaixo mostra um
paralelo entre a nomenclatura utilizada no DOS e no LINUX para melhor compreensão.
DOS Linux
COM1 /dev/ttyS0
COM2 /dev/ttyS1
COM3 /dev/ttyS2
COM4 /dev/ttyS3

Logue como root.


Crie um symlink do /dev/modem para a porta serial onde está o modem, para fazer isso utilize o comando
ln onde o primeiro atributo é o dispositivo serial e o segundo atributo e o /dev/modem. Exemplo :
Por exemplo, conecte o seu modem na porta COM1(/dev/ttyS0) então o comando ficaria assim :

ln -s /dev/ttyS1 /dev/modem

Para verificar a configuração, utilize o seguinte comando:

ls -l /dev/modem

a resposta deve ser algo parecido com abaixo

lrwxrwxrwx 1 root root 4 Jan 12 2000 /dev/modem -> /dev/ttyS0

Arquivos de Configuração

Para as configurações necessita-se ter as seguintes informações do provedor de acesso a Internet :


- número do telefone de acesso
- DNS primário
- DNS secundário (opcional)
- Nome do domínio
- Nome do login
- Senha do login
Estes dados podem ser obtidos diretamente com o seu provedor, em nosso exemplo utilizaremos o provedor
Tutopia.

Provedor Tutopia
Telefone Acesso (SP) (11) 33714570
DNS Primário 200.195.250.4
DNS Secundário 200.194.249.12
Domínio Tutopia.com.br

Agora teremos que incluir as seguintes linhas (caso não existam) nos respectivos arquivos :

Arquivo /etc/hosts.deny
# inclua a seguinte linha
ALL: ALL
# fim da alteração

Arquivo /etc/hosts.allow
#inclui a seguinte linha
ALL: 127.0.0.1
# fim da alteração

Neste ponto, você precisa saber qual é o name server (DNS server) de seu
provedor e edite o arquivo /etc/resolv.conf.

#/etc/resolv.conf
search provedor.com.br
nameserver 222.222.222.222
nameserver 333.333.333.333
nameserver 444.444.444.444
# fim da alteração

Podem ser incluídos até 4 (quatro) nameserver

Na nossa configuração estamos utilizando o provedor Tutopia, então devem ser incluídas as seguintes
linhas :

Arquivo /etc/resolv.conf
# inclua as seguintes linhas
search tutopia.com.br
nameserver 200.195.250.4
nameserver 200.195.251.4
# fim da alteração

Arquivo /etc/hosts
# altere/inclua as seguintes linhas
localhost 127.0.0.1
0.0.0.0 advlinux.com.br
# fim da alteração

O nome advlinux.com.br é o nome do servidor Linux utilizado em nosso exemplo, substitua


pelo nome do seu servidor Linux.

Arquivo /etc/networks
#inclua as seguintes linhas se necessário
loopback 127.0.0.1
localnet 0.0.0.0
# fim da alteração

Você precisa agora configurar as opções a serem utilizadas pelo pppd, durante a conexão. Como root crie o
diretório /etc/ppp e depois o arquivo /etc/ppp/options com o conteúdo abaixo.

demand
lock
pap-timeout 200
noipdefault
defaultroute
modem
usepeerdns
user
0.0.0.0:0.0.0.0
ipcp-accept-local
ipcp-accept-remote
lcp-echo-interval 0
crtscts
holdoff 10
maxfail 5
idle 200
passive
noauth
debug
asyncmap 0
persist
debug

Iremos mostrar abaixo uma descrição das principais opções utilizada no arquivo /etc/ppp/options.

pap-timeout 200
Tempo de espera para verificação de usuario e senha da conexão pppd.
noipdefault
Não estabelece um IP padrão para a interface pppd.
defaultroute
Define a interface pppd como rota padrão.
modem
Controla o modem través do dispositivo /dev/modem.
user usuário
Utilizado para conexões PAP, onde o campo usuário deverá ser substituído pelo nome de ID (login)
cadastrado no provedor e armazenado no arquivo /etc/ppp/pap-secrets (não é utilizado em nosso exemplo,
mas poderá ser necessário caso o seu provedor utilize este tipo de autenticação).
crtscts
Controle de sinal do modem.
holdoff
Tempo em segundos para que inicia-se a reconexão, caso esta finalize por algum problema (por exemplo
sem tom de linha, ocupado ou queda anormal da conexão).
maxfail
Número de rediscagens que o modem tentará conectar-se o provedor.
demand
Especifica que o conexão ppp será utilizado em modo Demand.
idle
Tempo em segundos a conexão poderá ficar aberta sem tráfego.
persist
Informa ao pppd que esta conexão deverá persistir caso ocorra algum erro.

Caso utilize conexão através de autenticação CHAP, altere o arquivo /etc/ppp/chap-secrets de acordo com
o mostrado abaixo:

usuário interface senha

Onde:
usuário devera ser preenchido o nome do usuário/login utilizado para acesso ao provedor.
interface indicará qual a interface que pertence esta configuração.
senha devera ser preenchida com a senha, utilizado na conexão com o provedor.
Caso utilize conexão através de autenticação PAP, altere o arquivo /etc/ppp/pap-secrets de acordo com o
mostrado abaixo:

usuário interface senha

Onde:
usuário devera ser preenchido o nome do usuário/login utilizado para acesso ao provedor.
interface indicará qual a interface que pertence esta configuração.
senha devera ser preenchida com a senha, utilizado na conexão com o provedor.

Agora deve torná-lo acessível a qualquer usuário, utilize o seguinte comando:

chmod 774 /etc/etc/options

Crie um arquivo /etc/ppp/deslppp contendo o seguinte conteúdo:

#!/bin/sh
# Script para desligar manualmete PPP Demand
# Autor : Adriano Frare
#
#
echo "Parando a discagem PPP Demand..."
killall pppd

Após ter criado este arquivo, devemos torná-lo executável e para isso utilize o seguinte comando :
chmod 775 /etc/ppp/deslppp

Agora iremos criar um arquivo que fará a discagem e conexão com o provedor. Para isso crie o arquivo
/etc/ppp/conectappp com o conteúdo abaixo.

#!/bin/sh
# Script de discagem PPPd
# Autor : Adriano Frare
#
#
echo "Apagando configuracao antiga PPPD"
killall pppd
sleep 5
echo "Discagem por Demanda...[Iniciado]"
/usr/sbin/pppd /dev/modem 115200 connect "/usr/sbin/chat -v \
TIMEOUT 120 ABORT 'BUSY' ABORT 'NO DIALTONE' \
ABORT 'NO CARRIER' '' ATZ OK ATDP33714570 CONNECT '' \
ogin: --ogin: --ogin: --ogin: --ogin: --ogin: --ogin: --ogin: \
--ogin: afrare@tutopia.com.br ssword: alf1803"

sleep 5

echo "Apagando configuração antiga de roteadores"


route del default
route del default
route del -host 10.112.112.112

echo "Criando ROTA default PPP"


sleep 2
route add default ppp0

Devemos tornar o arquivo executável, altere as permissões conforme mostrado.

chmod 775 /etc/ppp/conectappp

Agora é possível testar a conexão com o provedor manualmente. Para fazer isso digite a seguinte linha no
prompt e verifique e conectou sem problemas.

cd /etc/ppp
./conectappp

Irão aparecer na tela as seguintes mensagens.

Apagando configuração antiga PPPD


Discagem por Demanda...[Iniciado]
Apagando configuração antiga de roteadores
Criando ROTA default PPP

Agora iremos verificar se a interface ppp esta ativa, utilize o seguinte comando :

ifconfig ppp0

Deverá aparecer algo como:

ppp0 Encapsulamento do Link: Protocolo Ponto-a-Ponto


inet end.: 10.64.64.64 P-a-P:10.112.112.112 Masc:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Métrica:1
Pacotes RX:0 erros:0 descartados:0 sobreposições:0 frame:0
Pacotes TX:0 erros:0 descartados:0 sobreposições:0 portadora:0
colisões:0 txqueuelen:10

Onde:

* inet addr: indica o seu número IP para esta conexão.


* P-t-P: indica o número IP do servidor.

route –n

Será mostrada a lista de todas as interfaces de rede e uma delas deverá ser a ppp0, na tela aparecerá algo
como:

Tabela de Roteamento IP do Kernel


Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
192.168.1.0 192.168.1.100 255.255.255.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

Uma forma de avaliar todo o processo de discagem e autenticação ao provedor, utilize o procedimento
abaixo:

Pressione simultaneamente as teclas alt-f2


Irá aparecer uma nova tela de login
Logue como root
Utiliza o comando tail –f /var/log/messages (tecle ENTER)
Isso fará com que todas as mensagens sejam vistas neste console
Retorne para a console anterior (pressionado alt-f1)

Agora através do comando ping iremos verificar se a discagem está funcionando, para isso iremos utilizar
um IP do DNS primário do nosso provedor de acesso (no nosso caso o IP é 200.195.250.4) :

ping –c10 200.195.250.4

Altere novamente para a console2 (alt-f2) e poderá se observar todo o processo de discagem e autenticação
do provedor.
O Linux pode criar até 5 consoles virtuais, para alterar de console utilize as teclas alt-fx, onde x
é a respectiva console o qual se deseja ir.

Exemplo :
Console1 Alt+f1
Console2 Alf+f2
Console3 Alf+f3
Console4 Alf+f4
Console5 Alf+f5
Cada console virtual (ou terminal virtual) é totalmente independe um do outro, criando instâncias no Linux
independentes

Após alguns segundos o modem deverá discar e realizar todo o procedimento de login automaticamente e
deverão aparecer as seguintes mensagens na telas :

Jan 15 06:37:07 advlinux pppd[1370]: Starting link


Jan 15 06:37:08 advlinux chat[1383]: timeout set to 120 seconds
Jan 15 06:37:08 advlinux chat[1383]: abort on (BUSY)
Jan 15 06:37:08 advlinux chat[1383]: abort on (NO DIALTONE)
Jan 15 06:37:08 advlinux chat[1383]: abort on (NO CARRIER)
Jan 15 06:37:08 advlinux chat[1383]: send (ATZ^M)
Jan 15 06:37:08 advlinux chat[1383]: expect (OK)
Jan 15 06:37:08 advlinux chat[1383]: ATZ^M^M
Jan 15 06:37:08 advlinux chat[1383]: OK
Jan 15 06:37:08 advlinux chat[1383]: -- got it
Jan 15 06:37:08 advlinux chat[1383]: send (ATDP33714570^M)
Jan 15 06:37:08 advlinux chat[1383]: expect (CONNECT)
Jan 15 06:37:08 advlinux chat[1383]: ^M
Jan 15 06:37:49 advlinux chat[1383]: ATDP33714570^M^M
Jan 15 06:37:49 advlinux chat[1383]: CONNECT
Jan 15 06:37:49 advlinux chat[1383]: -- got it
Jan 15 06:37:49 advlinux chat[1383]: send (^M)
Jan 15 06:37:49 advlinux chat[1383]: expect ()
Jan 15 06:37:49 advlinux chat[1383]: got it
Jan 15 06:37:49 advlinux chat[1383]: send (seu_user^M)
Jan 15 06:37:49 advlinux chat[1383]: expect (ssword:)
Jan 15 06:37:49 advlinux chat[1383]: 44000/ARQ/V90/LAPM/V42BIS^M
Jan 15 06:37:49 advlinux chat[1383]: ^M
Jan 15 06:37:49 advlinux chat[1383]:
Jan 15 06:37:49 advlinux last message repeated 23 times
Jan 15 06:37:49 advlinux chat[1383]: ** Ascend TNT Terminal Server **^M
Jan 15 06:37:49 advlinux chat[1383]: ^M
Jan 15 06:37:49 advlinux chat[1383]: ^M
Jan 15 06:37:49 advlinux chat[1383]: Login: IDdousuário^M
Jan 15 06:37:49 advlinux chat[1383]: Password:
Jan 15 06:37:49 advlinux chat[1383]: -- got it
Jan 15 06:37:49 advlinux chat[1383]: send (senha^M)
Jan 15 06:37:49 advlinux pppd[1370]: Serial connection established.
Jan 15 06:37:49 advlinux pppd[1370]: Connect: ppp0 <--> /dev/modem
Jan 15 06:37:54 advlinux pppd[1370]: Local IP address changed to 200.189.200.24
Jan 15 06:37:54 advlinux pppd[1370]: Remote IP address changed to 200.189.229.2

Caso não funcione verifique as mensagens no arquivo /var/log/messages

Para desligar a conexão manualmente utilize o seguinte comando :

/etc/ppp/deslppp

Após alguns segundos a conexão será finalizada.

No Conectiva Linux tem um browser em modo texto chamado lynx, para utilizá-lo utilize a
seguinte sintaxe lynx nomedosite (exemplo lynx www.conectiva.com.br).

Iniciando o PPPd automaticamente

Após ter verificado o correto funcionamento da conexão pppd, podemos iniciar o serviço de conexão ppp
demand automaticamente na inicialização do servidor Linux. Para isso devemos colocar o script de
inicialização no arquivo /etc/rc.d/rc.local, conforme mostrado abaixo.

Logue como superusuário e através do seu editor de texto preferido, insira as seguintes linhas.

# Carregar PPP demand


/etc/ppp/./conectappp
# Fim

Desta forma todas vez que o Linux inicializar , este carregará o pppd automaticamente.
IPChains (Compartilhando a Internet)
Para que todos os computadores da rede acessem a Internet, iremos utilizar uma técnica chamada de IP
mascarado. Esta solução permite que através de uma única conta Internet configurada pelo pppd, todos o
computadores conectados ao servidor Linux possam ter acesso a Internet. Para isso basta que o usuário abra
o seu browser e selecione algum site ou endereço IP da Internet. O servidor Linux automaticamente irá
discar para o provedor e se conectará a Internet sem nenhuma intervenção do usuário. Após o ultimo
usuário da rede ter finalizado o browser o modem se desconectará automaticamente do provedor (esta
desconexão ocorre após o tempo determinado no script carregar, que está configurado para 120 segundos).

O comando IPChains é muito utilizado para a finalidade de mascaramento e firewall em servidorers Linux
e foi implementado ao Kernel versão 2.1.102 até a versão 2.2.XX. Para que possamos ter um melhor
entendimento do uso deste comando a seguir iremos abordar a estrutura deste comando e suas opções.

Comando :

ipchains
ipchains [categoria] [política][ parâmetros] [opções]

Onde :

Categoria descreve qual tipo de regra à ser utilizada.

-I (input rule)
Controla o gerenciamento de pacotes de entrada

-O (output role)
Controla o fluxo e encaminhamento dos pacotes de saída.

-F (fowarding rule)
Controla as rotas no fluxo de pacotes.

-M (masquerading rule)
Gerenciamento entre a troca de IP’s verdadeiros e fixos (comumente usado em conjunto com a opção –F).

-A (accounting rule)
Contabiliza os pacotes de entrada e saída de uma rede.

Política descreve a política utilizada para o controle do fluxo de pacotes. Onde temos as seguintes opções.

-a
Atualiza uma regra já existente no firewall.

-i
Inseri uma nova regra no firewall.

-d
Apaga uma rega existente no firewall.

-p
Define a regra como padrão no firewall.

-l
Lista as regrar existentes do firewall.

-f
Exlue todas as regras existentes no firewall.

-C
Verifica as regras básicas do firewall.

-Z
Zera uma regra específica do firewall.

-N
Cria uma nova regra com um nome específico.

-X
Exclui uma regra por seu nome.

Parâmetros.
-p! (protocol)
Define qual protocolo (UDP,ICM,TCP) será tratado.

-s! (origem) / d! (destino)


Define qual o endereço de origem e destino que a regra irá atuar.

-i! (interface)
Define através no nome da interface onde a regra atuará.

-j! (redireciona)
Redireciona a ação para uma determinada regra similar.

-f! (fragmentos)
Trata a fragmentação dos pacotes.
Opções.
-l (log)
Criar uma lista com os eventos do tráfego através das regras criadas.

-b (bidirecional)
Utiliza a mesma regra para entrada e saída de tráfego.

-m (mascaramento)
Marcara os pacotes de entrada e saída.

Para configurar este serviço siga o procedimento abaixo:

O utilitário ntsysv é utilizado em várias distribuições para iniciar os serviços no servidor Linux. Para que
esta a opção ipchains pareça na lista de serviços, primeiramente acesso o sistema como root (superusuário)
o seguinte diretório:

cd /etc/rc.d/init.d

Agora utilize seu editor favorito e crie o arquivo ipchains com o seguinte conteúdo:

As linhas como comentários com um "#" na frente também devem ser incluídas exatamente
igual abaixo.

#! /bin/sh
# description: Inicializacao do ipchains
#
# chkconfig: 2345 80 30
# processname: ipchains
# pidfile: /var/run/ipchains.pid

. /etc/rc.d/init.d/functions
. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]
then
exit 0
fi

case "$1" in
start)
gprintf "Iniciando o serviço de %s: " "IPChains"
echo
echo 1 > /proc/sys/net/ipv4/ip_forward

# Regra para o Mascaramento da REDE


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

# Mascaramento FTP
/sbin/modprobe ip_masq_ftp
# Mascaramento QUAKE
/sbin/modprobe ip_masq_quake
Troque pelo endereço IP
# Mascaramento IRC da sua rede.
/sbin/modprobe ip_masq_irc

# Mascaramento Real Audio


/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio

# Os pacotes do SAMBA sao barrados, evitando trafego externo


# com o SAMBA
/sbin/ipchains -A forward -j DENY -p tcp -s 0.0.0.0/0 137:139
/sbin/ipchains -A forward -j DENY -p udp -s 0.0.0.0/0 137:139

# Regras para FIREWALL (Protecao contra ataques)

# Protecao contra SPOOF


echo 1> /proc/sys/net/ipv4/conf/all/rp_filter

# Protecao contra PING


ipchains -A input -p icmp -j DENY -s 0.0.0.0/0

# Protecao TRINOO
ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 27665
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 27444
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 31335

# BackDoors
ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 666
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 666

# NAPSTER
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6702
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6702
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6703
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6703
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6704
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6704
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6705
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6705
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 7777
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 7777

# Protecao contra acesso externo ao NETBIOS


ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -d <xxx.xxx.xxx.xxx>
137:139

# Protecao contra acesso externo ao TELNET (23)


ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -d <xxx.xxx.xxx.xxx>
telnet

;;
stop)
gprintf "Parando o serviço de %s: " "IPChains"
echo
Troque pelo endereço IP
/sbin/ipchains --flush do seu roteador.
;;
*)
gprintf "Uso: ipchains (start|stop)"
echo
;;
esac

exit 0

Agora tecle no prompt ntsysv e habilte o serviço conforme mostrado abaixo.

Desta forma todas vez que o servidor for reinicializa este serviço irá ser iniciado automaticamente.
Após ter concluído é necessário serem configuradas as estações de trabalho da sua rede, este tópico pode
ser encontrado neste capítulo com o título Configuração das Estações de Trabalho.

Melhoria de Performance
Podem ser feitos ajuste para a melhoria da performace em comunicação através da interface PPP. Um
ajuste que pode ser realizado é o cálculo do MTU. Este valor após calculado poderá ser utilizado no
arquivo /etc/ppp/options, resultando um aumento de desempenho de até 40% no tráfego através da interface
PPP. Caso utilize comunicação através de cable modem ou banda larga não se faz necessário este cálculo.

Cálculo do MTU
Depois de conectado a internet, abra um terminal Linux e execute o comando ping seguido do numero IP
do DNS do seu provedor Internet. Poderá utilizar o número contido no arquivo resolv.conf no servidor
Linux.

Após o ping coloque o valor do campo time na equação abaixo.

MTU = ping time (em segundos) / 10 * velocidadedomodem

Exemplo.
Modem seja 33600
Tempo ping = 130ms ou 0,13s

MTU = 0,13 /10 * 33600 = 436,8 (arredondado = 437)

MTU = 437

Coloque o valor acima no campo mtu no arquivo /etc/ppp/options.

Sintaxe do campo mtu:


mtu valor

Cable Modem/ADSL (SPEEDY / VIRTUA / AJATO)

A conexão com a Internet através de links de alta velocidade esta ficando cada vez mais acessíveis a
pequenas e médias indústrias.

O Linux tem uma solução para acesso compartilhado à Internet utilizando apenas uma placa de rede
conectada ao seu cable modem externo. Esta solução pode ser instalada em uma máquina Linux somente
para este serviço como também ser instalada como mais um serviço em um servidor Linux já utilizado. O
hardware necessário para instalação é o acréscimo de mais uma placa de rede no servidor como pode ser
visto no diagrama mostrado abaixo.
A placa de rede deverá ser compatível com o Linux e com o sistema instalado pelo fornecedor do link.
Geralmente qualquer placa de rede 10/100Mbps – PCI compatível com o Linux poderá ser utilizada.
Devemos sempre nos atentar a qualidade e características da placa para uso em servidor de grande
performance. Pois dependendo da velocidade do link e trabalho utilizado a troca de pacotes entre a rede
interna e externa poderá ser intenso.

Independente do tipo de produto escolhido (AJATO, SPEEDY, NET entre outros) que opera
com IP fixo ou não, a configuração apresenta funcionará, pois o cable modem ou modem ADSL
utilizado fará a interface entre a fornecedora da solução e a interface de rede do servidor.

Instalação/Configuração (Cable Modem/ADSL)


A instalação da placa de rede é relativamente fácil, siga os seguintes passos :

1. desligue o servidor
2. abra o gabinete
3. instale a placa em um slot disponível
4. feche o gabinete
5. conecte através de um cabo o cable modem e a placa de rede
6. ligue o servidor Linux
7. Caso esteja utilizando a distribuição da Conectiva, esta automaticamente irá detetar a sua placa
8. Logue como superusuário (root) e inicie o LINUXCONF.
9. Selecione o item ambiente de rede
10. Selecione o item placa de rede
11. Selecione o item 2, caso esta seja a sua segunda placa se tiver outras placa selecione o item
apropriado
12. Configure o IP da placa como as seguintes informações :
IP : 192.168.1.101
Máscara : 255.255.255.0

Saia do LINUXCONF e agora iremos utilizar o serviço de IPChains para que todas as máquinas da rede
Linux possam acessar a Internet.

Na figura abaixo temos a configuração através do LINUXCONF.


Para certificar que a placa foi corretamente configurada. Vá até o diretório /etc/sysconfig/netwok-scripts
e abra o arquivo ifcfg-xxx (onde xxx é o nome da sua placa), no nosso exemplo o conteúdo do arquivo
ifcfg-eth1 deverá ter as seguintes informações.
Siga o seguinte procedimento.
O utilitário ntsysv é utilizado em várias distribuições para iniciar os serviços no servidor Linux. Para que
esta opção ipchains apareça na lista de serviços, primeiramente acesse o sistema como root (superusuário)
e vá para o seguinte diretório:

cd /etc/rc.d/init.d

Agora utilize seu editor favorito e crie o arquivo ipchains com o seguinte conteúdo:

As linhas como comentários com um "#" na frente também devem ser incluídas exatamente
igual abaixo.

#! /bin/sh
# description: Inicializacao do ipchains
#
# chkconfig: 2345 80 30
# processname: ipchains
# pidfile: /var/run/ipchains.pid

. /etc/rc.d/init.d/functions
. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]
then
exit 0
fi

case "$1" in
start)
gprintf "Iniciando o serviço de %s: " "IPChains"
echo
echo 1 > /proc/sys/net/ipv4/ip_forward

# Regra para o Mascaramento da REDE


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

# Mascaramento FTP
/sbin/modprobe ip_masq_ftp

# Mascaramento QUAKE Troque pelo endereço IP


/sbin/modprobe ip_masq_quake
da sua rede.
# Mascaramento IRC
/sbin/modprobe ip_masq_irc

# Mascaramento Real Audio


/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio

# Os pacotes do SAMBA sao barrados, evitando trafego externo


# com o SAMBA
/sbin/ipchains -A forward -j DENY -p tcp -s 0.0.0.0/0 137:139
/sbin/ipchains -A forward -j DENY -p udp -s 0.0.0.0/0 137:139

# Regras para FIREWALL (Protecao contra ataques)

# Protecao contra SPOOF


echo 1> /proc/sys/net/ipv4/conf/all/rp_filter

# Protecao contra PING


ipchains -A input -p icmp -j DENY -s 0.0.0.0/0

# Protecao TRINOO
ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 27665
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 27444
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 31335

# BackDoors
ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 666
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 666

# NAPSTER
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6702
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6702
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6703
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6703
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6704
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6704
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6705
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 6705
ipchains -A output -p tcp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 7777
ipchains -A output -p udp -j DENY -s 192.168.1.0 -d 0.0.0.0/0 7777

# Protecao contra acesso externo ao NETBIOS


ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -d <xxx.xxx.xxx.xxx>
137:139
# Protecao contra acesso externo ao TELNET (23)
ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -d <xxx.xxx.xxx.xxx>
telnet

;;
stop)
gprintf "Parando o serviço de %s: " "IPChains"
echo

/sbin/ipchains --flush Troque pelo endereço IP


do seu roteador.
;;
*)
gprintf "Uso: ipchains (start|stop)"
echo
;;
esac

exit 0

Agora tecle no prompt ntsysv e habilite o serviço conforme mostrado abaixo.

Desta forma toda vez que o servidor for reinicializado este serviço irá ser iniciado automaticamente.

Iremos configurar a placa de rede Eth1 para ser o roteador de nossa rede, permitindo que os pacotes possam
trafegar pela Internet. Como superusuário, digite o seguinte comando abaixo:
route del default
Com o comando acima qualquer outra configuração de roteador será apagada.
route add default eth1
Com o comando acima será configurada a placa eth1 como roteador de nossa rede. Este comando poderá
ser modificado de acordo com a configuração de sua rede.

Após concluído, é necessário serem configuradas as estações de trabalho da sua rede, este tópico pode ser
encontrado neste capítulo com o título Configuração das Estações de Trabalho.

Configuração das Estações de Trabalho


A configuração das estações de trabalhos ligados a rede é feita de forma fácil. Abordaremos a instalação no
ambiente Windows 9x.

Inicie o Windows 9x e siga até o menu Configurações.

Selecione a opção Painel de Controle


Será aberta uma janela, onde deverá ser selecionado o ícone REDE.

Agora iniciaremos a instalação do protocolo e placa.


Selecione o driver do adaptador (placa de rede) compatível com a placa instalada no computador. Caso a
placa não se encontre na lista do Windows selecione o botão Com disco ... e introduza o disco com o driver
da placa.

Selecione agora o protocolo que irá trafegar na rede, para uma melhor integração entre os ambientes de
redes externos e internos. Deve-se selecionar o protocolo TCP/IP, conforme mostra a figura abaixo.
Devemos agora configurar a protocolo TCP/IP, informado o número TCP/IP do computador, o número
TCP/IP do roteador.

O numero TCP/IP do roteador deverá ser o numero TCP/IP do servidor Linux (192.168.1.100), pois este
servidor poderá ser utilizado como gateway, caso necessite de interligação com outras redes.

A máscara da rede será definida como 255.255.255.0, pois só temos um seguimento (192.168.1.???) na
rede. Este seguimento poderá comportar até 255 componentes de rede (impressoras, servidores e estações).
Caso hajam outras redes, esta máscara deverá ser alterada.
Configure o gateway.
Agora deverá ser cadastrado o serviço de DNS.

Selecione a opção Ativar DNS.


Host: insira IP da sua máquina
Ordem de pesquisa do DNS: insira o número IP do seu provedor Internet, este número deverá ser o mesmo
colocado no arquivo /etc/resolv.conf no servidor Linux.
Domínio: nome do servidor Linux.

Agora iremos configurar o nome do Grupo de Trabalho e o Nome do computador à rede. Caso este
computador conecte-se ao um servidor SAMBA, o Nome do Grupo de Trabalho deverá ser o mesmo que
já foi designado no campo workgroup do arquivo smb.conf no servidor Linux, caso contrário poderá ser
designado qualquer nome.
Agora reinicie o computador e está pronto.

Ao utilizar o browser (Netscape, Microsoft Explorer,...) deverá ser selecionado nas


propriedades deste software a configuração de conectado a rede LAN, não necessitando de
discagem.