Debian Squeeze como um roteador

6

Estou tentando configurar o Debian Squeeze (ala Dreamplug) como um roteador. Eu não consigo fazer as peças se encaixarem.

ETH0: Upstream / internet - Cliente-DHCP ETH1: Downstream / Lan - 192.168.0.1 Servidor DHCP

sudo vim / etc / network / interfaces

auto lo br0
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
        iface eth1 inet static
        address 192.168.0.1
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255

iface br0 inet dhcp
        bridge_ports eth0 eth1

sudo vim /etc/dhcp/dhcpd.conf

option domain-name "MyPlug.MyServer.com";
option domain-name-servers 8.8.8.8, 192.168.0.1;

default-lease-time 600000000;
max-lease-time 720000000;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.200;
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
}

sudo vim / etc / default / isc-dhcp-server

INTERFACES="eth1"

reiniciar o serviço de rede
serviço reiniciar isc-dhcp-server

Minha máquina do windows 7 pega um IP ... DEPOIS de forçar a liberação / renovação. Consegui que ele se conectasse ao servidor via putty uma vez.

Algo visivelmente errado com minhas configurações? ou qualquer outra coisa que eu possa procurar?

    
por WernerCD 06.07.2012 / 06:01

2 respostas

7

Não conecte suas interfaces internas e externas. Sua caixa é um roteador, não um switch. Para fazer da sua máquina um roteador, você tem que dizer para "encaminhar" os pacotes entre as interfaces. Eu faço isso por echo 1>/proc/sys/net/ipv4/ip_forward . O caminho do IIRC (TM) para isso é adicionar uma linha net.ipv4.ip_forward=1 ao /etc/sysctl.conf e então executar /etc/init.d/procps restart .

O sistema de arquivos proc, geralmente montado em / proc, é uma representação das informações e configurações do kernel como arquivos que podem ser lidos e gravados. Escrevendo 0 ou 1 para / proc / sys / net / ipv4 / ip_forward, estamos desabilitando ou habilitando a função kernel para encaminhar pacotes IP entre as interfaces. Queremos que o kernel encaminhe os pacotes!

Agora sua máquina é um roteador, mas você também precisa de maquerading. Para fazer isso, você precisa:

iptables -t nat -A POSTROUTING -i eth1 -o eth0 -j MASQUERADE (consulte link se quiser saber mais)

Enquanto estivermos usando o IPv4: Você receberá apenas um endereço IP de seu ISP e todos os seus clientes compartilharão esse endereço ao interagir com sistemas na Internet. O mascaramento cuida de tudo para lidar com esse compartilhamento de um endereço IP. O ponto é que precisamos dizer ao iptables quando aplicar o mascaramento. Se o iptables não aceitar mais -i e -o, uma regra de substituição adequada é

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE

Pode ser necessário substituir as definições de sub-rede 192.168.0.0/24 (ambas!) pela sub-rede em que seus clientes residem . A regra diz "faça o mascaramento de todos os pacotes originados da sub-rede do cliente e sejam endereçados a hosts fora da sub-rede do cliente"

Eu não conheço o Dreamplug, mas você deve ter algum arquivo / etc / firewall * ou / etc / iptables * onde você pode adicionar esta declaração, para que esta declaração seja executada a cada reinicialização. Verifique sua documentação para "regras de firewall" e onde você deve colocá-las.

Para a sua configuração DHCP, os tempos de locação parecem reduzidos demais. Retire 3-5 0. Também há uma chance de que haja clientes que não possam lidar com números tão grandes. Além disso, você deve reverter a ordem dos servidores de nome de domínio. Os clientes perguntarão primeiro ao primeiro servidor da lista. Se o seu roteador funcionar como um servidor de nomes, é mais provável que ele se lembre de consultas anteriores por algum tempo. Isso significa que, se seus clientes solicitarem o mesmo endereço uma segunda vez, a resposta será muito mais rápida, em comparação à solicitação de um servidor de nomes do Google.

    
por 06.07.2012 / 08:48
2

Remova a ponte. É inseguro nesse tipo de arranjo.

Em vez disso, instale o pacote arno-iptables-firewall para configurar com facilidade e segurança uma configuração de roteador seguro. Ele fará o resto por você.

A partir da descrição do pacote Debian:

Unlike other lean iptables frontends in Debian, arno-iptables-firewall will setup and load a secure, restrictive firewall by just asking a few question. This includes configuring internal networks for internet access via NAT and potential network services (e.g. http or ssh).

A menos que você saiba como configurar o iptables com segurança, instale este pacote.

    
por 06.07.2012 / 17:56