Bem, é o seguinte!
eu tenho na minha rede
ETH0 -> internet -> 187.5.99.13
ETH1 ->rede interna -> 172.10.1.1 até 172.10.5.255
gostaria de saber como eu faço para liberar o acesso para intenet somente para determinados ips
tipo
todos os ips inicialmente tem o redirecionamento da porta 80 para porta 8123
lá roda o apache com uma autenticação em php
após o usuario se autenticar ele não é mais redirecionado e passa a ter acesso a internet (full)
eu estava fazendo uma regra que pega o range de ips entres 172.10.1.1 e 172.10.255.255 e redireciona todos eles para 8123
iptables -t nat -N "PRE-172.10.1.8"
iptables -t nat -A "PRE-172.10.1.8" -p tcp -s 172.10.1.8 --dport 80 -j REDIRECT --to-port 8123
iptables -t nat -A PREROUTING -p tcp -s 172.10.1.8 --dport 80 -j "PRE-172.10.1.8"
iptables -A FORWARD -s 0/0 -d 172.10.1.8 -p tcp -j DROP
e quando ele autenciasse a regra é excluida assim ele passa a ter acesso a internet. Só que são muitas regras, (5*255).
assim o servidor demora muito para rodar todas as regras.
gostaria de alguma regra que fosse mais lógica
tipo
---- inicio do sistema-------------
bloquear todos
redirecionar todos da 80 para 8123
---------------------------------
--- usuario autenticou --------------------
faz com que ele não seje mais redirecionado
libera internet para o ip dele
------------------------------------------
--- admin deslogou usuario ----------------
exclui as regras que liberam a intenet para ele
exclui a regra que faz com que ele nao seje mais redirecionado para porta 8123
-------------------------------------------