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.
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.
http://www.linmodems.org
http://www.linuxhq.com/HOWTO
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.
- 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
ln -s /dev/ttyS1 /dev/modem
ls -l /dev/modem
Arquivos de Configuração
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
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
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:
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:
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.
#!/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
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
Agora iremos verificar se a interface ppp esta ativa, utilize o seguinte comando :
ifconfig ppp0
Onde:
route –n
Será mostrada a lista de todas as interfaces de rede e uma delas deverá ser a ppp0, na tela aparecerá algo
como:
Uma forma de avaliar todo o processo de discagem e autenticação ao provedor, utilize o procedimento
abaixo:
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) :
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 :
/etc/ppp/deslppp
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).
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.
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 :
-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.
-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.
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
# 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
# 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
;;
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
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.
Exemplo.
Modem seja 33600
Tempo ping = 130ms ou 0,13s
MTU = 437
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.
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.
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
# Mascaramento FTP
/sbin/modprobe ip_masq_ftp
# 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
;;
stop)
gprintf "Parando o serviço de %s: " "IPChains"
echo
exit 0
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.
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.
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.