configuração do roteador linux

3

Eu estou tentando configurar um roteador Linux pela primeira vez e estou lutando com a configuração.

Aqui, como eu quero configurá-lo: linha ISP - > Roteador Linux - > Roteador Linksys - > Lan.

O roteador Linux possui eth0 e eth1

Como configuro isso e onde coloco meu ip externo?

Muito obrigado,

    
por user40850 17.04.2010 / 21:05

2 respostas

12

Tendo essa configuração em casa, acho que sei como fazer isso.

Seu roteador linux terá duas interfaces físicas. Vou chamá-los de eth0 (conectado à sua rede interna e com um endereço IP estático) e eth1 (conectado ao seu provedor e, presumivelmente, um endereço fornecido via DHCP).

Ativando o encaminhamento de pacotes

No arquivo /etc/sysctl.conf , pode haver duas linhas que correspondam ao seguinte:

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

Se não, você precisará adicionar pelo menos a última linha. Aqui está uma peça importante: altere 0 para 1 . Isso diz ao kernel, profundamente, para enviar pacotes de uma interface para outra, se as tabelas de roteamento no roteador linux dizem que é a próxima etapa. Em seguida, você precisará reinicializar ou executar o seguinte comando: echo 1 > /proc/sys/net/ipv4/ip_forward .

Configurando o NAT

Neste momento, tudo o que sai da eth0 ou da eth1 está saindo com o mesmo endereço IP que aparece. Então, o Google receberá pings de 192.168.1.x (ou seja qual for o seu esquema de IP). O problema é que esses endereços IP não podem ser roteados pela Internet pública. Então você terá que dizer ao seu roteador Linux para modificar os pacotes de saída para que eles possam ser roteados de volta para você. Eu fiz isso com a seguinte regra:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Isso informa ao sistema que, depois de ter feito todo o roteamento (porque está na cadeia POSTROUTING iptables), e se a interface de saída for eth1 ("- o eth1"), aplique MASQUERADE de destino. Isso significa "alterar o endereço IP de origem para ser o endereço IP da interface.

Configurando o DHCP

Neste ponto, seu sistema está fazendo o básico. Você terá, no entanto, que configurar cada sistema conectado para ter um IP & aponte para servidores DNS externos. Isso pode ser alterado com um pacote chamado dhcp . Instale-o e configure-o para inicializar na hora de início. No meu sistema baseado no Red Hat, isso pode ser feito com dois comandos: yum install dhcp e chkconfig dhcpd on . No entanto, ele não fará nada porque você não configurou o DHCP sobre qual é o seu esquema de IP e em quais interfaces ele deve escutar (embora eu possa estar errado). Abaixo está o que seu /etc/dhcpd.conf poderia ter:

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample  
#
ddns-update-style interim;
#include "/var/named/chroot/etc/rndc.key";
subnet 192.168.1.0 netmask 255.255.255.0
{
    authoritative;
    range 192.168.1.10 192.168.1.100;
    option routers 192.168.1.1;
    option domain-name-servers 192.168.1.1;
}
max-lease-time 14400; #4 hours
default-lease-time 14400; #4 hours

Alguns pontos importantes aqui:

  1. Linha de sub-rede: este deve ser o endereço de rede para eth0. A máscara de rede também deve corresponder.
  2. Linha de intervalo: é onde você define os endereços de início e fim da sua rede interna. Eu strongmente recomendo que isso exclua o endereço do próprio roteador linux.
  3. Linha de roteadores de opção: é aqui que você informa aos clientes qual será o gateway padrão deles. No caso que você descreveu, este será o endereço IP da eth0 do roteador linux.
  4. Opção domain-name-servers line: é aqui que você informa aos clientes quais serão seus servidores DNS. Você pode usar option domain-name-servers 208.67.222.222 208.67.220.220 se quiser usar o OpenDNS, option domain-name-servers 8.8.8.8 8.8.4.4 se quiser usar o DNS público do Google ou option domain-name-servers 192.168.1.1 se quiser configurar o sistema para lidar com tudo isso.

Agora você pode começar fazendo (em um sistema baseado em Red Hat), service dhcpd start como root. Se você não estiver usando o Red Hat ou um derivado, então você precisará executar o script de inicialização para esse sistema.

O tempo de concessão é definido em segundos. Pelo menos de acordo com a documentação que consegui encontrar, às vezes os clientes solicitarão uma duração específica de concessão, caso em que as instruções de tempo de locação máxima e de tempo mínimo de locação são verificadas e ajustadas para caber dentro desses limites. Outras vezes, os clientes não solicitam uma duração de concessão, em cujo caso o tempo de concessão padrão é usado.

Isso é seguro em termos de não servir outros clientes do seu ISP com o DHCP da rede interna porque o DHCPD não exibirá um endereço se não souber sobre o esquema de IP da interface em que ele entrou. Portanto, se uma solicitação dhcp vier em eth1, que possui um IP de 123.45.67.89, a configuração do DHCP não possui um bloco de sub-rede para esse IP. Por isso, não enviará nenhuma oferta DHCP para essa solicitação. Mas se ele entrar em eth0, que tem um IP de 192.168.1.1, ele tem um bloco de sub-rede que corresponde a esse endereço e oferece DHCP.

Configurando o DNS

Este pode ser o mais simples de todos. No meu sistema RHEL 5.1, foi instalar, iniciar e apontar clientes para ele. Fora da caixa, ele é configurado para apontar para os servidores de nomes raiz e servir clientes em qualquer interface que esteja ativa na inicialização do DNS.

Para instalar, tenha em mente que não é dnsd, é nomeado. Não é o passado de nomear. Em vez disso, leia como "nome-D".

yum install named    #installation
service named start  #start it for right now
chkconfig named on   #set it to start at system boot.
    
por 17.04.2010 / 22:55
2

Você pode querer considerar a configuração de uma distribuição de roteador baseada em Linux, como o Smoothwall ( link ). Ele foi projetado especificamente para o uso do roteador e é muito mais fácil de configurar do que rodar sua própria configuração.

    
por 17.04.2010 / 21:33

Tags