
Segui um guia para configurar um Raspberry Pi para conectar-se a uma VPN e, em seguida, NAT o tráfego da minha LAN para a VPN para protegê-lo.
Também estou usando para filtragem de DNS (adblocking).
A filtragem de domínio não filtra os IPs que não gosto, por isso estou tentando aprender sobre ipsets para proibir a comunicação com vastas áreas da Internet.
Atualmente, meu script para fazer tudo isso é assim:
iptables -F
ipset restore < /etc/ipset-blacklist/ip-blacklist.restore
iptables -I INPUT 1 -m set --match-set blacklist src -j DROP
iptables -I FORWARD -m set --match-set blacklist src -j DROP
iptables -I OUTPUT -m set --match-set blacklist src -j DROP
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -L
Isso funciona!
Mas não entendo o porquê e não acho que precise de todas as três regras da lista negra para INPUT, FORWARD e OUTPUT - sinto que alcancei um resultado funcional da maneira errada - e sem entendê-lo.
Alguém mais sábio do que eu pode ver o que estou tentando fazer, o que consegui e onde errei, por favor?
Além disso, para que serve o "1" nesta linha:
iptables -I INPUT 1 -m set --match-set blacklist src -j DROP
Este é o objetivo, que já está de certa forma alcançado: Objetivo da LAN
Responder1
Editar:: O "1" é para a ordem da regra.
A cadeia FORWARD é a única cadeia necessária, não todas as três.
Presumo que isso ocorra porque todo o tráfego está sendo encaminhado.