Posta a saída para
iptables -nL FORWARD
e
iptables -t nat -nL
Citação:
Postado originalmente por Anonymous
Versão Imprimível
Posta a saída para
iptables -nL FORWARD
e
iptables -t nat -nL
Citação:
Postado originalmente por Anonymous
Ops... já vi o erro no script anterior... muda o state do FORWARD
iptables -A FORWARD -o $IF_INTERNA -m state --state ESTABLISHED,RELATED -j ACCEPT
Isto deve resolver
Citação:
Postado originalmente por Anonymous
realmente funcionou...
Mas CRASH2k, porque esse script não funcionou:
Código :
#!/bin/bash IF_EXTERNA="eth0" IF_INTERNA="eth1" REDE_INTERNA="172.0.0.0/24" echo "1"> /proc/sys/net/ipv4/ip_forward iptables -F iptables -Z iptables -X iptables -F -t nat iptables -X -t nat iptables -F -t mangle iptables -X -t mangle iptables -P FORWARD ACCEPT iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i $IF_INTERNA -j ACCEPT iptables -A FORWARD -i $IF_INTERNA -p udp --dport 53 -j ACCEPT iptables -A FORWARD -i $IF_INTERNA -p tcp --dport 80 -j ACCEPT iptables -t nat -A POSTROUTING -s $REDE_INTERNA -j MASQUERADE
mesmo parecendo nao ter nada a ver, tenta mudar os ips de rede da sua maquina Linux pra uma das faixas.. esse sua faixa 172.0.0.0/24 nunca vi uso dela em redes locais pequenas...:
use uma dessas:
10.0.0.0/8
172.16.0.0/16
192.168.0.0/24
use o script abaixo pra ver se funciona
# variavies #
IPT='/sbin/iptables'
REDE='192.168.0.0/24'
# Policiamento #
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
# abrir portas #
$IPT -A INPUT -s $REDE -p tcp --dport 22 -j ACCEPT # exemplo se vc usa ssh
$IPT -A FORWARD -s $REDE -p tcp --dport 80 -j ACCEPT
$IPT -A FORWARD -s $REDE -p udp --dport 53 -j ACCEPT
# regras para estado das conexoes #
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# fazendo nat #
$IPT -t nat -A POSTROUTING -s $REDE -j MASQUERADE
Para ficar mais legivel
Assim funcionou
Código :
#!/bin/bash IF_EXTERNA="eth0" IF_INTERNA="eth1" REDE_INTERNA="172.0.0.0/24" echo "1"> /proc/sys/net/ipv4/ip_forward iptables -F iptables -X iptables -F -t nat iptables -X -t nat iptables -P FORWARD DROP iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i $IF_INTERNA -j ACCEPT #iptables -A FORWARD -i $IF_EXTERNA -m state --state NEW,INVALID -j DROP iptables -A FORWARD -o $IF_INTERNA -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $IF_INTERNA -p udp --dport 53 -j ACCEPT iptables -A FORWARD -i $IF_INTERNA -m multiport -p tcp --dport 80,443,8080,119,110,25 -j ACCEPT iptables -t nat -A POSTROUTING -s $REDE_INTERNA -j MASQUERADE
Mas assim não funciona
Código :
#!/bin/bash IF_EXTERNA="eth0" IF_INTERNA="eth1" REDE_INTERNA="172.0.0.0/24" echo "1"> /proc/sys/net/ipv4/ip_forward iptables -F iptables -Z iptables -X iptables -F -t nat iptables -X -t nat iptables -F -t mangle iptables -X -t mangle iptables -P FORWARD ACCEPT iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i $IF_INTERNA -j ACCEPT iptables -A FORWARD -i $IF_INTERNA -p udp --dport 53 -j ACCEPT iptables -A FORWARD -i $IF_INTERNA -p tcp --dport 80 -j ACCEPT iptables -t nat -A POSTROUTING -s $REDE_INTERNA -j MASQUERADE
Alguém sabe o motivo ?
Somente colocando esse -m state ... etc... vai funcionar ?
Obrigado