Por necesidades puntuales necesitaba hacer un reenvío de puertos o port forwarding en un servidor Windows 2008. En concreto tenía que habilitar temporalmente cierta consulta LDAP desde un servidor en la Nube contra el Directorio Activo corporativo, pero para ello debía pivotar a través de un servidor en la DMZ hacia un controlador de dominio interno:
Después de gastar algún tiempo en buscar alguna herramienta, c*garme varias veces en el fuck^ng Güindous y añorar repetidas veces mis iptables, resulta que es posible hacerlo en Windows simplemente con el comando netsh interface portproxy (¡vivan las Builting tools!):
C:\Users\pruebas>netsh interface portproxy add v4tov4 listenport=6688 listen address=192.168.12.25 connectport=389 connectaddress=172.20.58.12
C:\Users\pruebas>netsh interface portproxy show v4tov4
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
192.168.12.25 6688 172.20.58.12 389
Así de sencillo. Tenéis más información y posibilidades en http://technet.microsoft.com/en-us/library/cc731068%28v=ws.10%29.aspx#BKMK_15
Tener en cuenta que netsh portproxy necesita las librerías ipv6 aunque sólo uses v4tov4...
pd. "Nunca la subestimes porque no te gusta o porque creas que ya la conoces, podrías no conocerla tanto e incluso podría llegar a gustarte (aunque sea un poquito)" - Lección VI. Decálogo del buen informático.
Después de gastar algún tiempo en buscar alguna herramienta, c*garme varias veces en el fuck^ng Güindous y añorar repetidas veces mis iptables, resulta que es posible hacerlo en Windows simplemente con el comando netsh interface portproxy (¡vivan las Builting tools!):
C:\Users\pruebas>netsh interface portproxy add v4tov4 listenport=6688 listen address=192.168.12.25 connectport=389 connectaddress=172.20.58.12
C:\Users\pruebas>netsh interface portproxy show v4tov4
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
192.168.12.25 6688 172.20.58.12 389
Así de sencillo. Tenéis más información y posibilidades en http://technet.microsoft.com/en-us/library/cc731068%28v=ws.10%29.aspx#BKMK_15
Tener en cuenta que netsh portproxy necesita las librerías ipv6 aunque sólo uses v4tov4...
pd. "Nunca la subestimes porque no te gusta o porque creas que ya la conoces, podrías no conocerla tanto e incluso podría llegar a gustarte (aunque sea un poquito)" - Lección VI. Decálogo del buen informático.
Hola Vicente esto mismo hace ya bastante tiempo tuve que realizar una tarea parecida en windows y utilice fpipe una tool free de McAfee que no requiere instalación
ResponderEliminarhttp://www.mcafee.com/us/downloads/free-tools/fpipe.aspx
FPipe v2.1 - TCP/UDP port redirector.
Copyright 2000 (c) by Foundstone, Inc.
http://www.foundstone.com
FPipe [-hvu?] [-lrs ] [-i IP] IP
-?/-h - shows this help text
-c - maximum allowed simultaneous TCP connections. Default is 32
-i - listening interface IP address
-l - listening port number
-r - remote port number
-s - outbound source port number
-u - UDP mode
-v - verbose mode
Example:
fpipe -l 53 -s 53 -r 80 192.168.1.101
This would set the program to listen for connections on port 53 and
when a local connection is detected a further connection will be
made to port 80 of the remote machine at 192.168.1.101 with the
source port for that outbound connection being set to 53 also.
Data sent to and from the connected machines will be passed through.
Aquí tienes algunas free tools más que ofrece McAfee:
http://www.mcafee.com/us/downloads/free-tools/index.aspx
Aunque debo admitir que está muy bien realizalo con netsh interface portproxy ;)
interesante Iñaki, yo creo la herramienta de McAfee es incluso más vieja que la builting tool que trae Windows :-P
EliminarEste comentario es antiguo, de todas formas queria aportar que portproxy solo admite TCP. Protocolo UDP no está soportado en portproxy
ResponderEliminar