iptables regra para quebrar uma rota

1

Acabei de instalar um ponto de acesso sem fio na minha rede.

Aqui está um pequeno diagrama:

Internet <===> linux box with iptables <===> LAN

Eu pluguei meu ponto de acesso sem fio na LAN e tudo funciona bem. A rede funciona entre todos os dispositivos.

Eu tenho uma série de endereços estáticos especificados usando o dnsmasq. Estes endereços são basicamente x.y.z.1 até x.y.z.199

Eu tenho meu servidor dhcp (na caixa linux) configurado para distribuir endereços entre x.y.z.200 para x.y.z.250

Meu objetivo é permitir que os dispositivos da LAN falem com os dispositivos de LAN e a Internet. Os dispositivos sem fio podem apenas falar com a internet. Eu já tenho a primeira parte deste trabalho e configurado. Só preciso do encantamento para a segunda parte. Meus dispositivos sem fio serão configurados através do dhcp.

Eu sei que uma VLAN seria a opção perfeita para isso, mas não tenho nenhum switch gerenciado e essas coisas. Isto é apenas para minha casa e eu estou indo para barato.

Minha esperança era fazer algo como:

iptables -A input -p tcp -s 192.168.1.200:192.168.1.250 -d 192.168.1.1:192.168.1.199 -j REJECT
iptables -A input -p udp -s 192.168.1.200:192.168.1.250 -d 192.168.1.1:192.168.1.199 -j REJECT

É claro que não posso, porque o iptables usa apenas blocos ou um único ip. Eu nem sei como seria a sintaxe para fazer um bloco de endereços que se encaixam no intervalo que eu gostaria.

Obrigado antecipadamente!

    
por jwendl 04.12.2011 / 02:14

1 resposta

5

Desde que os hosts com e sem fio estejam na mesma sub-rede, nenhuma quantidade de iptables no gateway os impedirá de falar entre si.

No entanto, há algumas maneiras de falsificar:

Se todos os hosts com fio tiverem IPs estáticos (ou endereços reservados de DHCP), mas não estiverem usando IPs dinâmicos, você poderá colocar um IP secundário em outra sub-rede na interface da LAN no host iptables. Você vai querer desativar os redirecionamentos (é um sysctl) e codificar / usar diferentes opções de DHCP para os clientes com fio do que para os sem fio. Adicione uma regra iptables para bloquear o tráfego entre as duas sub-redes, mas permita / mascarar ambas para a internet, e você estará pronto. No entanto, qualquer pessoa em rede sem fio que saiba que é apenas um IP secundário pode configurar manualmente um IP de intervalo de rede local e ignorar o bloqueio.

Se o AP sem fio oferecer suporte à marcação de VLAN (os APs empresariais reais fazem isso, e WRT54-likes com OpenWRT / ddwrt / etc também), e se o seu comutador passar por quadros marcados, você poderá criar uma sub-interface vlan no máquina linux (novamente com outra sub-rede, como acima). Os hosts na LAN ocasionalmente receberão um quadro marcado e o descartarão (a menos que estejam executando um sniffer), mas o AP deve (dependendo da configuração) ignorar os quadros não identificados que ele ouve da LAN, portanto você não deve estar vazando Tráfego de LAN de volta para wireless.

Naturalmente, a verdadeira separação é a melhor maneira de usar um switch compatível com VLAN ou apenas uma terceira NIC no host Linux.

    
por 04.12.2011 / 02:48

Tags