Rotear IPs válidos para rede inválida
Olá pessoal, já não sei mais onde procurar ajuda...
Vejam:
Tenho uma máquina com duas placas de rede:
eth0=200.243.xx.xx
eth1=10.10.1.1
E por traz dessa máquina tem 10 máquinas com os seguintes IPs
maquina01 eth0=10.10.1.10
maquina02 eth0=10.10.1.11
maquina03 eth0=10.10.1.12
maquina04 eth0=10.10.1.13
maquina05 eth0=10.10.1.14
maquina06 eth0=10.10.1.15
maquina07 eth0=10.10.1.16
maquina08 eth0=10.10.1.17
maquina09 eth0=10.10.1.18
maquina10 eth0=10.10.1.19
E tenho também 10 IPs válidos sobrando.
Eu preciso de fazer com que a máquina servidor que é a eth1=10.10.1.1 com IP válido, faça um roteamento passando as máquinas que estão ligadas nele para IP fixo
Como fazer??? Vocês são minha única esperança!
Abraços
email: [url=""mailto:[email protected]<A HREF="mailto:null">null[/url]
<font size=-1>[ Editado por Anonymous On Date 17-10-2002 em 09:50 ]</font>
Rotear IPs válidos para rede inválida
Muito simples caro amigo e visto que esta´ tao desesperado nao hesite em me contactar em caso de mais duvida, mas aqui lhe deixo a minha dica! Espero que o ajude!
Usando IPtables isto e´ tdo muito facil! Tudo passa por um conhecimento de NAT, mais precisamente DNAT.
O que queremos fazer? Queremos que de um IP externo passe por um "firewall" para uma maquina interna correspondente a esse ip externo como que se o "firewall" fosse transparente.
Pois bem vamos aplicar um pouco de DNAT! Antes demais um pouco de teoria ..
O DNAT (Destination NAT) permite que você redireccione pedidos de uma maquina para outra desde que elas estejam em rede. Então vamos la´!
imaginando que tem 10 ip´s validos:
200.0.0.2 -> começamos em 2 pois o .1 e´ endereço base de rede
200.0.0.3
...
200.0.0.11
e o nosso firewal possui o 200.0.0.11 e que por tras dele estao nove computadores com ip´s invalidos, supondo que da rede 10.0.0.0/8.
Teriam os seguintes IP´s:
10.0.0.2
10.0.0.3
...
10.0.0.10
A partir daqui e´ simples ..
no firewall aplicamos as seguintes regras:
# aplicar ip´s a uma placa de rede ligada a net
ifconfig eth0 200.0.0.11 # ip da firewall
ifconfig eth0:1 200.0.0.2
ifconfig eth0:2 200.0.0.3
...
ifconfig eth0:9 200.0.0.10
# nao se esqueça de definir os outros parametros DNS, Gateway, Broadcast, etc.
# depois os seus pc´s internos têm que passar o firewall para ir pela internet..ou seja deve ser o seu gateway e ao mesmo tempo SNATar as conexões mas ja vamos ver isso mais a frente!
# para redireccionar TODO o trafego para pc correspondente
iptables -t nat -A PREROUTING -i eth0:1 -j DNAT --to-destination 10.0.0.2
...
iptables -t nat -A PREROUTING -i eth0:9 -j DNAT --to-destination 10.0.0.10
# OK!! Ja esta o redireccionamento para dentro mas agora precisamos dizer que ao sair os IP´s internos sao IP´s externos validos! Fazemos entao:
iptables -t nat -A POSTROUTING -s 10.0.0.2 -o eth0:1 -j DNAT --to 200.0.0.2
...
iptables -t nat -A POSTROUTING -s 10.0.0.10 -o eth0:9 -j DNAT --to 200.0.0.10
# e ja´ esta´!
Simples nao foi? Leia e releia ate´ compreender bem e se precisar de um manual para algumas duvidas tem um muito bom em portugues sobre IPtables em http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.htm . Procura la sobre NAT/DNAT/SNAT e masquerading.
Não hesite em enviar um email para o meu email (veja na minha info) nem que seja para dizer que correu tudo bem!
Um abraço e muito boa sorte
<IMG SRC="images/forum/smilies/icon_biggrin.gif">
_________________
After all ... we´re all alike!!
<font size=-1>[ Editado por Mr_Mind On Date 17-10-2002 em 10:00 ]</font>
Rotear IPs válidos para rede inválida
# nao se esqueça de definir os outros parametros DNS, Gateway, Broadcast, etc.
Como devo designar o que vc disse acima?
[]´s
Rotear IPs válidos para rede inválida
O DNS voce edita em /etc/resolve.conf!
O gateway dos seus ip validos (possivelmente teras um router) voce pode definir usando o comando route da seguinte forma: route add default gw ip_do_router
O broadcast voce define mesmo no ifconfig da seguinte forma: ifconfig eth1 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0, por exemplo!
Atençao tinha-me esquecido da NETMASK mas aqui reparo o meu erro!!
Penso que nao precisara de mais nada!!
Um abraço <IMG SRC="images/forum/smilies/icon_biggrin.gif">
_________________
After all ... we´re all alike!!
<font size=-1>[ Editado por Mr_Mind On Date 17-10-2002 em 10:42 ]</font>
Rotear IPs válidos para rede inválida
Veja o erro que esta ocorrendo quando executo as regras:
---
Try `iptables -h´ or ´iptables --help´ for more information.
iptables: No chain/target/match by that name
Warning: wierd character in interface `eth0:2´ (No aliases, :, ! or *).
iptables v1.2.4: Unknown arg `--to--destination´
Try `iptables -h´ or ´iptables --help´ for more information.
Warning: wierd character in interface `eth0:2´ (No aliases, :, ! or *).
iptables v1.2.4: Can´t use -o with PREROUTING
Try `iptables -h´ or ´iptables --help´ for more information.
---
O que pode ser isso?
Rotear IPs válidos para rede inválida
Simplesmente remova os parametros -o eth0:x!
<IMG SRC="images/forum/smilies/icon_biggrin.gif">
Rotear IPs válidos para rede inválida
ate quando vc fica conectado aqui no site?
Rotear IPs válidos para rede inválida
Ligo-me a este portal as 9am e desligo por volta das 7pm (GMT +1h | Portugal) <IMG SRC="images/forum/smilies/icon_razz.gif">
Isto no emprego, mudei recentemente de casa e nao tenho net la´! Mas la´ para a frente prolongar-se-a´ ate´ altas horas da noite!
Um abraço <IMG SRC="images/forum/smilies/icon_biggrin.gif">
Rotear IPs válidos para rede inválida
acho q posso te ajudar fera, tenho um arquivo q criei com o nome de firewall, ele faz quase tudo q o amigo falou acima, conecta pelo icq q posso ajudar o amigo com um passo a passo mais básico. <IMG SRC="images/forum/smilies/icon_biggrin.gif">
Rotear IPs válidos para rede inválida
amigo pensador-ce por favor mande esse script para <a href="mailto:[email protected]">[email protected]</a>
Agradecia muito, um abraço <IMG SRC="images/forum/smilies/icon_biggrin.gif">
Rotear IPs válidos para rede inválida
isto tudo tem bem explicado em
<a href=www.iptablesbr.cjb.net>www.iptablesbr.cjb.net</a>
Rotear IPs válidos para rede inválida
pra sair os pacotes seria assim:
iptables -t nat -A POSTROUTING -s 10.10.1.192/8 -o eth0:1 -j SNAT 200.243.54.4/24
Até aqui certo! E quando o usuário de fora pingar o IP 200.243.54.4, como faço para o ping ir direto a máquina 10.10.1.192?
[]´s
_________________
O sábio sabe tudo que diz mais não diz tudo que sabe.
<font size=-1>[ Editado por redoctober On Date 18-10-2002 em 09:41 ]</font>
Rotear IPs válidos para rede inválida
iptables -t nat -A PREROUTING -s 0/0 -p icmp -d 200.243.54.4/24 -j DNAT --to-destination 10.10.1.192
Rotear IPs válidos para rede inválida
Config da minha máquina:
eth0=200.243.54.8
eth1=10.10.1.1
Eu coloquei o IP válido assim:
ifconfig eth0:1 200.243.54.4/26
Veja como está meu script de firewall:
----#! /bin/sh
#
# carga do iptable
case "$1" in
start)
modprobe ipt_MASQUERADE
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 6667
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 5190:
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 1214
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 1340
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 1341
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 53
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 110
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 25
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 21
iptables -t nat -A PREROUTING -j ACCEPT -p tcp --dport 80
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.10.1.192 -j SNAT --to 200.243.54.4
iptables -t nat -A PREROUTING -s 0/0 -p tcp -d 200.243.54.4/26 --dport 80 -j DNAT --to 10.10.1.192
echo 1 > /proc/sys/net/ipv4/ip_forward
echo -n "Starting Firewall:"
return=$rc_failed
sleep 1
echo -e "$return"
;;
stop)
echo -n "Shutting down Firewall:"
iptables -F -t nat
iptables -F
;;
status)
echo -n "Checking for Firewall: "
iptables -L
iptables -L -t nat
;;
restart)
$0 stop && $0 start || return=$rc_failed
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
esac
----
O que está errado aqui???
<IMG SRC="images/forum/smilies/icon_confused.gif">
_________________
O sábio sabe tudo que diz mais não diz tudo que sabe.
<font size=-1>[ Editado por redoctober On Date 18-10-2002 em 11:50 ]</font>
Rotear IPs válidos para rede inválida
em vez de vc utilizar o iptables pq vc naum utiliza o rinet para fazer isto por vc desde que as conexão naum utilize UDP pode utilizar tranquilamente eu ja utilizei com o apache e bele...
Eu tenho um problema deste para resolver e aqui acho que achei a minha soluçao pois tenho que fazer a conexão com uma porta que naum é valida 3205 e 3206, vou testar vamos ver.
Um abraço,
Marcos Amorim
Rotear IPs válidos para rede inválida