Iptables não redireciona

Iniciado por FernandoBob, 20 de Março de 2013, 08:53

tópico anterior - próximo tópico

FernandoBob

Olá!
Tenho um pc com ubuntu 12.04 com duas 2 placas de rede. Em uma das placas, fica conectada à rede interna (eth0), a outra (eth1), fica ligada diretamente com um DVR, via cabo reto. Meu objetivo é fazer que os computadores da rede interna acessem o DVR  através do meu pc. Pois bem,  coloquei as seguintes regras com iptables:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.0/24 --dport 80  -j DNAT --to 10.0.0.X

10.0.0.X é o ip do DVR. Eu consigo acessar através dos micros da rede a pagina web para acesso do DVR, porém quando tento fazer o login, ele dá falha na conexão. Não é erro na senha, muito menos no login, pois quando ponho o DVR na rede como um terminal normal, todos acessam normalmente com o mesmo login e senha que estou tentando com êxito. Existe algum erro nas minhas regras? Aguardo por respostas! Obrigado!

zekkerj

Tente assim:

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.x
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT

Em tempo, confirme que os endereços que você usa nas duas placas são consistentes (192.168.0.x na eth0, 10.0.0.Y na eth1).
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

FernandoBob

Eu devo apagar minhas regras e colocar as suas? 

Obrigado!

Arthur Bernardes

Não, substitua essa regra:

==> iptables -t nat -A PREROUTING -p tcp -d 192.168.0.0/24 --dport 80  -j DNAT --to 10.0.0.X

Por essas duas regras:

==> iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.x
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT

FernandoBob

Meu cenário mudou um pouco. Agora a rede interna é pela wlan0(192.168.0.x) e a que conecta ao dvr é eth0 (10.0.0.x)
É só eu adaptar as interfaces nas regras do iptables?

Arthur Bernardes

#5
Siim..!

É só adaptar ao seu cenário..!

FernandoBob

A configuração de rede do DVR está:
porta http: 1234
porta do servidor: 6036

ip: 10.0.0.1
gateway: 10.0.0.2 (ip da eth0 do meu pc)

Continua dando falha na conexão.

Vou postar aqui todos os comandos que eu dei:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -i wlan0 --dport 1234 -j DNAT --to 10.0.0.1:1234
iptables -A FORWARD -p tcp --dport 1234 -j ACCEPT

Creio que a porta 6036 que o DVR usa é para a transmissão de imagens. Não precisaria tratar esta porta?