Newsgroup: it.comp.os.linux.sys
Titolo: forzare il binding su un ip

Mi è capitata una questione abbastanza noiosa che non riesco a risolvere....
ho un applicativo java , naturalmente immodificabile ( e ci mancherebbe... )
che fa' il bind su 0.0.0.0 e fin qui' nulla di strano.
ora avrei bisogno di far girare 2 istanze di quell' applicativo su 2 ip
diversi ( o schede o alias , ancora non lo so' ) il problema è che il sw in
questione richiede il bind su 0.0.0.0 , c'è un metodo per ingannarlo e
fargli aprire solo un determinato ip senza accedere al codice ?
ci ho pensato x un bel po' ma a parte soluzioni complicate non mi è venuto
in mente niente , sono naturalmente esclusi xen/usermodelinux/eccecc ma
volendo il chroot è possibile ( anche se lo vorrei evitare... ) 
Prima di mettermi a scrivere un wrapper che intercetti e modifichi la
syscall del bind qualcuno ha un idea + intelligente ?
ciao e grazie in anticipo.
-- 
Quando le luci sono spente, tutte le donne sono belle.
                -- Dalle Leggi di Murphy sul Sesso

 fargli aprire solo un determinato ip senza accedere al codice ?
Permette di selezionare la porta su cui ascoltare?
Perchè in tal caso potresti mettere la seconda istanza in ascolto su una 
porta diversa e poi lavorare di iptables per ridirigere su questa le 
chiamate dirette alla porta originaria su un IP specifico...

> Permette di selezionare la porta su cui ascoltare?
no , altrimenti risolvevo abbastanza in fretta :-D è un jar a cui non posso
fare nessuna modifica e chi lo sviluppa non mi considera neanche di
striscio.......
-- 
BTW: ho un nome migliore per il software... Microsoft Internet Exploder.
                -- George Bonser

 volendo il chroot è possibile ( anche se lo vorrei evitare... ) 
con chroot non risolveresti.
Con linux-vserver opportunamente configurato, si.
Max
-- 
A: Because we read from top to bottom, left to right.
Q: Why should i start my reply below the quoted text?
http://pagerank-patatrak.onlinesubito.it
 Pagerank patatrak

 fargli aprire solo un determinato ip senza accedere al codice ?
Usare SELinux per impedire alle due istanze l'uso di indirizzi/interfacce
che non gli spettano? Non uso abitualmente java, tantomeno con selinux, e
quindi non saprei neanche se l'ipotesi ha senso. E bisogna ancora vedere,
in ogni caso, se la tua applicazione non si arrabbia. E usare vserver?
Se no... passa direttamente a FreeBSD e metti i due programmi in due jail
separate [1].
Fabio
[1] ... e cambia newsgroup :-)

 Con linux-vserver opportunamente configurato, si.
uhmm , ci guardo.
-- 
- Come si riconoscono due carabinieri in un negozio di scarpe?
- Si misurano le scatole.
                -- Da it.hobby.umorismo

 partiva per nulla.
no way , c'è anche una parte grafica tanto x stare allegri......
-- 
"Cielo!", urlo' la contessa.  E venne Meno.  Meno, si scopri' poi, era
il maggiordomo.
                -- Da it.hobby.umorismo

 sia signed o altre cose del genere).
si , ma il problema è che ogni 3-4 sett arriva un update e non posso stare a
smanazzare 10 server ogni mese.....
-- 
Era cosi' povero che invece di regalare ai suoi bambini gli yo-yo
regalava solo yo.
                -- Da it.hobby.umorismo

> Con linux-vserver opportunamente configurato, si.
è comunque un sistema di virtualizzazione...... troppo macchinoso x quello
che voglio ottenere.
-- 
Carabiniere in negozio:
- Vorrei un portafoglio impermeabile.
- Perche'?
- Per metterci il denaro liquido!
                -- Da it.hobby.umorismo

 che voglio ottenere.
non è né più né meno che una jal bsd, ovvero un chroot evoluto dove puoi
passargli le interfacce di rete o le partizioni che vuoi vedere.
O così o pomì (= hack pesante del codice che non hai)


 si , ma il problema č che ogni 3-4 sett arriva un update 
visto che arriva cosě spesso (e che quindi immagino siate in
collabaroazione ) non potresti chiedergli di aggiungere un parametro 
"-bind IP " e farla finita?
per loro : 10 minuti di aggiustamento del codice
per te : N ore/giorni di rompimenti risparmiati ad ammattire 

 "-bind IP " e farla finita?
Non sempre la cosa e` cosi` semplice. Se ad esempio si sta parlando di
un applicativo validato, ci sono di mezzo tutta una serie di attivita`
che, in caso di richiesta di una nuova funzionalita`, prendono piu`
tempo della modifica del sorgente (operazioni previste invece nel
contratto di manutenzione del software). C'e` anche da dire, pero`, che
questa situazione potrebbe essere colta al balzo per richiedere
aggiornamenti al software che rispecchino le mutate condizioni di lavoro
della ditta
Enrico

> "-bind IP " e farla finita?
lasciate perdere , non c'è modo che mi considerino nemmeno di striscio...
-- 
Barometro, s.m.:
        Un ingegnoso strumento che indica che tipo di tempo stiamo avendo.
                -- Ambrose Bierce, "The Devil's Dictionary"

 O così o pomì (= hack pesante del codice che non hai)
ma' pesante non di sicuro , 2 righe al max dove fa' il bind , cmq ho trovato
il modo di intercettare la syscall e modificarla , lo faccio con un
LD_PRELOAD , per ora funzionicchia , lo provo un po' e poi vedo.
ciao e grazie a tutti.
 
-- 
- Papa', dov'e' l'Africa?
- Ma che ne so, Pierino...  E' la mamma che mette a posto.
                -- Da it.hobby.umorismo

 volendo il chroot è possibile ( anche se lo vorrei evitare... ) 
io farei un vserver (che alla fine è un chroot che permetti :-) )
Ciao, Micky
-- 
What's this hash prompt on my terminal mean?
Micky Del Favero  -  System Manager  &  BOFH

 che voglio ottenere.
# apt-get install vserver-debiantools
# newvserver --hostname x --domain y.z --ip 
1.2.3.4/14
# vserver x start
fine, non mi pare tanto macchinoso, poi se te ne serve un altro vai di
rsync e cloni i vserver senza installare nulla.
