View Full Version : problemi con /network/interfaces + altre domande sulla rete
TrunksSsj
19-01-2010, 20:21
ciao raga sto provando a mettere su da capo il mio home server, seguitemi un attimo se avete pazienza. ho una debian squeeze
prima cosa ho settato con ifconfig eth0 192.168.0.1 la scheda di rete
ho installato pppd e configurato con ppoeconf
ho installado dhcp3d e configurato a mano dhcpd.conf
gli altri pc di casa vedono la rete, prendono l'ip dal dhcp ma non si riesce a navigare in internet dagli altri pc il lan. come mai?
altra cosa. al riavvio del server non funziona più niente, ho controllato e in effetti l'ip non era fissato staticamente
ho editato /etc/network/interfaces, ora è esattamente così:
auto lo
iface lo inet loopback
pre-up /sbin/ifconfig eth0 up
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
auto dsl-provider
iface dsl-provider inet ppp
provider dsl-provider
vorrei soltanto ke quando il server si accendesse fosse impostato su 192.168.0.1, in modo che il dhcp funzioni (ora da errore al boot infatti), e che la connessione a internet si attivasse automaticamente e si condividesse per tutta la mia lan, ma questo non avviene... dopo il boot faccio ifconfig e la eth0 è up ma senza ip assegnato, dhcp non va, non sono connesso ovviamente a internet. chi mi sa spiegare dove sbaglio? grazie e scusate l'ignoranza
Gimli[2BV!2B]
19-01-2010, 23:04
Premessa, io non uso ppp, quindi potrebbero mancare dei concetti, ma ti propongo una traccia.
Stando ai dati che hai fornito questo è il file che creerei:auto lo eth0 dsl-provider
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
iface dsl-provider inet ppp
provider dsl-providerPer attivare la navigazione dalla rete interna prova questi comandi:modprobe ipt_MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables –A FORWARD –o dsl-provider –i eth0 –j ACCEPT
iptables –t nat –A POSTROUTING –o dsl-provider –i eth0 –j MASQUERADESe funzionano dovranno finire in uno script da salvare in /etc/ppp/ip-up.d/
Esempio, nome file /etc/ppp/ip-up.d/masquerade:#! /bin/sh
IPTABLES="/sbin/iptables"
PPP_INTERFACE="dsl-provider"
INTERNAL_INTERFACE0="eth0"
/sbin/modprobe ipt_MASQUERADE
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
$IPTABLES –A FORWARD –o $PPP_INTERFACE –i $INTERNAL_INTERFACE0 –j ACCEPT
$IPTABLES –t nat –A POSTROUTING –o $PPP_INTERFACE –i $INTERNAL_INTERFACE0 –j MASQUERADE
Ricordati di renderlo eseguibile:
chmod +x /etc/ppp/ip-up.d/masquerade
TrunksSsj
20-01-2010, 08:49
ciao! anke io sono di parma! cmq ascolta ho visto ke hai sato iptables, io solitamente uso come firewall uno script fatto con iptables che solitamente metto in init.d. è compatibile con tutto questo?
ps piccola curiosità xkè a volte ho riscontrato un comportamento non omogeneo, tutto ciò che è in init-d viene automaticamente eseguito all'avvio?
TrunksSsj
20-01-2010, 14:33
ho copiato il mio vecchio network/interfaces al posto del nuovo e ora l'ip statico va
ho configurato pppd e al boot va
veniamo ora al dhcpd3...
quando tento di accedere alla lan da un altro pc viene dato l'ip (anke se viene dato 192.168.0.30 e non capisco xkè. in un precedente dhcpd.conf in effetti il range partiva da 30 ma ora l'ho messo a partire da 10! e ovviamente ho riavviato il servizio!)
ovviamente nella configurazione del dhcp ho specificato i dns (di alice, quelli ke usavo prima). insomma a parte l'ip xxx.30 il pc (windows) è in rete, sa a che dns rivolgersi ma di andare in internet nn ne vuole sapere, credo ke vada in dnserror. perchè???
TrunksSsj
20-01-2010, 14:58
scusate i post multipli, ho risolto. ho implementato le funzioni di routing e di forwarding con iptables, innalzando anche un firewall nel frattempo
però non so come fare in modo che questo script (che ho chiamato firewall e ho piazzato in init.d) parta automaticamente all'avvio. mi avevano detto che tutto ciò che è in init.d parte da solo al boot!:help:
a proposito mi date un parere sul mio script?
#! /bin/sh
iptables -F
iptables -t nat -F
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ! eth0 -j MASQUERADE
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i ! eth0 -m state --state ! ESTABLISHED -j DROP
iptables -A FORWARD -i ! eth0 -m state --state ! ESTABLISHED -j DROP
Gimli[2BV!2B]
20-01-2010, 19:22
Un altro parmigiano! :) Di recente ne son passati altri di qua.
Uno script init te lo sconsiglio, principalmente per tre motivi:
bisogna fare in modo che venga eseguito subito dopo la configurazione delle interfacce di rete
occorre rispettare alcune regole specifiche della distribuzione che si utilizza (vedi /etc/init.d/skeleton in Debian e co.)
credo che l'interfaccia ppp sia ballerina, quindi lo script andrebbe eseguito ogni volta che si configura (ma potrebbe essere solo una mia convinzione, come ti ho detto non l'ho mai usata)
Come ti ho già suggerito proverei a metterlo in /etc/ppp/ip-up.d/
Ti consiglio di specificare i percorsi completi degli eseguibili (in teoria solo quelli in sbin) perché, se non sbaglio, nelle shell che invocano questi script la variabile PATH (http://en.wikipedia.org/wiki/PATH_%28variable%29) è limitata (oltre alle considerazioni di sicurezza).
Le regole dello script che hai scritto impediranno qualsiasi connessione su interfacce diverse da eth0 ed lo, su qualsiasi porta, a meno che non sia stato tu a chiamare. Poi, naturalmente, c'è il nat per la rete interna.
Io di solito ragiono in modo esattamente speculare, senza not e con default DROP, quindi trovo più scomoda ed acrobatica la modifica di queste regole, ma forse è solo una questione di abitudine...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.