Gostaria de saber como eu faço para bloquear uma ou mais estações da minha rede para acesso externo (internet). Já tentei bloqear pelo endereço mac da Placa de Rede, mas quando fui testar, a estação continuou acessando a net normalmente.
Gostaria de saber como eu faço para bloquear uma ou mais estações da minha rede para acesso externo (internet). Já tentei bloqear pelo endereço mac da Placa de Rede, mas quando fui testar, a estação continuou acessando a net normalmente.
iptables -A FORWARD -s 192.168.0.22 -d 0/0 -p tcp --dport 80 -j DROP
A regra acima é para que o usuário não navegue, mas se você precisar de uma que bloqueie totalmente o acesso dele, omita o -p tcp e o ---dport 80.
Daniell, fiz um teste com a regra que você me enviou, mas não deu certo. Será que não estamos esquecendo de alguma coisa?
Observações:
Eu utilizo dois servidores linux, sendo que um roteia a net e outro roda uma base de dados. O primeiro é Slackware, o segundo é HedHat 9. Na verdade, não sei se isso teria alguma influência, mas...
a regras postada acima esta correta e deveria funcionar talvez o problema seja na sua POLITICA de chains se a chain FORWARD estiver em ACCEPT a regra nao surtira efeito
pra ver a police de o comando:
# iptables -L -n
vai aparecer algo do tipo
Chain INPUT (policy ACCEPT)
target prot opt source destination
se a police for ACCEPT nao vai funcionar
De fato, a police está ACCEPT. Como posso alterá-la?
iptables -P FORWARD DROP
!!!!!!!!!!!!!!!!!!!!!!!!! CUIDADO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Tenho um scrip com a seguinte regra:
#!/bin/bash
#Limpando tabelas
iptables -F &&
iptables -X &&
iptables -Z &&
iptables -t nat -F &&
iptables -t nat -X &&
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#Bloqueando máquinas da rede:
iptables -A FORWARD -s 192.168.0.4 -d 0/0 -p tcp --dport 80 -j DROP
#Liberando acesso interno da rede
iptables -A INPUT -p tcp --syn -s 192.168.0.0/24 -j ACCEPT &&
iptables -A OUTPUT -p tcp --syn -s 192.168.0.0/24 -j ACCEPT &&
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j ACCEPT &&
#Protecao contra port scanners ocultos
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP
#Bloqueando ICQ com iptables
iptables -A FORWARD -p TCP --dport 5190 -j REJECT
iptables -A FORWARD -d login.icq.com -j REJECT
#Bloqueando MSN Messenger
iptables -A FORWARD -p TCP --dport 1863 -j REJECT
iptables -A FORWARD -d 64.4.13.0/24 -j REJECT
#Bloqueando Yahoo Messenger
iptables -A FORWARD -d cs.yahoo.com -j REJECT
iptables -A FORWARD -d scsa.yahoo.com -j REJECT
#Bloqueando KaZaa
iptables -A FORWARD -d 213.248.112.0/24 -j REJECT
iptables -A FORWARD -p TCP --dport 1214 -j REJECT
#Bloqueando AIM
iptables -A FORWARD -d login.oscar.aol.com -j REJECT
#Bloqueando ICQ
iptables -A FORWARD -p TCP --dport 5190 -j REJECT
iptables -A FORWARD -d login.icq.com -j REJECT
#Bloqueando Morpheus
iptables -A FORWARD -d 206.142.53.0/24 -j REJECT
iptables -A FORWARD -p TCP --dport 1214 -j REJECT
#Ignorar ping´s
echo "1">/proc/sys/net/ipv4/icmp_echo_ignore_all
#Termino das Regras
echo "Iptables Pronto!"
Mas quando eu rodo este script, ninguém acessa. O que tem de errado?
Vc pode tambem direcionar para o squid e criar uma acl para os ips que vc naum quer que acesse. Particularmente prefiro assim.
Abraços
Ex.: iptables -t nat -A PREROUTING -i ethX -p tcp --dport 80 -j REDIRECT --to-port 3128
No squid.conf:
...
acl ips_negados src xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy ...
http_access deny ips_negados