LSSilva escreveu:
coleta escreveu:
Estou com o seguinte problema: quero habilitar o acesso externo ( da internet) par alguns computadore da rede interna, porem estou com um problema estranho: alguns computadores eu consigo acessar de fora outros não.
Estou usando o iptables para fazer isso com este comando: iptables -t nat -A PREROUTING -d "ip exteno" -p tcp --dport 56090 -j DNAT --to 192.168.1.200:22
Ja limpei as regras do iptables e executei este comando: com algumas maquinas vai outras não, aparece filtred, nao tem resposta, ja olhei as portas do switch (nao gerenciavel).
Segue a topologia da rede: <modem> --> <pc /roteador linux com iptables> --> <switch nao gerenciavel> --> <todos os pcs da rede> (nao há roteadores e nem switch intermediando fora estes que mostei.
Com certeza eu estou esquecendo de verificar algo mas não sei o que pode ser, se alguem puder me dar um ideia do que falta testar ou fazer eu agradeço
Depende de como está configurado este modem seu. Ele está em bridge e o Linux está discando conexão? Se não, terá que fazer um DMZ para o IP do servidor Linux, ou então direcionar todas as portas que quer usar externamente, para o mesmo (Isso no modem para o server linux). Esse detalhe pode impedir algumas portas de funcionarem. Outra coisa é o WISP (operadora) bloquear algumas portas, isso também pode ocorrer. Outra questão tem a ver com a sua configuração de firewall, está usando qual política? DROP? Se sim, tem que cuidar das regras em NAT->PREROUTING/POSTROUTING e em FILTER->FORWARD. Com relação às regras de direcionamento de portas, seria interessante fazer dessa forma:
##Case 1
#Se sua interface de internet (onde liga o modem) for, por exemplo, eth1:
#Vai
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 56090 -j DNAT --to-dest 192.168.1.200:22
#Vamos supor que o gateway da rede (firewall linux) tem ip 192.168.1.1, por exemplo.
#Volta
iptables -t nat -A POSTROUTING -d 192.168.1.200 -j SNAT --to 192.168.1.1
##Case 2
#Se sua interface de internet (onde liga o modem) for, por exemplo, eth1:
#Vai
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 56091 -j DNAT --to-dest 192.168.1.201:22
#Vamos supor que o gateway da rede (firewall linux) tem ip 192.168.1.1, por exemplo.
#Volta
iptables -t nat -A POSTROUTING -d 192.168.1.201 -j SNAT --to 192.168.1.1
Ps.: Nunca deixa de especificar sua interface de internet no forwarding de portas.
E assim sucessivamente. Direcionamento de portas é feito em duas vias, apesar de, em uma, funcionar na maioria dos casos.
Obrigado ssilva pelo retorno.
meu modem é um ponte, nao é roteado, o ip da internet esta na interface do pc com linux, a regra padrao do iptables esta como accept em todas as tabelas, fiz ate o seguinte teste:
iptables -F
iptables -F -t filter
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -X -t filter
iptables -X -t nat
iptables -X -t mangle
iptables -Z
iptables -Z -t filter
iptables -Z -t nat
iptables -Z -t mangle
limpei todas as regras, e por padrao fica tudo como accept, entao eu executei:
iptables -t nat -A PREROUTING -d <ip-da-internet> -p tcp --dport 54666 -j DNAT --to 192.168.1.200:22
iptables -t nat -A PREROUTING -d <ip-da-internet>-p tcp --dport 54669 -j DNAT --to 192.168.1.119:22
redirecionei para 2 pc da rede interna
executei nmap nos 2 da minha casa em direçao ao escritorio e da open somente no 192.168.1.200
eu testei de outro pc se o serviço ssh esta aberto no 192.168.1.119 e esta ok
Estranho que eu nao uso esta regra de volta "iptables -t nat -A POSTROUTING -d 192.168.1.200 -j SNAT --to 192.168.1.1
", tanto que faço acesso a camera e ao sistema que usa conexao ssh.
Mas mesmo assim vou colocar agora esta regra e fazer um teste.