Iptables liberando acesso a internet pra rede interna

Iniciado por fernando.linux, 07 de Setembro de 2010, 15:39

tópico anterior - próximo tópico

fernando.linux

ola galera,
Estou montando um firewall pela primeira vez, Gostaria de saber :
Coloquei a politica padrao do INPUT E FORWARD EM DROP
IPTABLES -P INPUT DROP
IPTABLES -P FORWARD DROP
agora nao to consseguindo compartilhar a internet com a minha rede interna
OBS: ja habilitei o reteamento de pacote.
obrigado


zekkerj

Pra compartilhar a internet, vc precisa:

1. Ativar o compartilhamento. Vc pode fazer isso de várias formas, a que eu acho mais prática é editar o arquivo "/etc/sysctl.conf", ativando a linha "net.ipv4.ip_forward=1".

2. Ativar o NAT de saída.

iptables -t nat -A POSTROUTING -s $rede_local -o $iface_internet -j MASQUERADE

Onde "rede_local" é uma variável com a faixa da sua rede local, p.ex. "192.168.1.0/24", e "iface_internet" é uma variável com o nome da interface de saída pra internet, p.ex. "eth1".
OBS: Conexões ADSL com discador usam a interface "ppp0" como saída.

3. Liberar a passagem de pacotes vindos da sua rede local.

iptables -A FORWARD -s $rede_local -i $iface_local -j ACCEPT

Onde "iface_local" é a interface que fala com sua rede local, p.ex. "eth0".

OBS: Política DROP pede uns truques pra não deixar sua máquina lenta. P.ex:

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m stte --state ESTABLISHED,RELATED -j ACCEPT


Coloque estas três linhas no início do seu script de firewall.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

fernando.linux

vlw cara muito obrigado , fiz desse jeito e funcionou.Tudo certo...
Agora só estou com outro problema.Estou configurando o squid como proxy transparente em conjunto com o sarg pra gerar relatórios, mas quando eu coloca a regra :
$IPT -t nat -A PREROUTING -p tcp -i $iface_interna --dport 80 -j REDIRECT --to-ports 3128
não conssigo acessar o sarg pelo browser (http://localhost/squid-reports),mas seu eu fizer o proxy nao trasnparente ele conecta normalmente, ou seja ;
pra conectar o sarg que precisa do apache que ja instalei e responde na porta 80 quando eu conecto na porta 80 a regra  q mencionei antes me redireciona para porta 3128.
como eu posso resolver isso se eu tenho q fazer o proxy transparente e ter esses relatorios do sarg.
desde ja agradeco ,

zekkerj

Citarcomo eu posso resolver isso se eu tenho q fazer o proxy transparente e ter esses relatorios do sarg.
Primeiro vamos deixar uma coisa bem clara: vc não tem que fazer proxy transparente. Vc quer fazer proxy transparente. Mesmo sendo uma solução porca.

Pra resolver seu problema, adicione esta regra ao seu firewall, antes da regra que vc listou acima.

$IPT -t nat -A PREROUTING -p tcp -d <ip do servidor do sarg> --dport 80 -j RETURN
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

fernando.linux

Testei mas essa regra nao funcinou meu amigo, só por curiosidade pq o porxy transparente é ruim ?
levando em conta que na minha empresa temos 80 maquinas , fica impossivel configurar proxy no navegador de cada , teria uma solucao melhor?

muito obrigado pela ajuda . vlw

zekkerj

http://www.guiadohardware.net/comunidade/v-t/316639/

Melhor que o proxy transparente é o WPAD. Que nada mais é que aquela opção de "autodetectar as configurações de proxy".
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D