Eu tenho alguns intervalos de IP nos quais desejo que meu servidor possa se conectar e que os usuários se conectem. Tudo o resto deve ser bloqueado.
Como devo fazer isso com o iptables?
Meu sistema operacional é uma distribuição Linux baseada no Debian.
Isso transformará seu sistema em um sistema inexistente para computadores não permitidos.
fonte
Se você deseja permitir intervalos arbitrários em vez de sub-redes inteiras, pode usar o módulo iptables 'iprange':
iptables -P INPUT DROP
iptables -A INPUT -m iprange --src-range 192.168.1.30-50 -j ACCEPT
por exemplo, permitirá o tráfego proveniente de todas as máquinas com endereços entre 192.168.1.30 e 192.168.1.50.
Se você deseja permitir o tráfego de entrada e saída no mesmo intervalo de IPs, sugiro que você crie uma cadeia específica que permita esses IPs e direcione todos os destinos de entrada e saída para ele:
--define as políticas padrão a serem eliminadas no everithing:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
- crie a nova cadeia:
iptables -N allowed_ips
- se a fonte fizer parte do intervalo permitido, aceite
iptables -A allowed_ips -m iprange --src-range 192.168.1.30-50 -j ACCEPT
- caso contrário, retorne à cadeia de chamadas para continuar processando
iptables -A allowed_ips -j RETURN
- faça todo o tráfego entrar e sair da máquina passar por nossa nova cadeia
iptables -A INPUT -j allowed_ips
iptables -A OUTPUT -j allowed_ips
e é isso! é claro que você pode precisar de regras adicionais, como uma que permita todo o tráfego da / para a interface lo, etc.
fonte
Quando estiver satisfeito com suas regras, você provavelmente deseja salvá-las . Os comentários neste link têm várias opções sobre como fazer isso.
Um gerador de regras do iptables fácil de usar para necessidades simples é o ufw . O pacote está disponível no debian instável.
Tente também o Firestarter . Disponível em lenny.
fonte
Você também pode usar o ferm, que eu também uso no ano passado, e me ajudou muito em casos como regras de firewall condicional.
fonte