Newsgroup: it.comp.os.linux.iniziare
Titolo: Aiuto condivisione adsl

Ciao,
non riesco a venire a capo di questo problema: ho linux rh9 (due schede di
rete e il modem adsl ethernet con ip DINAMICO) che dovrebbe funzionare da
router per le altre macchine ed e' cosi' configurato: eth0=192.168.1.1 gw
192.168.2.1 (attiva all'avvio) eth1=192.168.2.1 (NON attiva all'avvio)
ppp0 su eth1 (attiva all'avvio)
def gw=ppp0
Da linux funziona tutto, ma le altre macchine sulla rete (192.168.1.x) NON
vanno su internet.
Questa e' la tabella di instradamento (con internet, su macchina linux,
funzionante):
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface 192.168.100.1   *               255.255.255.255 UH    0      0      
 0 ppp0 192.168.1.0     *               255.255.255.0   U     0      0    
   0 eth0 169.254.0.0     *               255.255.0.0     U     0      0  
     0 eth0 127.0.0.0       *               255.0.0.0       U     0      0
       0 lo default         192.168.100.1   0.0.0.0         UG    0      0
       0 ppp0
A parte che quel 192.168.1.100 non so da dove salti fuori (il gw di eth0
dovrebbe essere l'indirizzo eth1), comunque sia la cosa non funziona:
praticamente le macchine 192.168.1.x non vanno oltre la macchina linux
(che, ripeto, accede perfettamente alla rete).
Noto che non appare l'indirizzo dinamico, in questo momento if config mi
dice questo: ppp0      Link encap:Point-to-Point Protocol
          inet addr:80.181.87.191  P-t-P:192.168.100.1 
          Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST 
          MTU:1492  Metric:1 RX packets:561 errors:0 dropped:0 overruns:0
          frame:0 TX packets:679 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0
          RX bytes:118959 (116.1 Kb)  TX bytes:293344 (286.4 Kb)
Se qualcuno mi da una mano gli sono davvero grato. ciao e grazie
antonio

           RX bytes:118959 (116.1 Kb)  TX bytes:293344 (286.4 Kb)
Tutto ok, il tuo pc si collega ad internet. Però ci sono due cose: primo
devi abilitare il natting, in modo da consentire la connessione ad internet
anche agli altri computer, e poi devi "istruirli" affinché utilizzino quel
pc come default gateway. Il problema mi sembrerebbe in questo. Ciao!
Roberto
-- 
La somma dell'intelligenza sulla Terra è costante; la popolazione è in
aumento.

 questo. Ciao!
Si, non fa una piega, ma in concreto come devo agire? ciao e grazie per
ora
a.

 interna? Oppure?
Ma questa rete la macchina linux la vede o no ?
-- 
Ciao
Gianluca

 ora
Dunque, innanzitutto, nel pc che farà da gateway devi dare i seguenti
comandi:
$ iptables -t nat -A POSTROUTING -s 
192.168.1.0/16
 -d 0/0 -o ppp0 -j
MASQUERADE
In questo modo istruisci il netfilter per il natting. Devi dare qualche
altra impostazione però:
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
$ echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_response
$ echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
$ echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
$ echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
Non credo siano tutti necessari, ma non ricordo quali lo siano e quali no;
ti ho copiato ed incollato il mio script.
A questo punto, sui client devi specificare l'indirizzo ip del tuo gateway
come, appunto, default gateway. Non so che SO tu abbia nei client; se hai
windows non ricordo, se hai linux il comando da dare è questo:
$ route add default gw <indirizzo_ip_del_gateway>
A questo punto dovrebbe andare tutto quanto. Ricordati di specificare i dns
nei client! Ciao!
Roberto
-- 
Il celibato non è ereditario.

 a.
Tutto questo lo devi fare sul pc router:
1) Abilita il forward con
# echo 1 > /proc/sys/net/ipv4/ip_forward
2) Abilita il natting
Se non sbaglio dovrebbe essere
# iptables -t nat -A POSTROUTING -j MASQUERADE
Ciao,
        Fabrizio
-> 
www.negusweb.it
 <-

> Ma questa rete la macchina linux la vede o no ?
Si questa macchina, che e' un mac, fino al pc linux ci arriva, il problema
e' che non va oltre.

 ti ho copiato ed incollato il mio script.
Allora, ho aperto una shell di root e ho dato il primo comando
(/sbin/iptables ecc. giusto?), poi, a seguire, anche il secondo (tranne
ignore_bogus ecc.), descrivo tutto perche', come avrete ormai intuito,
non ci capisco una mazza (d'altra parte se ci capivo non rompevo l'anima
al prossimo...) e non va.
Ho provato anche il restart di network e routed ma invano.
C'e' qualcos'altro che posso fare o verificare?
La connessione con i client funziona, l'uscita su ppp0 pure, pero' la
connessione in arrivo su eth0 (dai client quindi) non passa a ppp0.
Secondo me c'e' qualcosa di sbagliato su eth0 e eth1, ma non riesco
a capire cosa: su /etc/sysconfig c'e' un file "static-routes" ed e' vuoto:
e' regolare questo?

 e' regolare questo?
Non te lo so dire: questo tipo di file di configurazione dipendono da
distribuzione a distribuzione. Ora, tu usi RH9, e io con questa distro non
ho mai avuto a che fare. Quanto ti sto dicendo, comunque, funziona su
qualunque distro. Comunque, provo a farti una diagnosi "spannometrica":
secondo me non c'entra nulla. Infatti, se quel file fosse vuoto in un
client potrei dire che non viene indicato il router a cui fare riferimento;
ma siccome il file è nel router non ha importanza: la configurazione per il
routing viene fatta quando lanci la connessione adsl, e viene dato come
gateway per il tuo router 192.168.100.1. Ciao!
Roberto
-- 
La malattia che si propaga tramite atto sessuale e porta inevitabilmente
alla morte è la vita.

 risolve il nome, e quindi devi indicargli il dns da utilizzare.
Grande! Il ping dal client funziona, poi pero' vado su explorer (sempre
dal client) digito lo stesso indirizzo e non esco (in effetti il dns sul
client e' giusto, e' lo stesso che usa il server), quindi e' un problema
di firewall, giusto?
Il file /etc/hosts.allow dice 
ALL:192.168.1.12 (che e' l'indirizzo del client).
Il file /etc/host.conf
order hosts,bind
multi on
Il file /etc/hosts.deny e' vuoto
Mi viene un dubbio: come verifico se /usr/sbin/tcpd funziona
correttamente?
Grazie ancora.
ciao
a.

 di firewall, giusto?
E' probabile. Prova a postare l'output del comando iptables -L. I file
hosts.allow e host.conf mi sembrano ok. Quanto a tcpd... boh, non ti so
rispondere perché non c'ho mai messo le mani. Ciao!


> risolve il nome, e quindi devi indicargli il dns da utilizzare.
Non dare per scontato che non sia un problema di DNS.
Prova a pingare 216.239.51.99
Che ti dice ?
Ciao,
        Fabrizio

> E' probabile. Prova a postare l'output del comando iptables -L. 
Eccolo.
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
RH-Lokkit-0-50-INPUT  all  --  anywhere             anywhere
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Lokkit-0-50-INPUT  all  --  anywhere             anywhere
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain RH-Lokkit-0-50-INPUT (2 references)
target     prot opt source               destination
ACCEPT     udp  --  
ns1.tin.it
           anywhere           udp spt:domain dpts:1025:65535
ACCEPT     udp  --  
ns4.tin.it
           anywhere           udp spt:domain dpts:1025:65535
ACCEPT     udp  --  anywhere             anywhere           udp spts:bootps:bootpc dpts:bootps:bootpc
ACCEPT     udp  --  anywhere             anywhere           udp spts:bootps:bootpc dpts:bootps:bootpc
ACCEPT     all  --  anywhere             anywhere
REJECT     tcp  --  anywhere             anywhere           tcp flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT     udp  --  anywhere             anywhere           udp reject-with icmp-port-unreachable

 Eccolo.
Ho sbagliato, non avevo dato il comando /sbin/iptables -t nat -A
POSTROUTING -s 
192.168.1.0/16
 -d 0/0 -o ppp0 -j MASQUERADE
Questo e' DOPO averlo dato:


 Che ti dice ?
Dice che va bene, nessun pacchetto perso.
ciao
a.

 POSTROUTING -s 
192.168.1.0/16
 -d 0/0 -o ppp0 -j MASQUERADE
Mi sembrano uguali, i due output... comunque sembrerebbe tutto a posto...
giusto per fare una prova, dai "iptables -F", ti ripulisce le regole del
firewall, e poi prova a navigare con un client... non so, magari funzia...
Però se va poi vedi di rimettere insieme un insieme di regole, perché non è
il massimo navigare senza firewall! Ciao!
Roberto
-- 
Una proliferazione di nuove leggi crea una proliferazione di nuove
scappatoie.

 Dice che va bene, nessun pacchetto perso.
Allora se invece
$ ping 
www.google.it
 
non funziona, significa che hai impostato male il risolutore dei nomi,
per cui controlla
/etc/resolv.conf
Ad esempio se vuoi impostare i dns di tiscali, devi scrivere in
/etc/resolv.conf:
nameserver 195.130.224.18
nameserver 195.130.225.129
Ciao,
        Fabrizio

 il massimo navigare senza firewall! Ciao!
Adesso va, ti sono davvero grato.
In sostanza era un problema di firewall, giusto?
Che faccio, lo sistemo (spiegami come, non voglio abusare della tua
pazienza, ma sai com'e'...) oppure "rimetto un insieme di regole" (con
ipchains o cosa?)?
ciao
a.

 ipchains o cosa?)?
Metti un insieme di regole usando iptables, trovi un sacco di script di
esempio con google. Ciao!
Roberto
-- 
Non esistono donne brutte. Dipende solo da quanta vodka bevi.