3 votos

Reenviar foo:8080 a localhost:8081 manteniendo disponible localhost:8080

Para emular el entorno de pruebas de integración CI para la aplicación con la que estoy trabajando, quiero que se produzca el siguiente mapeo de peticiones:

  • foo:8080 localhost:8081
  • bar:8080 localhost:8080

Sin el cambio de puerto, puedo hacerlo fácilmente editando /etc/hosts ¹ para definir que foo y bar sean 127.0.0.1, pero el reenvío de puertos me tiene perplejo. ¿Es esto posible con pf y si es así, ¿cómo? He encontrado recetas que podrían mapear todo peticiones al puerto 8080 a un puerto diferente, pero sólo quiero que se reasigne si se trata de un nombre de host específico.


  1. Tengo un vago recuerdo de que Network Utility solía proporcionar esta capacidad, pero ahora está obsoleta.

4voto

thrig Puntos 101

Un método sería crear direcciones IP de alias en la interfaz localhost como root

ifconfig lo0 alias 127.0.0.10  0xff000000
ifconfig lo0 alias 127.0.0.100 0xff000000

y luego definir foo y bar según corresponda en /etc/hosts o un servidor DNS local

127.0.0.10 foo
127.0.0.100 bar

y entonces las peticiones que involucren a una u otra dirección IP pueden ser redirigidas según sea necesario, o podrían ser utilizadas directamente si el software sólo escucha en la dirección IP específica involucrada.

(Hay varias direcciones IP de este tipo disponibles; 127.0.0.0/8 es bastante grande).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X