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.
Seja o primeiro a comentar