Apache: Usan una IP diferente...

Iniciado por dimitrix, 28 Octubre 2014, 00:24 AM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

Esto no se si es complicado o ya integrado en Apache per se...

Tengo un servidor con diferentes IPs, se que si quiero por ejemplo que mi dominio elhacker.net sólo esté disponible con la IP 1.1.1.1 puedo usar el Lisen de apache

CitarListen 192.168.0.1:80

Incluso, creo que lo puedo definir en el propio virtualhost...

Pero mi problema es que tengo un dominio, llamado elhacker.net que apunta a una IPv6 (esto es lo de menos).

Esto realmente es una web "web" que hace muchas conexiones curl, entre otras, lo que necesito es que cuando haga estas peticiones "salga" por la IPv6 y no por la IPv4 ¿Alguna idea?

Por otra parte, la web no la he creado yo, así que no puedo tocar el cUrl por que hay 100 de .php con eso...

Thank you :-)




peib0l

en el servidor crea un interfaz de red que solo tenga ipv6 y con iptrables fuerza a que todo el trafico con origen x salga por esa interface de red que solo tiene ipv6

el-brujo

Lo primero que comentas si , se llama "Ip based vhost"

Citar
Listen 127.0.0.1:80
Listen 192.168.0.1:80

NameVirtualHost 127.0.0.1:80
NameVirtualHost 192.168.0.1:80

<VirtualHost 127.0.0.1:80>
<VirtualHost 192.168.0.1:80>

Lo segundo que comentas no se puede hacer, si "entra" por ipv4 "sale" por ipv4 y si entra por ipv6 sale por ipv6

dimitrix

Citaren el servidor crea un interfaz de red que solo tenga ipv6 y con iptrables fuerza a que todo el trafico con origen x salga por esa interface de red que solo tiene ipv6

Na, necesito la otra IP para otra cosa xD

CitarLo segundo que comentas no se puede hacer, si "entra" por ipv4 "sale" por ipv4 y si entra por ipv6 sale por ipv6

Gracias, lo probaré!




moikano→@

CitarEsto realmente es una web "web" que hace muchas conexiones curl, entre otras, lo que necesito es que cuando haga estas peticiones "salga" por la IPv6 y no por la IPv4 ¿Alguna idea?

Eso se puede hacer directamente en el curl.
Si es curl php lo puedes especificar con este parámetro.

curl_setopt($ch, CURLOPT_INTERFACE,'1.1.1.1');

O de esta forma

curl_setopt($ch, CURLOPT_INTERFACE,'eth0');

A esto se le llama bind ip.

MinusFour

Cita de: moikano→@ en 28 Octubre 2014, 15:16 PM
Eso se puede hacer directamente en el curl.
Si es curl php lo puedes especificar con este parámetro.

curl_setopt($ch, CURLOPT_INTERFACE,'1.1.1.1');

O de esta forma

curl_setopt($ch, CURLOPT_INTERFACE,'eth0');

A esto se le llama bind ip.

El comenta que tiene cientos de archivos .php con curls ya escritos.

Pero algo que podrias hacer para agregarle el CURLOPT_INTERFACE es crearte una funcion que devuelva el handler de curl con la opcion curlopt interface y luego remplazar curl_init por esta funcion y asegurarte que la funcion tenga visibilidad para todos los archivos.

Claro que esto solo funciona para handlers abiertos por curl_init.

dimitrix