Estou tentando configurar o Debian Squeeze (ala Dreamplug) como um roteador. Não consigo encaixar as peças.
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"
serviço de reinicialização de rede
serviço de reinicialização do servidor isc-dhcp
Minha máquina Windows 7 pega um IP... DEPOIS de forçar a liberação/renovação. Consegui fazer com que ele se conectasse ao servidor via PuTTY uma vez.
Há algo visivelmente errado com minhas configurações? ou qualquer outra coisa que eu possa procurar?
Responder1
Não conecte suas interfaces internas e externas. Sua caixa é um roteador, não um switch. Para transformar sua máquina em um roteador, você precisa instruí-la a encaminhar pacotes entre interfaces. Eu faço isso por echo 1>/proc/sys/net/ipv4/ip_forward
. A maneira (TM) de fazer isso no IIRC é adicionar uma linha net.ipv4.ip_forward=1
a /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. Ao escrever 0 ou 1 em /proc/sys/net/ipv4/ip_forward estamos desabilitando ou habilitando a função do kernel para encaminhar pacotes IP entre interfaces. Queremos que o kernel encaminhe pacotes!
Agora sua máquina é um roteador, mas você também precisa de uma maquiagem. Para fazer isso você precisa:
iptables -t nat -A POSTROUTING -i eth1 -o eth0 -j MASQUERADE
(verhttp://tldp.org/HOWTO/IP-Masquerade-HOWTO/se você quiser saber mais)
Contanto que usemos IPv4: Você receberá apenas um endereço IP do 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. A questão é 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
Talvez seja necessário substituir as definições de sub-rede 192.168.0.0/24 (ambas!) pela sub-redeseus clientes moram em. A regra diz "faça mascaramento para todos os pacotes originados da sub-rede do cliente e endereçados a hosts fora da sub-rede do cliente"
Não conheço o Dreamplug, mas você deve ter algum arquivo /etc/firewall* ou /etc/iptables* onde possa adicionar esta instrução, para que esta instrução seja executada a cada reinicialização. Verifique na sua documentação as "regras de firewall" e onde você deve colocá-las.
Para a configuração do DHCP, os tempos de concessão parecem ridiculamente altos. Tire 3-5 0 de desconto. Também há uma chance de que existam clientes por aí que não conseguem/não conseguem lidar com números tão grandes. Além disso, você deve reverter a ordem dos servidores de nomes de domínio. Os clientes perguntarão primeiro ao primeiro servidor da lista. Se o seu roteador também 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 com a solicitação a um servidor de nomes do Google.
Responder2
Remova a ponte. É inseguro nesse tipo de arranjo.
Em vez disso, instale o arno-iptables-firewall
pacote para definir com facilidade e segurança uma configuração de roteador segura. Ele fará o resto por você.
Na descrição do pacote Debian:
Ao contrário de outros frontends de iptables enxutos no Debian, o arno-iptables-firewall irá configurar e carregar um firewall seguro e restritivo apenas fazendo algumas perguntas. Isto inclui a configuração de redes internas para acesso à Internet via NAT e potenciais serviços de rede (por exemplo, http ou ssh).
A menos que você saiba como configurar o iptables com segurança por conta própria, instale este pacote.