Predefinito di iptables basato sul nome DNS della destinazione?

Ho una domanda riguardante la prerouting iptable. Non ho familiarità con i networking / routing / iptables, quindi spero che non sia affatto una questione stupida. Quindi chiedo la tua comprensione e indulgenza.

Quello che faccio è: utilizzo LXC per separare applicazioni in contenitori. Per accedere a un servizio (forse apache2) in un contenitore, devo fare prerouting come questo:

  • Porta VPC SSH in avanti nella substring privata
  • Windows 7 - non può entrare nel dominio. ID di networking in grigio
  • Debian ip6tables regola l'impostazione per IPv6
  • iptables per Windows per redirect il traffico
  • i nameserver non sono d'accordo sul SOA serial
  • Qual è il modo canonico di memorizzare le regole iptables?
  • iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20080 -j DNAT --to <container-ip>:80 

    Finora così buono, funziona come dovrebbe.

    Immagina che il sistema host ospita anche un apache2 (port 80). Ha assegnato 1 NIC e 2 nomi DNS: DNS1 (HostRecord) e DNS2 (Alias ​​a DNS1 ) Quello che voglio fare è PREROUTE non utilizzare la dport, ma utilizzando il DNS-Name, in modo che:

     http://DNS1:80 #ends up at the host apache2 http://DNS2:80 #ends up at lxc-container's apache2 (at the the same host) 

    È ansible e se sì, come configurare iptables?

  • I server DNS di Windows richiedono ripetutamente i record nella zona quando ricevono la risposta SERVFAIL
  • Come specificare più domini inclusi nel record SPF?
  • Come gestisce Windows 2003 la creazione di record DNS da DHCP?
  • Impostare il server DNS su OS X anche quando non è in Internet
  • Impostazione della zona di avanzamento DNS quando il nome di dominio AD è un sottodominio
  • come inoltrare la richiesta IP a una port specifica
  • One Solution collect form web for “Predefinito di iptables basato sul nome DNS della destinazione?”

    I pacchetti TCP / IP vengono indirizzati a indirizzi IP e alle porte di networking, non a hostnames.

    Pertanto, il filter di pacchetti iptables funziona anche su indirizzi IP, porte di networking e protocolli e non su DNS / hostnames.


    Le tue opzioni sono:

    1. configurare il ponte in modo che il contenitore ottiene un indirizzo IP pubblico piuttosto che una gamma privata limitata all'host e configurare DNS in base a questo.
    2. utilizzare la funzionalità proxy inversa apache (o simile) che funziona a livello di hostname DNS e indirizza le richieste HTTP a livello di applicazione:

    per esempio:

      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> 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.