Inoltra i nomi host differenti a diversi IP interni tramite il router NAT

Ho un indirizzo IP pubblico, un router e più server dietro il router.

Vorrei inoltrare domini diversi (tutti utilizzando HTTP) attraverso il router a diversi server.

  • CentOS, due nics eth0 eth1 con sottoreti diversi non sono raggiungibili al di fuori della VLAN / substring
  • pfSense non inoltra i pacchetti di back
  • Routing tra istanze EC2 che non vengono trasmesse
  • Buone iptables che iniziano le regole per un webserver?
  • Configurazione di più server per condividere un IP statico utilizzando i sottodomini
  • iptables-save non riesce a scrivere nel file
  • Per esempio:

    example1.com => 192.168.0.110 example2.com => 192.168.0.120 foo.example2.com => 192.168.0.130 bar.example2.com => 192.168.0.140 

    Capisco che questo potrebbe essere realizzato utilizzando l'invio di porte, ma ho bisogno di tutti gli host in esecuzione sulla port 80.

    Ho trovato alcune informazioni su IP masquerading, ma ho trovato questo difficile da capire, e non sono sicuro se è quello che sto dopo.

    Un'altra soluzione che ho trovato è dirigere tutto il traffico al server Proxy inversa, che invia le richieste al server appropriato. Che cosa su iptables?

    Sto utilizzando un router Billion 7404 VNPX. C'è una caratteristica che questo router ha che può farlo?

    Sono queste le mie sole opzioni? Ho perso qualcosa di completamente? Si consiglia gli altri?

    Ho cercato intorno, ma non credo che stia colpendo le parole chiave corrette.

  • Iptables: bloccare il traffico in output a exception di alcuni indirizzi IP
  • iptables: scopri quale pacchetto viene bloccato da quale regola?
  • IPTables: Consenti le connessioni MySQL in output ma non le connessioni in entrata
  • Come risolvere "iptables: Nessuna catena / target / match di quel nome"?
  • Come dividere il traffico attraverso due tabs di networking differenti in base alla port TCP in OS X
  • collegato a Centos openvpn ma non all'esterno dell'accesso a Internet
  • 2 Solutions collect form web for “Inoltra i nomi host differenti a diversi IP interni tramite il router NAT”

    La soluzione migliore sarebbe quella di utilizzare un proxy inverso HTTP. Per questo puoi usare:

    • apache con mod_proxy
    • libbra
    • calamaro
    • nginx

    Stiamo usando apache con mod_proxy, ma penso di andare con libbra.

    Come un apparecchio hardware è ansible utilizzare un Switch Service Service di Cisco. Vedere: http://www.cisco.com/it/US/products/hw/contnetw/ps792/index.html

    Ho avuto un'idea e vorrei sapere se qualcuno ha delle risposte.

    Se uso l'idea Proxy Reverse, penso di poter risolvere il problema semplicemente. Sto già utilizzando Nginx sugli altri server, quindi questo è il mio server di scelta per un Reverse Proxy.

    Al router, inoltro tutte le connessioni in arrivo sulla port 80 al mio server Reverse Proxy. Ho Nginx in esecuzione su questo server con il seguente file di configuration:

     server { listen *:80; location / { proxy_pass http://$host; } } 

    Quello che sembra fare è proxy la richiesta allo stesso host. Ma ecco il trucco, nel mio file / etc / hosts mapperò tutti i domini ai loro IP interni.

     182.168.0.110 example1.com 182.168.0.120 example2.com 182.168.0.130 foo.example2.com 182.168.0.140 bar.example2.com 

    Quindi il server Proxy inverserà l'host richiesto allo stesso host, ma a questo punto dovrebbe cercare il file host locale e mappare l'indirizzo IP interno. Significa anche che posso "impostare e dimenticare" il file di configuration Nginx.

    Un problema potenziale è che se un nome host locale non è stato configurato, il Reverse Proxy invia la richiesta all'esterno. Tuttavia, penso che NAT smetterà di bloccarsi in un ciclo infinito.

    Questa soluzione sembra funzionare nella mia testa, e sulla carta, ma non sarò in grado di impostare questo per un po '.

    Qualcuno può vedere qualche motivo per cui questo non funziona?

    Grazie.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.