# Fastweb e dhcp

## The Bard

Scusate la strafaq...

Qualcuno ha i passaggi semplici e veloci per far girare il dhcp per fastweb?

Cioe', ho smanettato come un cretino per giorni, ma "dhcpcd eth0" termina senza esito, ifconfig non serve, e nemmeno esiste /etc/network/interfaces in gentoo...

Una manina?  :Smile: 

----------

## g

premessa: non ho fastweb ma uso anche io il dhcp

ho editato /etc/conf.d/net

ho scommentato iface_eth0="dhcp" e commentato quell'altro sopra...

e poi: rc-update add net.eth0 default

e funziona senza problemi

ADDENDUM: ora che ci penso ho configurato gentoo ad un amico con fastweb, stessa identica cosa, funziona senza problemi

----------

## Peach

 *The Bard wrote:*   

> "dhcpcd eth0" termina senza esito

 

sarebbe a dire?

----------

## The Bard

 *Peach wrote:*   

>  *The Bard wrote:*   "dhcpcd eth0" termina senza esito 
> 
> sarebbe a dire?

 

Sarebbe a dire che parte, mi mette in attesa circa un minuto e poi mi rida' il prompt senza nemmeno darmi l'errore di timeout. E' lecito pensare che sia partito, e invece no... 

Ora provo il metodo di g...

----------

## solka

fai come ha detto g e parte  :Smile: 

----------

## The Bard

 *g wrote:*   

> 
> 
> ho editato /etc/conf.d/net
> 
> ho scommentato iface_eth0="dhcp" e commentato quell'altro sopra...
> ...

 

Ho fatto il tutto e mi ritrovo, in avvio:

"ERROR:   "/etc/init.d/net.eth0" has syntax errors in it; not executing...

Bringing eth0 up...

Failed to bring eth0 up

ERROR:   problem to start the needed services.

         "netmount" was not started.

Starting syslogd, klogd...

Starting local...

Error setting event mask        Device or resource busy"

Ho cuttato un pochino, ma questi sono gli ultimi errori che ricevo, non so se le ultime 5 righe siano rilevanti o siano un problema a se' stante...

Ho guardato /etc/init.d/net.eth0, ma purtroppo capisco ben poco di bash scripting.

Idee?

----------

## Ibanez-RgX

posta /etc/conf.d/net 

anch'io ho configurato fastweb in quel modo alla mia ragazza su gentoo e va senza problemi

----------

## cerri

Allora, The Bard ha fatto bene, se fastweb risponde a canoni standard di dhcp.

Ossia, lanciare

```
# dhcpcd eth0
```

deve funzionare.

Puoi postare una 20 di righe del comando

```
# ifconfig eth0 up

# tcpdump -i eth0
```

????

----------

## The Bard

 *cerri wrote:*   

> Allora, The Bard ha fatto bene, se fastweb risponde a canoni standard di dhcp.
> 
> Ossia, lanciare
> 
> ```
> ...

 

In teoria fastweb segue gli standard, a sentire gli altri...

dhcpcd eth0, come detto, e' muto.

se do

# ifconfig eth0 up && tcpdump -i eth0 > dump.txt

mi ritrovo un file vuoto. Insomma, niente dati scmbiati con l'esterno.

In avvio mi diceva che net.eth0 contiene degli errori e non me lo eseguiva.

Ora il sistema si pianta dopo l'esecuzione di local.start, a quanto avevo visto in casi precedenti, sul tentativo di comunicazione dhcp. Nemmeno arrivo al login. Ora scrivo dal livecd...

Sto davvero impazzendo, sapete che posso fare?  :Sad: 

----------

## The Bard

 *cerri wrote:*   

> Allora, The Bard ha fatto bene, se fastweb risponde a canoni standard di dhcp.
> 
> Ossia, lanciare
> 
> ```
> ...

 

In teoria fastweb segue gli standard, a sentire gli altri...

dhcpcd eth0, come detto, e' muto.

se do

# ifconfig eth0 up && tcpdump -i eth0 > dump.txt

mi ritrovo un file vuoto. Insomma, niente dati scmbiati con l'esterno.

In avvio mi diceva che net.eth0 contiene degli errori e non me lo eseguiva.

Ora il sistema si pianta dopo l'esecuzione di local.start, a quanto avevo visto in casi precedenti, sul tentativo di comunicazione dhcp. Nemmeno arrivo al login. Ora scrivo dal livecd...

Sto davvero impazzendo, sapete che posso fare?  :Sad: 

----------

## solka

ti copio i miei /etc/init.d/net.eth0 e /etc/conf.d/net così spero che vada  :Very Happy: 

```
solka@swamp solka $ cat /etc/conf.d/net

# /etc/conf.d/net:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/conf.d/net,v 1.7 2002/11/18 19:39:22 azarah Exp $

 

# Global config file for net.* rc-scripts

 

# This is basically the ifconfig argument without the ifconfig $iface

#

#iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0"

#iface_eth1="207.170.82.202 broadcast 207.0.255.255 netmask 255.255.0.0"

 

# For DHCP set iface_eth? to "dhcp"

# For passing options to dhcpcd use dhcpcd_eth?

#

iface_eth0="dhcp"

#dhcpcd_eth0="..."

 

# For adding aliases to a interface

#

#alias_eth0="192.168.0.3 192.168.0.4"

 

# NB:  The next is only used for aliases.

#

# To add a custom netmask/broadcast address to created aliases,

# uncomment and change accordingly.  Leave commented to assign

# defaults for that interface.

#

#broadcast_eth0="192.168.0.255 192.168.0.255"

#netmask_eth0="255.255.255.0 255.255.255.0"

 

 

# For setting the default gateway

#

#gateway="eth0/192.168.0.1"

```

```

solka@swamp solka $ cat /etc/init.d/net.eth0

#!/sbin/runscript

# Copyright 1999-2003 Gentoo Technologies, Inc.

# Distributed under the terms of the GNU General Public License v2

# $Header: /home/cvsroot/gentoo-src/rc-scripts/init.d/net.eth0,v 1.28 2003/03/16 08:03:19 azarah Exp $

 

#NB: Config is in /etc/conf.d/net

 

 

# For pcmcia users. note that pcmcia must be added to the same

# runlevel as the net.* script that needs it.

depend() {

        use hotplug pcmcia

}

 

checkconfig() {

        if [ -z "${iface_IFACE}" ]

        then

                eerror "Please make sure that /etc/conf.d/net has \$iface_$IFACE set"

                return 1

        fi

}

 

setup_env() {

        # No reason to check these multiple times in the file

        iface_IFACE="$(eval echo \$\{iface_${IFACE}\})"

        dhcpcd_IFACE="$(eval echo \$\{dhcpcd_${IFACE}\})"

        inet6_IFACE="$(eval echo \$\{inet6_${IFACE}\})"

        alias_IFACE="$(eval echo \$\{alias_${IFACE}\})"

        status_IFACE="$(ifconfig | gawk -v IFACE="${IFACE}" '/Link/ { if ($1 == IFACE) print "up" }')"

}

 

start() {

        local retval=0

 

        setup_env

        checkconfig || return 1

 

        ebegin "Bringing ${IFACE} up"

        if [ "${iface_IFACE}" != "dhcp" ]

        then

                /sbin/ifconfig ${IFACE} ${iface_IFACE} >/dev/null || {

                        retval=$?

                        eend ${retval} "Failed to bring ${IFACE} up"

                        return ${retval}

                }

                # ifconfig do not always return failure ..

                /sbin/ifconfig ${IFACE} &> /dev/null || {

                        retval=$?

                        eend ${retval} "Failed to bring ${IFACE} up"

                        return ${retval}

                }

        else

                # Check that eth0 was not brough up by the kernel ...

                if [ "${status_IFACE}" != "up" ]

                then

                        /sbin/dhcpcd ${dhcpcd_IFACE} ${IFACE} >/dev/null || {

                                retval=$?

                                eend ${retval} "Failed to bring ${IFACE} up"

                                return ${retval}

                        }

                fi

        fi

        eend 0

 

        if [ -n "${alias_IFACE}" ]

        then

                local x=""

                local num=0

                local aliasbcast=""

                local aliasnmask=""

 

                ebegin "  Adding aliases"

                for x in ${alias_IFACE}

                do

                        aliasbcast="$(eval echo \$\{broadcast_${IFACE}\} \| awk \'\{ print \$$((num + 1)) \}\')"

                        if [ -n "${aliasbcast}" ]

                        then

                                aliasbcast="broadcast ${aliasbcast}"

                        fi

 

                        aliasnmask="$(eval echo \$\{netmask_${IFACE}\} \| awk \'\{ print \$$((num + 1)) \}\')"

                        if [ -n "${aliasnmask}" ]

                        then

                                aliasnmask="netmask ${aliasnmask}"

                        fi

 

                        ebegin "    ${IFACE}:${num}"

                        /sbin/ifconfig ${IFACE}:${num} ${x} \

                                ${aliasbcast} ${aliasnmask} >/dev/null

                        num=$((num + 1))

                        eend 0

                done

                save_options "alias" "${alias_IFACE}"

        fi

 

        if [ -n "${inet6_IFACE}" ]

        then

                local x=""

                ebegin "  Adding inet6 addresses"

                for x in ${inet6_IFACE}

                do

                        ebegin "    ${IFACE} inet6 add ${x}"

                        /sbin/ifconfig ${IFACE} inet6 add ${x} >/dev/null

                        eend 0

                done

                save_options "inet6" "${inet6_IFACE}"

        fi

 

        if [ -n "${gateway}" ] && [ "${gateway%/*}" = "${IFACE}" ]

        then

                ebegin "  Setting default gateway"

                # First delete any existing routes if it was setup by kernel ..

                /sbin/route del default dev ${gateway%/*} &>/dev/null

                /sbin/route add default gw ${gateway#*/} dev ${gateway%/*} \

                        netmask 0.0.0.0 metric 1 >/dev/null || {

 

                        local error=$?

                        ifconfig ${IFACE} down &>/dev/null

                        eend ${error} "Failed to bring ${IFACE} up"

                        stop

                        return ${error}

                }

                eend 0

        fi

 

        # Enabling rp_filter causes wacky packets to be auto-dropped by

        # the kernel

        if [ -e /proc/sys/net/ipv4/conf/${IFACE}/rp_filter ]

        then

                echo 1 > /proc/sys/net/ipv4/conf/${IFACE}/rp_filter

        fi

}

 

stop() {

        local myalias="$(get_options alias)"

        local myinet6="$(get_options inet6)"

 

        setup_env

 

        ebegin "Bringing ${IFACE} down"

 

        # Also down the inet6 interfaces

        if [ -n "${myinet6}" ]

        then

                local x=""

                for x in ${myinet6}

                do

                        /sbin/ifconfig ${IFACE} inet6 del ${x} >/dev/null

                done

        fi

 

        # Do some cleanup in case the amount of aliases change

        if [ -n "${myalias}" ]

        then

                local x=""

                local num=0

                for x in ${myalias}

                do

                        /sbin/ifconfig ${IFACE}:${num} down >/dev/null

                        num=$((num + 1))

                done

        fi

 

        if [ "${iface_IFACE}" = "dhcp" ]

        then

                local count=0

                while /sbin/dhcpcd -k ${IFACE} &>/dev/null && [ "${count}" -lt 9 ]

                do

                        # Give dhcpcd time to properly shutdown

                        sleep 1

                        count=$((count + 1))

                done

                if [ "${count}" -ge 9 ]

                then

                        eerror "Timed out trying to stop dhcpcd"

                fi

        else

                /sbin/ifconfig ${IFACE} down >/dev/null

        fi

        eend 0

}

 

 

# vim:ts=4

```

----------

## The Bard

Grazie solka, quando riusciro' a riavviare lo provero', cmq gia' dal diff ho verificato che e' diverso in un bel po' di punti... praticamente tutto!  :Wink: 

----------

## cerri

Si ma non c'entra niente.

Il fatto che il tcpdump sia vuoto e' grave, ossia la tua sk non vede per nulla traffico, quindi neppure il broadcast del server dhcp (e cmq altro broadcast, arp request ecc.).

Non credo che c'entrino i files postati da solka, poiche' sono solo dei "configuratori" mentre mi pare di capire che il tuo problema sia ben altrove...

----------

## solka

scusa, il problema non sta qui?

 *The Bard wrote:*   

> 
> 
> "ERROR: "/etc/init.d/net.eth0" has syntax errors in it; not executing...
> 
> Bringing eth0 up...
> ...

 

cmq boh, tiro solo a indovinare  :Very Happy: 

----------

## cerri

No, perche' quell'errore dice solo che ci sono errori nel file per configurare la sk al boot.

Non so quali sono gli errori, ma i comandi che gli ho fatto lanciare indicano che prima di tutto bisogna vedere come mai la sk non "vede" traffico.

----------

## The Bard

A questo punto vado sul drastico: come posso fare per reinstallare tutti i programmi di rete, resettare gli script di conf (tipo rc e net.eth0) e tutto senza reinstallare il sistema o comunque facendo meno danni possibile?

----------

## cerri

Mmmmhhhh.... mi sembra una domanda un po' troppo "windows" ...  :Razz: 

Posta il tuo net.eth0, ma ripeto: IL PROBLEMA NON E' LI, la tua scheda non vede la rete!

----------

## The Bard

 *cerri wrote:*   

> Mmmmhhhh.... mi sembra una domanda un po' troppo "windows" ... 

 

 :Smile:  Si', lo so, ma visto che il sistema crasha prima di riuscire ad avviare per il dhcp (o almeno cosi' mi pare di aver capito) vorrei togliere lui e net.eth0 dall'esecuzione automatica, deemergerli (almeno il primo, il secondo basterebbe sostituirlo con uno script di un altro con fw) e riemergerli...

 *Quote:*   

> Posta il tuo net.eth0, ma ripeto: IL PROBLEMA NON E' LI, la tua scheda non vede la rete!

 

Lo so che il problema non e' la, ma non so che altro fare, dato che nemmeno posso bootare. Nemmeno sono riuscito a provare l'altro che mi hanno mandato...

Comunque eccolo qua:

```

cdimage root # cat /etc/init.d/net.eth0

#!/sbin/runscript

# Copyright 1999-2003 Gentoo Technologies, Inc.

# Distributed under the terms of the GNU General Public License v2

# $Header: /home/cvsroot/gentoo-src/rc-scripts/init.d/net.eth0,v 1.28 2003/03/16 08:03:19 azarah Exp $

#NB: Config is in /etc/conf.d/net

# For pcmcia users. note that pcmcia must be added to the same

# runlevel as the net.* script that needs it.

depend() {

        use hotplug pcmcia

}

checkconfig() {

        if [ -z "${iface_IFACE}" ]

        then

                eerror "Please make sure that /etc/conf.d/net has \$iface_$IFACE set"

                return 1

        fi

}

setup_env() {

        # No reason to check these multiple times in the file

        iface_IFACE="$(eval echo \$\{iface_${IFACE}\})"

        dhcpcd_IFACE="$(eval echo \$\{dhcpcd_${IFACE}\})"

        inet6_IFACE="$(eval echo \$\{inet6_${IFACE}\})"

        alias_IFACE="$(eval echo \$\{alias_${IFACE}\})"

        status_IFACE="$(ifconfig | gawk -v IFACE="${IFACE}" '/Link/ { if ($1 == IFACE) print "up" }')"

}

start() {

        local retval=0

        setup_env

        checkconfig || return 1

        ebegin "Bringing ${IFACE} up"

        if [ "${iface_IFACE}" != "dhcp" ]

        then

                /sbin/ifconfig ${IFACE} ${iface_IFACE} >/dev/null || {

                        retval=$?

                        eend ${retval} "Failed to bring ${IFACE} up"

                        return ${retval}

                }

                # ifconfig do not always return failure ..

                /sbin/ifconfig ${IFACE} &> /dev/null || {

                        retval=$?

                        eend ${retval} "Failed to bring ${IFACE} up"

                        return ${retval}

                }

        else

                # Check that eth0 was not brough up by the kernel ...

                if [ "${status_IFACE}" != "up" ]

                then

                        /sbin/dhcpcd ${dhcpcd_IFACE} ${IFACE} >/dev/null || {

                                retval=$?

                                eend ${retval} "Failed to bring ${IFACE} up"

                                return ${retval}

                        }

                fi

        fi

        eend 0

        if [ -n "${alias_IFACE}" ]

        then

                local x=""

                local num=0

                local aliasbcast=""

                local aliasnmask=""

                ebegin "  Adding aliases"

                for x in ${alias_IFACE}

                do

                        aliasbcast="$(eval echo \$\{broadcast_${IFACE}\} \| awk \'\{ print \$$((num + 1)) \}\')"

                        if [ -n "${aliasbcast}" ]

                        then

                                aliasbcast="broadcast ${aliasbcast}"

                        fi

                        aliasnmask="$(eval echo \$\{netmask_${IFACE}\} \| awk \'\{ print \$$((num + 1)) \}\')"

                        if [ -n "${aliasnmask}" ]

                        then

                                aliasnmask="netmask ${aliasnmask}"

                        fi

                        ebegin "    ${IFACE}:${num}"

                        /sbin/ifconfig ${IFACE}:${num} ${x} \

                                ${aliasbcast} ${aliasnmask} >/dev/null

                        num=$((num + 1))

                        eend 0

                done

                save_options "alias" "${alias_IFACE}"

        fi

        if [ -n "${inet6_IFACE}" ]

        then

                local x=""

                ebegin "  Adding inet6 addresses"

                for x in ${inet6_IFACE}

                do

                        ebegin "    ${IFACE} inet6 add ${x}"

                        /sbin/ifconfig ${IFACE} inet6 add ${x} >/dev/null

                        eend 0

                done

                save_options "inet6" "${inet6_IFACE}"

        fi

        if [ -n "${gateway}" ] && [ "${gateway%/*}" = "${IFACE}" ]

        then

                ebegin "  Setting default gateway"

                # First delete any existing routes if it was setup by kernel ..

                /sbin/route del default dev ${gateway%/*} &>/dev/null

                /sbin/route add default gw ${gateway#*/} dev ${gateway%/*} \

                        netmask 0.0.0.0 metric 1 >/dev/null || {

                        local error=$?

                        ifconfig ${IFACE} down &>/dev/null

                        eend ${error} "Failed to bring ${IFACE} up"

                        stop

                        return ${error}

                }

                eend 0

        fi

        # Enabling rp_filter causes wacky packets to be auto-dropped by

        # the kernel

        if [ -e /proc/sys/net/ipv4/conf/${IFACE}/rp_filter ]

        then

                echo 1 > /proc/sys/net/ipv4/conf/${IFACE}/rp_filter

        fi

}

stop() {

        local myalias="$(get_options alias)"

        local myinet6="$(get_options inet6)"

        setup_env

        ebegin "Bringing ${IFACE} down"

        # Also down the inet6 interfaces

        if [ -n "${myinet6}" ]

        then

                local x=""

                for x in ${myinet6}

                do

                        /sbin/ifconfig ${IFACE} inet6 del ${x} >/dev/null

                done

        fi

        # Do some cleanup in case the amount of aliases change

        if [ -n "${myalias}" ]

        then

                local x=""

                local num=0

                for x in ${myalias}

                do

                        /sbin/ifconfig ${IFACE}:${num} down >/dev/null

                        num=$((num + 1))

                done

        fi

        if [ "${iface_IFACE}" = "dhcp" ]

        then

                local count=0

                while /sbin/dhcpcd -k ${IFACE} &>/dev/null && [ "${count}" -lt 9 ]

                do

                        # Give dhcpcd time to properly shutdown

                        sleep 1

                        count=$((count + 1))

                done

                if [ "${count}" -ge 9 ]

                then

                        eerror "Timed out trying to stop dhcpcd"

                fi

        else

                /sbin/ifconfig ${IFACE} down >/dev/null

        fi

        eend 0

}

# vim:ts=4

```

----------

## koma

The Bard controlla nel kernel se nelle opzioni di network hai messo il supporto dhcp =) io ho sklerato 2 gg così poi ho scoperto ke nn avevo messo il supporto   :Embarassed: 

Comunque capita spesso

----------

## maur8

Per togliere un servizio dall'avvio automatico esegui da root 

```
rc-update del service_name
```

Non serve unmerg-are i pacchetti.

----------

## The Bard

 *koma wrote:*   

> The Bard controlla nel kernel se nelle opzioni di network hai messo il supporto dhcp =) io ho sklerato 2 gg così poi ho scoperto ke nn avevo messo il supporto

 

Supporto dhcp? E dove, scusa?

----------

## solka

Sotto networking options

```
 │                                             <*> Packet socket                                                                                    │ │

  │ │                                             [ ]   Packet socket: mmapped IO                                                                      │ │

  │ │                                             < > Netlink device emulation                                                                         │ │

  │ │                                             [ ] Network packet filtering (replaces ipchains)                                                     │ │

  │ │                                             [*] Socket Filtering                                                                                 │ │

  │ │                                             <*> Unix domain sockets                                                                              │ │

  │ │                                             [*] TCP/IP networking                                                                                │ │

  │ │                                             [*]   IP: multicasting                                                                               │ │

  │ │                                             [ ]   IP: advanced router                                                                            │ │

  │ │                                             [*]   IP: kernel level autoconfiguration                                                             │ │

  │ │                                             [*]     IP: DHCP support                                                                             │ │

  │ │                                             [*]     IP: BOOTP support                                                                            │ │

  │ │                                             [ ]     IP: RARP support                  
```

----------

## cerri

Quell'opzione non serve. Tutto quello sotto "IP: kernel level autoconfiguration    " non e' necessario.

The Bard, puoi postare il tuo dmesg?

----------

## g

 *The Bard wrote:*   

> 
> 
> Ho fatto il tutto e mi ritrovo, in avvio:
> 
> "ERROR:   "/etc/init.d/net.eth0" has syntax errors in it; not executing...
> ...

 

Quell'ERROR arriva dalla funzione setup_env() in /etc/init.d/net.eth0, visto che te lo da prima di dirti "Bringing eth0 up..."

----------

## The Bard

 *cerri wrote:*   

> Quell'opzione non serve. Tutto quello sotto "IP: kernel level autoconfiguration    " non e' necessario.
> 
> The Bard, puoi postare il tuo dmesg?

 

Attualmente, no. Non posso nemmeno bootare. Il mio dmesg, comunque, e' stato sovrascritto chrootando in hda dal livecd, quindi non si puo' nemmeno recuperare.

Un Bardo che ora affianca una Debian...

----------

## koma

l'ha postato solka  :Smile:  The Bard

----------

## cerri

?

Dove?

----------

## The Bard

 *g wrote:*   

> Quell'ERROR arriva dalla funzione setup_env() in /etc/init.d/net.eth0, visto che te lo da prima di dirti "Bringing eth0 up..."

 

E quindi? Cosa devo modificare e dove?

Scusa, ma sono GNUrante...

----------

## paolo

Esiste questa scheda per il kernel?

La riesci a tirar su con ifconfig dandogli un ip casuale?

ByEZz,

Paolo

----------

## kali

secondo me il problema sta nei driver della ethernet

il driver lo hai complilato nel kernel ?

oppure, hai caricato il modulo ?

il file /etc/conf.d/net è corretto

cmq "dhcpd eth0"  deve funzionare, anche perchè in effetti è quello che fa lo script /etc/init.d/net.eth0 con il file di configurazione precedente

ps 

sono utente FW

----------

## paolo

Ma se il liveCd funziona... analizzalo per bene!  :Smile: 

ByEZz,

Paolo

----------

## The Bard

 *paolo wrote:*   

> Ma se il liveCd funziona... analizzalo per bene! 

 

E' cio' che ho fatto, utilizzando tutti i file di conf che ho trovato li', andando di dmesg, log e varie, pero' nulla...

La scheda e' una Realtek che funziona coi driver del 2.4.20-xfs del livecd, li ho caricati nel kernel 2.4.21 (non in modulo)... Non so che altro tentare...

Comunque in questi giorni sono un po' occupato, riproporro' il problema a giorni...  :Smile: 

----------

