PDA

View Full Version : Script per avviare automaticamente la condivisione della connessione adsl


pfaff
09-01-2004, 09:51
Ho installato la slackware 9.1 e ora mi servirebbe uno script per non dover ogni volta dare i comandi per condividire la connessione.

I comandi come sapete bene sarebbero i seguenti:

# echo "1" > /proc/sys/net/ipv4/ip_forward
# modprobe ip_tables
# modprobe ip_conntrack
# modprobe iptable_nat
# modprobe ipt_MASQUERADE

# iptables -t nat -A POSTROUTING -d ! 192.168.0.0/24 -j MASQUERADE

# iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
# iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
# iptables -A FORWARD -j DROP

Per automatizzare le cose è comunque sempre conveniente mettere tutti i comandi in uno script (per esempio con nome masq) da rendere eseguibile con: # chmod 755 masq
e metterlo quindi in una directory del path (per esempio /usr/bin o /usr/local/bin) in modo da richiamarlo quando ne abbiamo la necessità, oppure inserirlo in uno script di avvio a seconda della distribuzione usata (per esempio uno sotto /etc/rc.d) oppure in /etc/ppp/ip-up che viene caricato in automatico appena ci si collega a Internet usando il PPP (come con i provider).

Tutte le info esposte le ho "copiate" da linux.html.it

Grazie :)

VICIUS
09-01-2004, 10:30
Se i miei ricordi di slack non si stanno perdendo basta aprire il file /etc/rc.d/rc.local e buttare tutto li dentro. ad ogni avvio i comandi verrano eseguiti da slack in automatico.

ciao ;)

maxithron
09-01-2004, 10:36
oppure le salvi in un unico file da inserire nel path indicatoti da vicius.

pfaff
09-01-2004, 10:40
Ragazzi mi date una mano a farlo?
Non saprei proprio da dove cominciare. :muro:

Oltretutto mi sono dimenticato un comando iniziale:
# ifconfig eth0 192.168.0.1 up netmask 255.255.255.0

Grazie :)

VICIUS
09-01-2004, 10:47
Originariamente inviato da pfaff
Ragazzi mi date una mano a farlo?
Non saprei proprio da dove cominciare. :muro:

Oltretutto mi sono dimenticato un comando iniziale:
# ifconfig eth0 192.168.0.1 up netmask 255.255.255.0

Grazie :)

è semplice. apri il file che ti ho indicato prima einserisci i comandi con un bel copia-e-incolla. l'ordine con cui vengono eseguiti è quello con cui li scrivi nel file.

ciao ;)

maxithron
09-01-2004, 10:53
allora, creati un file con un nome qualsiasi, in questo modo:

touch nome_che_vuoi_dare_al_file

poi, lo editi (scegli l'editor che più ti piace) e poi scrivici:

#!/bin/sh

e qui ci aggiungi le righe che hai postato sopra.

Lo salvi e lo fai diventare eseguibile tramite chmod:

chmod 700 nome_che_hai_dato_al_file

fatto questo, lo copi in rc.local

pfaff
09-01-2004, 10:56
Grandissimi tutti e due.
Provo subito sperando di essere all'altezza. :)

Grazie

pfaff
09-01-2004, 12:09
Perfetto. ;)

Al momento ho seguito il primo metodo, mi sembrava il più breve.
Ci sono vantaggi o svantaggi?

Forse il secondo è un po' + ordinato?

Grazie :)

maxithron
09-01-2004, 13:24
Originariamente inviato da pfaff
Perfetto. ;)

Al momento ho seguito il primo metodo, mi sembrava il più breve.
Ci sono vantaggi o svantaggi?

Forse il secondo è un po' + ordinato?

Grazie :)

Fondamentalmente no ma ti da questa piccola scelta in più:

Un domani che non vuoi che la condivisione venga attivata all'avvio, ti rimane un file che puoi lanciare da linea di comando.

Ad es.. se il file lo chiamiamo startcondivisione, avrai la possibilità da shell di lanciare e chiudere lo script autonomamente. Io preferisco fare così perchè se in mia assenza qualcuno accende il PC, non gli è comunque permesso di navigare senza autorizzazione. :)

pfaff
09-01-2004, 13:43
Certo. :)

Grazie del chiarimento. :)

pfaff
11-01-2004, 14:01
Ho provato la debian e mi chiedo come sia possibile che ogni distro differisca dalle altre in mille aspetti.
Nella debian il procedimento per fare quello richiesto nel titolo del thread è diverso?

Perdonate il mio sfogo ma se non si riesce a "standardizzare" un po' di più in ambito linux si avrà sempre un gran casino che non farà altro che scoraggiare tanti utenti inesperti.
Oltretutto anche raccogliere informazioni precise è impresa tutt'altro che semplice e immediata (e sui canali irc sembra che facciano a gara per dare falsi aiuti, utilizzando un linguaggio per molti versi criptato e incomprensibile e rimandando sempre al famoso "man ***", come se con la teoria si capisse tutto).

NA01
11-01-2004, 14:07
brr irc lo odio!!!!
lungha vita a google!

per lo standard...
la diversità è si una debolezza, ma identifica anche uno dei punti di forza (il poter scegliere è una cosa che la concorrenza non ti dà ;) )

ciao

maxithron
11-01-2004, 14:11
Originariamente inviato da pfaff
Ho provato la debian e mi chiedo come sia possibile che ogni distro differisca dalle altre in mille aspetti.
Nella debian il procedimento per fare quello richiesto nel titolo del thread è diverso?

Il procedimento no, cambia il percorso che è: /etc/rc.boot



Perdonate il mio sfogo ma se non si riesce a "standardizzare" un po' di più in ambito linux si avrà sempre un gran casino che non farà altro che scoraggiare tanti utenti inesperti.

Su questo ci stanno lavorando per creare United Linux...però....personalmente noto una cosa....un principiante, tende a guardare 10 distro contemporaneamente e puntualmente, più che farsi un'idea, gli viene un gran mal di testa :)

Io ritengo invece che una distribuzione vale quanto un'altra(alla fine parliamo sempre di linux) e quindi sarebbe meglio soffermarsi su una distro ed impararla bene piuttosto che provarne dieci senza capirne nemmeno una.


Oltretutto anche raccogliere informazioni precise è impresa tutt'altro che semplice e immediata (e sui canali irc sembra che facciano a gara per dare falsi aiuti, utilizzando un linguaggio per molti versi criptato e incomprensibile e rimandando sempre al famoso "man ***", come se con la teoria si capisse tutto).

Qui il tuo migliore amico dev'essere google unito alla tua pazienza e voglia di fare....
sui canali irc...lasciamo perdere perchè su questo hai perfettamente ragione.....

Però, come avrai visto, già su questo forum siamo in tanti che cercano in base alle proprie conoscenze di aiutare dove possibile chi è in difficoltà..

pfaff
11-01-2004, 14:28
Grazie maxithron,
hai centrato nel segno cmq: ho provato quasi tutte le distro e alla fine ho fatto solo confusione.
Ognuna in effetti ha i suoi vantaggi e svantaggi...anche se la debian mi sembra sia un pochino più adatta per un principiante, soprattutto per la sua comodissima funzione apt-get install.
Sulla slack ho perso 30 minuti per installare un sw da 4 mb e alla fine non funzionava (per colpa mia ovvio...).
Credo che per qualche settimana mi fermerò su debian. :p

Evidentemente allora i frequentatori dei canali irc se la tirano un po' sul serio (e mi sono sembrati anche tutt'altro che obiettivi)...


Grazie :)

maxithron
11-01-2004, 14:34
Originariamente inviato da pfaff

Ognuna in effetti ha i suoi vantaggi e svantaggi...anche se la debian mi sembra sia un pochino più adatta per un principiante, soprattutto per la sua comodissima funzione apt-get install.

Grazie :)

Già e tieni presente che comunque se vuoi imparare da Debian, puoi anche "masochisticamente parlando" fare a meno di apt-get ed installarti tutto a mano con i tar.gz e poi passare gran parte delle tue giornate a compilare.

Anche il kernel in debian puoi compilarlo in due modi diversi

Nel metodo Debian che sono davvero due passaggi
Oppure con il metodo tradizionale.

Per quanto mi riguarda, fu proprio questa possibilità di scegliere tra "l'adagiarsi" e "l'impazzire" che mi fecero scegliere questa distro che non ho più abbandonato.

Hrc211v
11-01-2004, 14:36
Originariamente inviato da maxithron

sui canali irc...lasciamo perdere perchè su questo hai perfettamente ragione.....



C'è quello di ano :O

surfab
11-01-2004, 14:57
ciao a tutti in questo thread Mdk 9.2 > Fastweb mega newbieee ho un problema di script simile

magari all'interno di questo thread potete darmi una mano
nn riesco a far partire la mia scheda di rete su distro Mdk 9.2

all'interno del file rc local inserisco
ifconfig eth0 up
dhlocal
il problema e' che il comando nn funziona :cry: :cry: :cry:

mah speriamo

pfaff
11-01-2004, 15:56
Originariamente inviato da Hrc211v
C'è quello di ano :O

E' un canale irc?

Hrc211v
11-01-2004, 16:10
Si

pfaff
11-01-2004, 16:18
Potresti indicare server e nome preciso del canale?

Grazie :)

pfaff
11-01-2004, 17:22
maxithron sbaglio o la directory o file /etc/rc.boot non esiste?
Devo crearlo io?

Potrebbe dipendere dal fatto che la mia è derivata dalla debian (morphix)?

Grazie :)

VICIUS
11-01-2004, 17:39
Originariamente inviato da pfaff
maxithron sbaglio o la directory o file rc.boot non esiste?
Devo crearlo/a io?

Potrebbe dipendere dal fatto che la mia è derivata dalla debian (morphix)?

Grazie :)

debian usa un sistema che si chiama sysv come la maggior parte delle distro. solo slack e derivate usano degli script piu bsd-like.

il procedimento non cambia di molto.

entra in /etc/init.d/ poi crei il solito file e ci metti dentro le istruzioni.

a questo punto usa questo comando:
$ update-rc.d nomefile start 99 1 2 3 4 5 .
occhio al punto finale !
cosi aggiunge il tuo comando in fondo a tutti i runlevel quando il sistema viene avviato. se vuoi capirci un po di piu usa l'imancabile google e man update-rc.d

ciao ;)

pfaff
11-01-2004, 17:56
Grazie VICIUS, provo subito. :)

Hrc211v
11-01-2004, 18:19
Originariamente inviato da pfaff
Potresti indicare server e nome preciso del canale?

Grazie :)

il server è irc.ircland.org

il chan è #linux-world

Ci siamo solo io e l'ano, io non ne so molto; l'ano si, se altri joinassero sarebbe meglio (vicius???:O ) :)

pfaff
11-01-2004, 18:37
VICIUS ci ho provato ma senza successo:
ho creato un mio file nella cartella /etc/init.d/

Il contenuto del file è il seguente:

#!/bin/sh

ifconfig eth0 192.168.0.1 up netmask 255.255.255.0
# route add -net 192.168.0.0 netmask 255.255.255.0 eth0
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_nat
modprobe ipt_MASQUERADE
iptables -t nat -A POSTROUTING -d ! 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -j DROP

Ho anche dato il comando che mi hai indicato ma all'avvio sul client la connessione non è condivisa. :(
Non lo devo far diventare eseguibile con chmod vero?






Originariamente inviato da Hrc211v
il server è irc.ircland.org

il chan è #linux-world

Ci siamo solo io e l'ano, io non ne so molto; l'ano si, se altri joinassero sarebbe meglio (vicius???:O ) :)

Dopo vengo a rompervi un po' le balle con le mie domande. ;) :p

VICIUS
11-01-2004, 18:55
Originariamente inviato da Hrc211v
il server è irc.ircland.org

il chan è #linux-world

Ci siamo solo io e l'ano, io non ne so molto; l'ano si, se altri joinassero sarebbe meglio (vicius???:O ) :)

ma scusa se non mi dite niente io come faccio a sapere che avete aperto un chan in irc. :rolleyes:

magari stasera ci faccio un giro :p

ciao ;)

VICIUS
11-01-2004, 18:56
Originariamente inviato da pfaff
VICIUS ci ho provato ma senza successo:
ho creato un mio file nella cartella /etc/init.d/

Il contenuto del file è il seguente:

#!/bin/sh

ifconfig eth0 192.168.0.1 up netmask 255.255.255.0
# route add -net 192.168.0.0 netmask 255.255.255.0 eth0
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_nat
modprobe ipt_MASQUERADE
iptables -t nat -A POSTROUTING -d ! 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -j DROP

Ho anche dato il comando che mi hai indicato ma all'avvio sul client la connessione non è condivisa. :(
Non lo devo far diventare eseguibile con chmod vero?








Dopo vengo a rompervi un po' le balle con le mie domande. ;) :p

quando hai creato il file hai dato chmod +x nomefile per renderlo eseguibile ?
quando hai dato quel comando che ti ho postato che ti ha ritornato ?

ciao ;)

pfaff
11-01-2004, 23:15
Ho fatto tutto come hai detto ma evidentemente c'è un problema a monte nel mio sistema. :(

Deve andare.

maxithron
12-01-2004, 00:32
Originariamente inviato da pfaff
maxithron sbaglio o la directory o file /etc/rc.boot non esiste?
Devo crearlo io?

Potrebbe dipendere dal fatto che la mia è derivata dalla debian (morphix)?

Grazie :)

si, puoi crearla anche da solo ed eviti di fare il procedimento,anche se tecnicamente più corretto, dell'update-rc.d

pfaff
14-01-2004, 01:12
Tutto risolto.
Ho reinstallato la debian e funziona perfettamente. :)

Grazie a tutti gli intervenuti e in particolare a VICIUS. ;)

pfaff
14-01-2004, 10:27
Ragazzi ma per rendere eseguibile un file quanti modi ci sono?

chmod 755 masq
chmod 700 nomefile
chmod +x nomefile

E' indifferente?

Ciao :)