Usar dominio en iptables PREROUTING

Usar dominio en iptables PREROUTING

Tengo una www.example.comip X.X.Y.Yy quiero reenviar tráfico desde el puerto 80 al dominio (www.example.com), utilicé la siguiente iptable:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination X.X.Y.Y:80

pero no obtengo un buen resultado porque X.X.Y.Yel contenido no es igual al dominio (www.example.com).
Por ejemplo: si vas a 198.252.206.16(la ip de serverfault) con tu navegador verás el resultado y el contenido de la dirección (dirección IP). ) no es igual www.serverfault.com.
Quiero usar el dominio en la regla de iptables anterior, por ejemplo: --to-destination www.example.com(es solo un ejemplo y sé que no funciona), ¿cómo puedo hacer esto?
¿Existe alguna forma alternativa de hacerlo sin utilizar iptables?
Gracias

Respuesta1

Creo que lo que necesita es un proxy HTTP para reescribir los encabezados de la solicitud. IPTables no analiza el encabezado HTTP ni reemplaza los dominios que contiene.

Deberías buscar algo como Nginx o Squid para hacer eso, simplemente algo que comprenda y reescriba los encabezados de solicitud HTTP en el dominio que desees.

IPTables no conoce ningún protocolo superior a TCP o UDP.

Respuesta2

No puede hacerlo iptablesincluso si usa la -dopción ya que los nombres de dominio se cargan durante el inicio de iptables. La forma correcta de hacer lo que quieres es utilizar un servidor proxy como Squid.

Respuesta3

en su servidor web haga algo como esto:

 NameVirtualHost *:80
 <VirtualHost *:80>
   # The DNS1 site is hosted locally
   ServerName DNS1
   DocumentRoot /var/www./...
 </VirtualHost>

 <VirtualHost *:80>
   ServerName DNS2
   # Forward all requests to container:
   Proxypass / http://<container-ip>
   ProxypassReverse / http://<container-ip>
 </VirtualHost>

información relacionada