-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Per aiutare chi in futuro si troverà di fronte a questo problema, posto come ho risolto i miei problemi. Allora innanzitutto bisogna essere sicuri che dal gateway si riesco a pingare un host in internet e che ci si riesca a pingare all' interno della LAN. Una volta che ci si è accertati di questo, bisogna procedere a configurare iptables. Perchè si possa configurare il masquerading bisogna avere nel kernel queste moduli: Sotto "Networking Options" Network packet filtering (CONFIG_NETFILTER) Sotto "Networking Options->Netfilter Configuration" Connection tracking (CONFIG_IP_NF_CONNTRACK) FTP Protocol support (CONFIG_IP_NF_FTP) IP tables support (CONFIG_IP_NF_IPTABLES) Connection state match support (CONFIG_IP_NF_MATCH_STATE) Packet filtering (CONFIG_IP_NF_FILTER) REJECT target support (CONFIG_IP_NF_TARGET_REJECT) Full NAT (CONFIG_IP_NF_NAT) MASQUERADE target support (CONFIG_IP_NF_TARGET_MASQUERADE) REDIRECT target support (CONFIG_IP_NF_TARGET_REDIRECT) Packet mangling (CONFIG_IP_NF_MANGLE) LOG target support (CONFIG_IP_NF_TARGET_LOG) Dopo aver ricompilato il kernel inserendo questi moduli ho avuto dei problemi, otteneve una serie di unresolved symbols cercando di inserire i moduli nel kernel. Per ovviare a questo problema ho inserito direttamente nel kernel alcuni di questi e tenuto come moduli altri, fino a che depmod non mi ha mostrato più errori. Per poter abilitare masquerading bisogna prima abilitare l'ip forwarding, quindi eseguire: $ echo 1 > /proc/sys/net/ipv4/ip_forward Se si ha una connessione con ip dinamico è raccomandabile abiliare anche dynaddr: $ echo 1 > /proc/sys/net/ipv4/ip_dynaddr Una volta fatta questa operazione bisogna passare alla effettiva configurazione di iptables. Attivare masquerading è molto semplice, basta dare il seguente comando: $ iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE Ora bisogna configurare i client. Quindi su ogni client che deve utilizzare la condivisione condivisa date: $ route add default gw 192.168.0.1 Sostituire 192.168.0.1 con l'indirizzo del vostro gateway (il computer con la connessione ad internet che state configurando per fare masquerading) Così facendo la connessione dovrebbe essere condivisa. Per provare pingate un sito internet specificando il suo ip: $ ping 216.239.33.100 (ip di Google) Se questo funziona siete a cavallo! Non rimane altro da fare che inserire nel file /etc/resolv.conf i DNS forniti dal provider. Ora per vedere se tutto funziona riprovate a pingare un sito internet (www.google.com). Se questo funziona la condivisione è correttamente configurata. Ora sarebbe il caso di mettere qualche paletto in modo che altri (al di fuori della LAN locale) possano utilizzare il gateway. Per fare questo potere utilizzare quanto segue: $ iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT $ iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT $ iptables -A FORWARD -j DROP sostituendo a 192.168.0.0/24 la vostra network. A questo punto non rimane altro che fare in modo che il nostro script venga avviato automaticamente quando si stabilisce una connessione. Per fare questo inserire lo script all'interno della cartella /etc/ppp/ip-up.d/, se poi volete eseguire automaticamente qualche operazione alla chiusura della connessione inserite lo script all'interno di /etc/ppp/ip-down.d/ Allego lo script che utilizzo io per abilitare il masquerading ================================================== #!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_dynaddr iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT iptables -A FORWARD -j DROP =================================================== Spero di essere stato utile a qualcuno. Ciao - -- Nivox Linux Registered User #290686 Powered by: Debian Sid JABBER: nivox@xxxxxxxxxxxxxxx GPG Key ID: 0xC6A50D8D (info: www.gnupg.org) GPG Keyserver: http://www.keyserver.net La donna è un errata implementazione di un architettura corretta (Diaolin) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/06cQfhOftsalDY0RAnQTAJ48A99JbFtz//iuLzxNMF5iXtFVXwCfSCC/ +5EcadJ4lWepZFFpQF9udvE= =DTaA -----END PGP SIGNATURE----- -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx