Più indirizzi IP attraverso la stessa interfaccia e iptables


1

L'amministratore di sistema non è il mio punto di forza. La mia situazione è che abbiamo 1 sito Web con 4 domini. Il sito Web stesso offre modelli / contenuti diversi a seconda del dominio utilizzato, simulando 4 siti Web diversi.

Vogliamo SSL per ogni dominio (al momento abbiamo impostato tutto correttamente con apache e funziona su 3 siti).

Abbiamo 3 interfacce di rete fisiche: eth5, eth6, eth7. Un impiegato passato ha scritto queste regole di instradamento ip per aiutare a configurare i nostri indirizzi IP host virtuali. Non capisco davvero cosa stia succedendo su questi, tranne che con questi in atto, 3 dei nostri domini funzionano correttamente con SSL, corrispondenti agli host virtuali per ogni indirizzo IP * .95

Eth5
ip route add *.*.*.0/24 dev eth5 proto kernel scope link src *.*.*.95 table 20
ip route add default via *.*.*.1 dev eth5 table 20
ip rule add from *.*.*.95 lookup 20 

Eth6
ip route add *.*.*.0/24 dev eth6 proto kernel scope link src *.*.*.12 table 40
ip route add default via *.*.*.1 dev eth6 table 40
ip rule add from *.*.*.12 lookup 40

Eth7
ip route add *.*.*.0/24 dev eth7 proto kernel scope link src *.*.*.11 table 30
ip route add default via *.*.*.1 dev eth7 table 30
ip rule add from *.*.*.11 lookup 30

Queste regole hanno funzionato per 3 dei 4 siti Web di cui abbiamo bisogno SSL. Abbiamo un altro indirizzo IP * .14 che abbiamo detto al nostro DNS interno (bind9) e godaddy (correlato all'IP pubblico per * .14 che è * .70) di indicare qui. Ma mi sento come se dovessi aggiungere un'altra regola.

Voglio sapere cosa fanno queste regole, perché ho bisogno di una regola e come posso davvero far funzionare .14.

Il dominio che desidero indicare 14 indica 12 (sul nostro sito interno). Esternamente indica 70 che è 14, quindi non viene visualizzato nulla, perché quella parte non funziona!


Modifica per rispondere al commento di Florenz:

Il nostro server esegue Ubuntu 12.10. Abbiamo apache che gestisce i nostri host virtuali con una cartella chiamata siti disponibili e altri siti abilitati. Ho quella parte che funziona correttamente, dove ci sono quattro siti disponibili e abilitati, contenenti host virtuali.

In quelli, abbiamo <virtualhost>che contengono gli indirizzi IP corrispondenti a .95, .11, .12 e quello che non funziona .14 Dato che usano SSL, usano la porta: 443

Tutti i certificati SSL sono in esecuzione e collegati anche lì. Non penso che il lato apache degli host virtuali non sia stato eseguito correttamente. Penso che abbia a che fare con queste regole dell'IP Route. Non so molto di queste cose, quindi è difficile spiegarlo.


la tua descrizione mi confonde un po '. Potresti provare a descrivere più dettagliatamente cosa hai in "strati" di cose e con le corrispondenti voci del file di configurazione? Che tipo di distribuzione? OS? Server web? istanze del server? altre dipendenze? Dai un'occhiata a httpd.apache.org/docs/2.4/vhosts/ip-based.html per i documenti Apache su host virtuali basati su IP (lo sguardo sulla tua configurazione suggerisce qualcosa in quella direzione)
Florenz Kley

Ho modificato la mia domanda. Spero che questo aiuti? Cosa intendi per livelli?
amurrell,

strati = quali componenti devono essere lì per farlo funzionare. Di solito schematizzato come strati. Sono tentato di dire riassumere il ragazzo :-). Dai un'occhiata al tuo ifconfig: dove finisce il nuovo IP? A seconda del modo in cui entra (VLAN?) Potresti essere in grado di testare con un'interfaccia virtuale, non fisica. Dai un'occhiata a ip, netstat e route, che mostra la configurazione del percorso (è qui che entra in gioco il comando route). Controlla iptables (se usi il firewall). Controllare QOS / limitazione (tc et al).
Florenz Kley,

Assoldarlo non è un'opzione o un desiderio. Ho detto che questo non è il mio campo. Ho bisogno di un passaggio per passaggio. Forse potresti fornire riferimenti su come configurare un'interfaccia virtuale. E come guardare iptables, perché è quello che sembriamo usare.
amurrell,

Risposte:


0

Quindi ho trovato una soluzione a questo problema.

Esistono due modi per risolverlo, un modo è quello che ho chiesto qui: creare una nuova interfaccia per riflettere l'IP xxx14.

In precedenza, avevo definito un nuovo Virtualhost per eseguire SSL sul dominio rimanente. Il problema è che definire Virtualhost con uno dei nostri IP non è sufficiente. Avevamo bisogno di mettere in relazione quell'IP con una delle nostre interfacce. Dato che non ho familiarità con la scrittura di interfacce o la creazione di interfacce virtuali - e abbiamo già interfacce complicate - questa non è stata una strada facile per me da percorrere (nessun gioco di parole inteso).

Il modo in cui l'ho risolto era eseguire entrambi VirtualHosts sullo stesso indirizzo IP e sulla stessa porta, uno degli indirizzi IP già collegati a un'interfaccia funzionante. Tutto quello che dovevo fare era aggiungere la direttiva NameVirtualhost, in modo che la sovrapposizione non causasse un avviso con Apache. C'era una descrizione eccellente di questo qui .

Un esempio che il riferimento sopra fornito dimostra l'idea, che ho adattato per adattarmi al mio caso:

NameVirtualHost x.x.x.12:433

<VirtualHost x.x.x.12:433>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>

<VirtualHost x.x.x.12:433>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>

Utilizziamo i siti di apache disponibili e abilitati per i siti, quindi ogni host virtuale è definito nel suo rispettivo file. Ho incluso la direttiva NameVirtualhost in una sola di esse e ha funzionato.

Conclusione: ho appena usato lo stesso indirizzo IP che aveva già un'interfaccia funzionante per evitare il problema di capire come crearne uno nuovo.


Volevo aggiungere questo perché ora stiamo usando più SSL su 1 indirizzo IP, che viene utilizzato SNI (Server Name Indication) ... che SNI non è supportato su Windows XP. L'esecuzione di questi due siti con SNI ha comportato che uno dei certificati SSL dei siti non funzionava in IE 8 su Windows XP. Poiché Windows XP non sarà più gestito da Microsoft - non cambieremo questa configurazione, ma ho pensato che le persone dovrebbero esserne consapevoli nel caso in cui prendano questa soluzione.
amurrell,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.