Skip to content

Liberar acesso por MAC e IPtables.

Boa noite,

Como pretendo fazer um Captive Portal em meu servidor resolvi instalar um Apache para exibir as páginas de autenticação ou seja quando o usuário não estiver autenticado ele ficará vendo está página em toda sua requisição WEB. O problema é que quando acessavamos algum endereço de IP a página era exibida mas ao se utilizar endereços isto não acontecia pois ele não conseguia acesso até o DNS. Pesquisei um pouco pela internet e vi alguns falando sobre a instalação de um servidor DNS no próprio servidor, fiz isso mas não achei muito interessante então pensando sobre regras de iptables me veio a grande idéia de simplesmente redirecionar os acessos a porta 53. As regras que utilizei para Bloquear acesso de MAC não liberados, redirecionar a porta 80 para meu apache, permitir acesso ao DNS foram as seguintes:

Ainda estou brincando com o servidor e hoje estava querendo liberar acesso exclusivamente para os MAC aqui de casa, garantindo assim que nenhum vizinho vai pegar meu sinal e utilizar. Demorei algum tempo para conseguir regras que funcionassem efetivamente.

Liberar acesso de tal MAC ADDRESS:

iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -m mac --mac-source MAC -j ACCEPT

Redirecionar porta 80 para 8080

iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -p tcp --dport 80 -j REDIRECT --to-port 8080

Liberar acesso somente ao servidor DNS:

iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -p udp --dport 53 -j DNAT --to IP:53

Bloquear todos os acessos:

iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -j DROP

Matheus

PS: Se as mesmas não estiverem funcionando, não se esqueca de dar uma verificada nas suas regras atuais de iptables pois pode ter algo proibindo ou liberando tudo antes. Então fique atento.

Published inLinux

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.