# [SOLVED] [dhcp]eth0 brak uruchamiania przy starcie

## jodri

Mecze sie z uruchomieniem startu karty sieciowej eth0. Karta to: 

 *Quote:*   

> 00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3)
> 
> 

 Sterownik wkompilowany na stale w kernel. Uzywam jadra 2.6.31-gentoo-r2 #4 SMP  jak rowniez  baselayout-2 .

Oczywiscie zrobilem dowiazanie: 

```
# cd /etc/init.d

# ln -s net.lo net.eth0
```

Dodalem tez na poziom uruchomieniowy net.eth0 (default).

Problem polega na tym, iz po starcie systemu nie moge korzystac z internetu. Wynik polecenia route po starcie systemu: 

```
ocalhost jodri # route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.0     *               255.255.255.0   U     2      0        0 eth0

loopback        -               255.0.0.0       !     0      -        0 -

loopback        localhost       255.0.0.0       UG    0      0        0 lo

```

a co ciekawe po ponownym recznym uruchomieniu: net.eth0 restart:

```
localhost jodri # route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.0     *               255.255.255.0   U     2      0        0 eth0

loopback        -               255.0.0.0       !     0      -        0 -

loopback        localhost       255.0.0.0       UG    0      0        0 lo

default         192.168.2.1     0.0.0.0         UG    2      0        0 eth0

```

dziala bez problemu. Doradzcie co mam zrobic aby nie bylo koniecznosci recznego uruchamiania, tylko aby interfejs eth0 podnosil sie przy starcie.

moj plik /etc/conf.d/net:

```
config_eth0=( "dhcp" )

```

Uzywam dhcpcd 5.1.2. Jezeli beda potrzebne dodatkowe dane, oczywiscie je podam.Last edited by jodri on Fri Oct 23, 2009 2:45 pm; edited 1 time in total

----------

## Bialy

```
routes_eth0=( "default via 192.168.2.1" )
```

ale czemu sam routinu nie dodaje to nie wiem.

--EDIT--

A pokaż:

```
cat /etc/conf.d/net
```

----------

## Crenshaw

jesli chcesz tylko dhcp to nie musisz nic pisac w /etc/conf.d/net

----------

## Zwierzak

dispatch-conf wykonywany lub inny etc/cfg-update? U mnie właśnie to ostatnio było problemem.

----------

## jodri

Biały: Moj /etc/conf.d/net

```
config_eth0=( "dhcp" )

```

Wg mnie wyglada prawidlowo. 

Zwierzak: tak dispatch-conf wykonany, mam zaktualizowane pliki konfiguracyjne w /etc

Na moje oko cos nie tak mam z druga linijka w tablicy routingu.

```
Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.2.0     *               255.255.255.0   U     2      0        0 eth0

loopback        -               255.0.0.0       !     0      -        0 -

loopback        localhost       255.0.0.0       UG    0      0        0 lo

```

Moglby mi ktos ja wytlumaczyc?

Jak bede w domku to sprobuje jeszcze dopisac routing wg rady Bialego.

----------

## jodri

Okazalo sie, iz wraz z Openrc 0.5.x pojawily sie zmiany w konfiguracji interfejsow sieciowych. Mozna zostac po staremu (uzywajac flagi oldnet) lub zmienic ustawienia.

W moim przypadku pomoglo: 

```

# rm /etc/conf.d/net

# rm /etc/init.d/net.lo

# rm /etc/init.d/net.eth0

# rc-update del net.lo boot

# rc-update del net.eth0
```

oraz upewnienie sie z dhcpcd jest na domyslnym poziomie uruchomieniowym. 

Podaje namiary stronki, która mi pomogła: http://gentoo-quebec.org/wiki/index.php/500-Entretien:Migration_vers_openrc_0.5.x_Gentoo (niestety w  języku francuskim).

----------

## SlashBeast

Wywalenie net.lo to skrajnie bardzo głupi pomysł. Nie wiem jak w gentoo ale w funtoo znacznie wczesniej bylo openrc z 'innym' konfigiem sieci, jezeli to ten sam co Robbins wprowadzil w funtoo to obczaj http://funtoo.org/en/funtoo/networking/.

----------

## jodri

Od wersji openrc 0.5.1 zmienily sie ustawienia. Mozna to przesledzic chocby tu: https://forums.gentoo.org/viewtopic-t-796647-highlight-wicd.html

Nie uwazam, ze wyrzucenie net.lo to glupi pomysl (swoja droga zrobilem sobie wpierw jego kopie).

----------

## SlashBeast

nie podnoszenie lo interface z 127.0.0.1 to BARDZO glupi pomysl i bede dalej tak twierdzil.

----------

## Zwierzak

Wywalenie net.lo to bardzo głupi pomysł, przez tydzień się zastanawiałem dlaczego mi cups i lighttpd nie działa na kompie pomimo postawienia i dopiero dodanie net.lo do boota naprawiło ten problem.

----------

## jodri

Interferjs lo podnosi sie teraz za pomoca dhcpd, nie mam zadnych innych uslug sieciowych. Na razie wszystko dziala OK.

----------

## SlashBeast

dhcp podnosi lo? Wez zapodaj co zwraca "/sbin/ifconfig lo".

----------

## Zwierzak

Jak dla mnie to nienormalne, jak pierwszy raz zainstalowałem openrc 0.5.0 to i tak pojawił się plik net.lo (wiem, bo go bez problemu linkowałem). Dhcpcd jest jak dla mnie przeznaczony dla interfejsów na których jest dhcp, a lo zawsze otrzymuje 127.0.0.1.

Zdziwiła mnie rezygnacja Gentoo z klasycznych skryptów, po co mi na stacjonarnym kompilować NetworkManager lub wicd kiedy i tak wiem, że komputer będzie podłączony tylko po kablu do internetu.

----------

## jodri

Slashbeat: prosze bardzo:

```
ifconfig lo

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

```

Zwierzak: tymi zmianami sam byłem zaskoczony. Z tego co wyczytalem to dopiero od wersji openrc  0.5.x.  Jezeli masz stale IP to tez bez problemu

mozna to ustawic bez Network Managera lub wicd. Tu masz przykład:

```
#!/sbin/runscript

# Copyright 2009 Funtoo Technologies, LLC

# All rights reserved. Released under the 2-clause BSD license.

IP=192.168.0.10

NM=255.255.255.0

GW=192.168.0.1

INT=eth0

DOM=example.org

NS1=a.b.c.d

NS2=e.f.g.h

depend() {

        provide net

#        after net.lo

        after network 

}

start() {

        ebegin "Bringing up network interface $INT"

        ifconfig $INT $IP netmask $NM up && \

        route add default gw $GW $INT && \

        resolvconf -a $INT << EOF

domain $DOM

nameserver $NS1

nameserver $NS2

EOF

        eend $?

}

stop() {

        ebegin "Shutting down network interface $INT"

        resolvconf -d $INT && \

        route del default gw $GW $INT && \

        ifconfig $INT down

        eend $?

}

```

 Pozniej oczywiscie:

```
 rc-update add net.eth0 default 
```

 Plik net z /etc/init.d zostal zastapiony plikiem: network

Slashbeat: zauwaz iz net.lo jest zachaszowany oraz zalecany skrypt pochodzi wlasnie z Funtoo. 

Oczywiscie mozna nic nie zmieniac i zostawic  stare skrypty startowe kompilujac: openrc z flaga oldnet.

----------

## SlashBeast

No to jezeli wlaczono funtoo-netscripts do openrc to co prawda do net.lo juz nie linkujemy nic, ale powinno byc z mniej wiecej taka zawartoscia:

```
#!/sbin/runscript

# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>

# All rights reserved. Released under the 2-clause BSD license.

depend() {

        provide net

}

start() {

        ebegin "Bringing up network interface lo"

        ifconfig lo 127.0.0.1 netmask 255.0.0.0 up && \

        route add -net 127.0.0.0 netmask 255.0.0.0 dev lo

        eend $?

}

stop() {

        ebegin "Shutting down network interface lo"

        route del -net 127.0.0.0 netmask 255.0.0.0 dev lo &&

        ifconfig lo down

        eend $?

}
```

----------

## jodri

SlashBeast: masz racje, wiem iz interfejs lo jest potrzebny do poprawnej pracy.  Przyznaje sie, prawdopodobnie pomylilem sie ze stwierdzeniem faktu iz to teraz interfejs lo podnosi dhcp. Prawdopodobnie czyni to inny skrypt. Z ciekawosci :

```
rc-update show

            killprocs |                                shutdown       

               sysctl |         boot                                  

         termencoding |         boot                                  

              keymaps |         boot                                  

                 udev | sysinit                                       

               dhcpcd |                        default                

                dmesg | sysinit                                       

           vixie-cron |                        default                

                 fsck |         boot                                  

                devfs | sysinit                                       

                 swap |         boot                                  

              modules |         boot                                  

          consolefont |         boot                                  

            syslog-ng |                        default                

             mount-ro |                                shutdown       

                 mtab |         boot                                  

            savecache |                                shutdown       

              hwclock |         boot                                  

             hostname |         boot                                  

             netmount |                        default                

                  xdm |                        default                

                 hald |                        default                

              numlock |                        default                

              network |         boot                                  

           ntp-client |                        default                

              urandom |         boot                                  

                local |              nonetwork default                

             bootmisc |         boot                                  

               procfs |         boot                                  

                 root |         boot                                  

            alsasound |         boot                                  

           localmount |         boot                                  

```

Tak wyglada to u mnie. Leszcz szczerze mowiac nie wiem ktory z w/w podnosi lo. 

Zwierzak: zamiast skryptu z funtoo, do statytycznego ustawienia eth0 mozna uzyc /etc/conf.d/network

----------

## c2p

/etc/init.d/network:

```
...

    einfo "Starting network"

    routeflush

    if [ "$RC_UNAME" = "Linux" ]; then

        ifconfig lo 127.0.0.1 netmask 255.0.0.0 || cr=1

        route add -net 127.0.0.0 netmask 255.0.0.0 \

            gw 127.0.0.1 2>/dev/null

        route add -net 127.0.0.0 netmask 255.0.0.0 \

            gw 127.0.0.1 reject 2>/dev/null

    else

...
```

----------

## jodri

Dzieki, C2p i wszysto stało sie jasne  :Smile: 

----------

