Iptables - regras com problemas

Iniciado por jefferson Andre da Silva, 18 de Dezembro de 2006, 08:43

tópico anterior - próximo tópico

jefferson Andre da Silva

Ola,

Coloquei o seguinte arquivo de firewall em um cliente e quando tento acessar um computador com a porta liberada na rede me retorna dizendo que a porta nao esta liberada.

#/bin/bash
iniciar(){
# compartilha a conexao
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
echo "compartilhamento ativado"

# proxy transparente
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "proxy transparente ativado"

# Regras de firewall
# Abre para uma faixa de enderecos da intranet
iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT
#Abre uma porta ( inclusive para a internet)
# Porta 22 = SSH
# Porta 53 = DNS
# Porta 80 = Apache / DNS
# Porta 8080 = Apache / DNS
# Porta 1080 = Apache / DNS
# Porta 443 = Apache https
# Porta 21 = FTP
# Porta 25 = SMTP
# Porta 110 = POP3
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
#Ignora pings
#iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
#Protege contra ip spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
#Evita que o firewall repasse pacotes potencialmente prejudiciais aos micros da rede interna
#iptables -A FORWARD -m unclean -j DROP
#Abre para a interface de loopback. Necessario ao KDE
iptables -A INPUT -i lo -j ACCEPT
# Impede a abertura de novas conexoes, efetivamente bloqueando o acesso externo ao seu servidor, com excessao das portas e faixas de enderecos manualmente especificadas anteriormente
iptables -A INPUT -p tcp --syn -j DROP

# Impede o acesso a sites
iptables -A OUTPUT -d orkut.com -j DROP
iptables -A FORWARD -d orkut.com -j DROP
iptables -A INPUT -s orkut.com -j DROP

# Redireciona uma porta especifica para o servidor
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 50000 -j DNAT --to 192.168.0.2
}
parar(){
iptables -F
iptables -t nat -F
echo "Regras de firewall desativadas"
}
case "$1" in
   "start") iniciar ;;
   "stop") parar ;;
   "restart") parar ; iniciar ;;
   *) echo "Use os parametros start ou stop"
esac

Valeu pela atencao

dudu_ubuntun

Bom dia,

Não entendo mto de iptables, to estudando e to fazendo um front-end para administrar essas regras e sites, mas isso é outra hst, mas analisando teu script me parece que vc primeiro libera as portas para a rede interna: 
1) iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT

e depois insere a regra para bloquear exceto as que foram abertas anteriormente
2)iptables -A INPUT -p tcp --syn -j DROP

Mas nao seria ao contrário? Primeiro bloquear todas e liberar as que vc deseja, ou seja, colocar primeiro a regra 2 e depois a regra 1?

Desculpa se estou falando besteira, mas também tenho mto interesse no iptables

t+

jefferson Andre da Silva

nao sei, mas vou testar e te dou um toque

Valeu