On venerdì 19 ottobre 2007, Gelpi Andrea wrote: > Salve, > in una rete ci sono 3 server. > > A - Server di Lan > B - Server posta e web in DMZ > C - Firewall linux box > > Tutti e 3 i sistemi sono basati su debian sarge 3.x. > > Nell'ottica di risparmiare HW ho cercato di portare tutti e 3 i server > su un unico HW virtualizzando i server con XEN. > > Il server A necessita di accedere a periferiche esterne come modem e > simili per cui l'ho lasciato come dom0. > > Il primo che ho sistemato è stato B che funziona bene come domU. > Ha una sua scheda di rete ad hoc (eth1) che via cavo cross arriva a C. > > Ho poi portato C come domU su A > > Per poter far funzionare il firewall e lo shaper ho dovuto utilizzare il > kernel di xen completo, non quello fatto ad hoc per le domU altrimenti > mancavano moduli e il firewall e gli alias di rete non funzionavano. > > La situazione è ora la seguente. > > A ha 3 interfacce di rete. > > eth0 - LAN > eth1 - DMZ (nessun cavo attaccato > eth2 - Internet > > su A è definito l'IP solo su eth0 > > Ho creato altre due bridge con i comandi xen > > /etc/xen/scripts/network-bridge start vifnum=1 > /etc/xen/scripts/network-bridge start vifnum=2 > > B, il server in DMZ vede solo il bridge 1 > > C, il firewall invece vede tutte e 3 i bridge. > > Dopo aver sistemato le cose ho trovato uno stranissimo problema. > > Da C vedo B e da A vedo B passando solo per C. > > Se ora uso un PC sulla LAN questo riesce a pingare correttamente B e > anche traceroute arriva a B in due hop. > > Il problema è che le sessioni TCP hanno problemi. > > Il client apre una sessione ssh con B. Bene vedo passare il syn, mi > torna indietro il syn-ack e poi torna l'ack. Aquesto punto B inzia a > mandare pacchetti di 32 byte a cui nessuno risponde. > > Seguendo il tutto con tcpdump vedo questo traffico sull'interfaccia di > B, su entrambe quelle di C, il firewall, e da A sulla vif di lan del > firewall, ma il client sulla rete LAN non risponde. > > Ho provato a mettere mano ad alcuni parametri in /proc, ma non sembra > centrino (ip_forward su A, rp_filter su varie interfaccie di A), ho > provato a cambiare i mac virtuali delle interfacce delle 2 domU, niente. > > In altre parole tutto funziona come previsto fintanto che me ne sto > dentro il sistema fisico (dom0 e le sue 2 domU), ma non riesco a > raggiungere B passando per C da PC collegati in rete. > Pare che solo TCP abbia questo stranissimo problema. Purtroppo su B non > ho servizi in ascolto su UDP per fare prove. > > Qualche idea per venirne a capo? > > Grazie
Guarda, io ho abbandonato l'uso di configurazioni bridged in XEN proprio perché portano a più problemi di quanti siano i vantaggi che offrono... Ti consiglio una configurazione routed in cui le domU comunicano sulla rete virtuale tra lo ro e con la dom0, nessun cavo cross (ne diretto) visto che in questa configurazione tutto il traffico fisico lo fa solo ed unicamente la dom0 ... il tutto si semplifica enormemente, il firewolling lo puoi gestire in modo centralizzato in dom0 (cfr: il wiki di shorewall per un esempio di configurazione di questo tipo) PEr quanto riguarda l'accesso alle risorse HW da parte di una macchina virtuale, sei sicuro di non riuscire a far accedere una domU all'HW? non l'ho mai utilizzata questa feature ma mi pare sia possibile... in tal caso la conf migliore IMHO è lasciare al dom0 la sola incombenza del FWing e far tutto il resto nelle varie domU... Per quanto riguarda la tua conf attuale il problema potrebbe essere di arp proxy ... prova a controllare /proc/sys/net/ipv4/conf/XXXXXX/proxy_arp dove XXXXX è il nome della tua interfaccia virtuale -- <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n", ' socio fondatore del GrUSP ',"\n", ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n", ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>
________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List
