Newsgroup: it.comp.os.linux.sys
Titolo: proxy gateway nntp?

Salve.
Esiste un proxy o gateway nntp?
Spiego cosa mi servirebbe.
Ho una rete locale dove esiste un firewall 192.168.4.9. connesso ad internet,
un proxy server 192.168.4.7 che consente la navigazione su internet a 
vari client, tale proxy esce passando attraverso il firewall.
La macchina linux dove e' installato il proxy server usa quindi il firewall 
come gateway verso internet.
Ho un'altra macchina linux la 192.168.2.232, con questa macchina vorrei
collegarmi ad un news server per poter leggere le news offline.
Potrei far collegare al news server direttamente la macchina 192.168.4.7
visto che ha la possibilita' di uscire direttamente su internet passando per 
il firewall e poi dalla 192.168.2.232 collegarmi a questa.
In questo modo pero' gli articoli scaricati dal news server verrebbero 
memorizzati nel disco della macchina 192.168.4.7 (dove e' installato il
proxy server squid) mentre io non voglio lasciare traccia degli articoli su 
questa macchina.
Voglio che gli articoli mi vengano memorizzati sul disco della 192.168.2.232.
Credo che quindi dovrei usare la 192.168.4.7 solo come gateway per arrivare
dalla 192.168.2.232 al server news.
Come posso fare?
Potete suggerirmi altre soluzioni?
Grazie.

 Ho una rete locale dove esiste un firewall 192.168.4.9. connesso ad internet,
Azzardo una possibile soluzione: SOCKS
Recentemente ho installato Dante e Dante-server + libwrap
(trovati in 
rpmfind.net
) e esaminando i prodotti ho capito
che non solo socksd nel pacchetto dante-server supporta i
protocolli SOCK 4 e SOCK 5, ma che con libwrap QUALSIASI APPLICAZIONE
che chieda al kernel un socket, puo' sfruttare i protocolli
SOCK 4/5. Semplicemente la libwrap intercetta la chiamata di
sistema socket e, (con protocollo appropriato) ridireziona la
richiesta al SOCKD sulla porta configurata (el 1080).
Quindi puoi installare un newsserver locale come cache e
"wrappargli il networking" con libwrap perche' usi un server
SOCKS. Sul gateway configuri il server SOCKS e FORSE HAI CIO'
CHE VUOI.
ciao.
Roberto.

O pure se hai accesso di root alla macchina dove c' e'
il proxy squid puoi far fare port redirect a xinetd
(la porta 119)
O abiliti il forwarding e gli fai fare masquerading
(mettendo le policy che permettono solo alla macchina
192.168.2.232 con destination port 119 di passare)
con iptables o ipmasqadmin.
Un sacco di soluzioni possibili.

Grazie per i suggerimenti.
E' molto interessante quello relativo all'uso del SOCK.
Lo uso gia', ho installato Dante server nella macchina dove risiede il proxy
server che e' l'unica della LAN abilitata ad uscire su internet passando 
attraverso il firewall.
Attraverso tale server Sock posso usare su diversi client windows applicazioni
per messaggerie oppure per chat, ecc. configurandole per usare sock 5.
Non ho installato Dante client.
Immagino possa servirmi per sockettizzare applicazioni che faccio girare
sulla macchina linux dove vorrei memorizzare le news, per esempio slrnpull,
come penso di aver capito dal tuo suggerimento, se sbaglio correggimi.
Uso i pacchetti precompilati di debian e credo che sia prevista la libwrap.
Nel file di configurazione del server infatti figura la voce libwrap che 
credo sia settata a 0, non l'ho cambiata perche' non so a cosa serva 
e quali valori possa assumere, non ho trovato molta documentazione in 
proposito.
Dovrei quindi installarmi Dante client nella macchina che volgio far collegare
al server news passando attraverso quella abilitata ad uscire su internet
e nella quale c'e' installato Dante server?
Nel conf di Dante server a quale valore devo settare libwrap?
Scusa la mia ignoranza.
Non ho ben capito invece il suggerimento riguardante la redirezione della
porta da far fare a xinetd.
Ho accesso come root nella macchina dove c'e' squid (che e' appunto quella
abilitata ad uscire su internet).
Potresti spiegarmi meglio?
Grazie e scusa ancora.
Ciao.


 Ciao.
In /etc/services della macchina con squid e SENZA ALCUN NNTP SERVER
attivo aggiungi la linea (se non c' e' gia')
nntp            119/tcp
In /etc/xinet.d/
crei il file nntp
-------- /etc/xinet.d/nntp --------------------
# default: on
# description: Ridireziona cio' che riceve su porta 119 (NNTP)
# 
service nntp
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        redirect        = IP.SERVER.PUBBLICO 119
        log_on_failure  += USERID
        disable         = no
}
------------fine nntp ------------------------------
kill -SIGUSR1 a xinetd
o la riesecuzione dello script della init per far avviare anche
questo servizio.
in man xinetd trovi tutto.
Solita disquisizione: redirect un user-space o kernel-space??
Con il kernel compilato opportunamente una porta puo' essere
ridirezionata anche con iptables.
Ciao
Roberto.

 
Grazie ancora, utilissimo, ho imparato una cosa nuova.
Un'altra domanda se posso, cosa si intende per user-space e per kernel-space?
Ciao.


Gergo degli sviluppatori Unix(R) e Linux
La redirezione della porta fatta con xinetd avviene in user-space,
perche' e' un processo utente che termina la connessione tcp/ip
(SOCKET), ne apre un' altra come da direttive del suo file di
config e realizza la logica della redirezione, cioe' cio che riceve
da una lo ritrasmette nell' altra. Ai fini delle chiamate di sistema
non avviene una redirezione, ma vengono aperte due connessioni
indipendenti.
Se invece imposti delle regole di gestione dei pacchetti nel
kernel mediante apposite chiamate di sistema (il cui front-end
possono essere i vai programmi ipmasqadmin, iptables...)
non viene lanciato alcun processo: il kernel stesso applichera'
le regole, ma il kernel NON e' un processo attivo. Le funzioni del
kernel vengono chiamate o esplicitamente dai programmi o da eventi
asincroni come interrupt. Alla ricezione di un pacchetto sull'
interfaccia di rete viene eseguito il codice del kernel per la 
trattazione del pacchetto (riconoscimento protocollo, applicazione
regole e consegna a processo) che poi rientra.
Ciao.
Roberto.