Portál AbcLinuxu, 6. května 2025 11:47

Dotaz: Nelogické chování 2 síťovek přes /etc/network/interfaces

1.3.2008 22:29 zbycz | skóre: 5
Nelogické chování 2 síťovek přes /etc/network/interfaces
Přečteno: 724×
Odpovědět | Admin

Dobrý den,
chtěl bych vás požádat o radu ve velmi kurióznímu problému. Na Debianu testing jsem měl jednu 10mbps síťovku eth0, která byla nakonfigurována při instalaci a funguje bez problémů. Nyní jsem si přidal (v pořadí 3. 100mbps) síťovku a tu se mi nedaří nakonfigurovat tak aby viděla do internetu.

Nastavení:
Síť: Obě síťovky jsou připojeny do jednoho switche, do internetu jdu z celé domácnosti přes bránu 10.51.27.1.

# cat /etc/network/interfaces
iface eth0 inet static
  address 10.51.27.117
iface eth2 inet static
  address 10.51.27.202
+ u obou shodný: gateway, network, netmask a broadcast

# ifconfig
eth0      Link encap:Ethernet  HWadr 00:10:4b:b6:74:af
          inet adr:10.51.27.117  Všesměr:10.51.27.255 Maska:255.0.0.0
eth2      Link encap:Ethernet  HWadr 00:4f:4e:61:58:09
          inet adr:10.51.27.202  Všesměr:10.51.27.255 Maska:255.0.0.0

# lshw
*-network:0
     product: 3c900B-Combo Etherlink XL [Cyclone]            
     logical name: eth0
     size: 10MB/s
*-network:1
     product: 3c905B 100BaseTX [Cyclone]
     logical name: eth3
     size: 100MB/s

Popis stavu:
Když mám po rebootu zaplé oba interfacy, eth3 i eth0 se chovají jako by oba byly na stovkové síťovce (ikdyž někdy se stalo, že byly oba na desítkové) -> z jiného počítače mi arp vrací na obě IPky stejnou MAC. Do internetu se ovšem dostanu pouze skrz eth3 (ping -I eth3), přestože route je pro pro obě eth stejný a správný. (!?)

Když z allow-auto vyhodím eth0 a reboot, nefunguje internet vůbec. Tedy dostanu se pouze skrz zapnutý eth3 do vnitřní sítě - brána mi už neodpoví. Z jiného počítače se všechno jeví dle očekávání

Po ifup eth0 && ifdown eth0 se eth0 nevypne. Z jiného počítače je ARPem na obě eth MAC stovkové karty. Internet ale nefunguje.

Vlastní postřehy:

Pavel Zbytovský
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

michich avatar 1.3.2008 22:41 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevadí, že obě síťovky jsou připojeny do jedné sítě a obě mají stejnou gateway?
Vadí. Neuvedl jsi, co máš v routovací tabulce. Nejspíš by to z ní bylo hned jasné.
Ifconfig nepoužívám na nastavování, takže spoléhám na interfaces. Program ip nemůžu najít v systému ani v aptu.
Balík iproute.
Ještě odbočka, nevíte prosím kde lze změnit přiřazení ethX vs. MAC?
/etc/udev/rules.d/*persistent-net.rules
2.3.2008 00:40 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
1) V tomhle případě mám obě eth zapnuté a podle MAC se obě vyskytují na stovkové kartě.
# route
Směrovací tabulka v jádru pro IP
Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
localnet        *               255.0.0.0       U     0      0        0 eth3
localnet        *               255.0.0.0       U     0      0        0 eth0
default         10.51.27.1      0.0.0.0         UG    0      0        0 eth0
default         10.51.27.1      0.0.0.0         UG    0      0        0 eth3
2) Díky moc. Říkal jsem si jestli by tam nemohly být omylem nějaké eth0:1, apod, ale všechny výpisy jsou podle očekávání

3) Díky, našel jsem tam ten soubor bez "*", tam jsem se dočetl, že v /etc/udev/rules.d/z25_persistent-net.rules bych měl něco zapsat pro uchování. Nic jako "MAC vs. eth0,1,2,3" tabulku jsem nenašel. Ale to mě zrovna trápí nejméně.
2.3.2008 16:13 zbycz | skóre: 5
Rozbalit Rozbalit vše Změna! Jak vyřešit nefungující jednu síťovku?
Tak jsem celý problém trochu přehodnotil, dvě síťovky jsou asi moc komplexní a ještě tam mohl být problém v tom routování.

Nyní mám zapojenou jednu síťovku 100mbps(eth3) - 10.51.27.117 a nedaří se mi pingnout bránu.
# ping 10.51.27.1
PING 10.51.27.1 (10.51.27.1) 56(84) bytes of data.
From 10.51.27.117 icmp_seq=2 Destination Host Unreachable
From 10.51.27.117 icmp_seq=3 Destination Host Unreachable
From 10.51.27.117 icmp_seq=4 Destination Host Unreachable

--- 10.51.27.1 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2999ms, pipe 3
Nastavení je stejné jako v prvním příspěvku, jen jsem v interfaces zakomentoval řádky příslušející eth0. Výpis routu je pro eth3 také stejný. Nejvíce mě zaráží, že eth3 má nachlup stejné nastavení jako měla eth0, ale nefunguje..

Problém mi připadá povědomý, díky za každou radu
2.3.2008 16:49 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Změna! Jak vyřešit nefungující jednu síťovku?
Jestli ten výpis souboru /etc/network/interfaces je celý a přesný, tak vidím dvě chyby - a) je tam nastavení pro eth2, ale ty máš síťovku eth3

b) před iface eth3 inet static by mělo být o řádek výš ještě auto eth3

Pokud to opravíš (nebo je to v pořádku), ale stále to fungovat nebude, tak pošli výpisy ip addr, ip link a ip route, třeba se ještě něco objeví.
Quando omni flunkus moritati
2.3.2008 17:19 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Změna! Jak vyřešit nefungující jednu síťovku?
Tak interfaces byly dobře, omlouvám se nahoře jsem pastnul starší výpis. Ping teď nehlásí už ani Host Unreachable, ale prostě nic nevypíše.
# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth3
iface eth3 inet static
address 10.51.27.117
netmask 255.0.0.0
gateway 10.51.27.1
network 10.51.27.0
broadcast 10.51.27.255

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:50:da:12:59:83 brd ff:ff:ff:ff:ff:ff
    inet 10.51.27.117/8 brd 10.51.27.255 scope global eth3
    inet6 fe80::250:daff:fe12:5983/64 scope link
       valid_lft forever preferred_lft forever

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:50:da:12:59:83 brd ff:ff:ff:ff:ff:ff

# ip route
10.0.0.0/8 dev eth3  proto kernel  scope link  src 10.51.27.117
default via 10.51.27.1 dev eth3


2.3.2008 17:51 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Změna! Jak vyřešit nefungující jednu síťovku?
Zkuste ping -n ip_adresa, ať se ping nepokouší přes DNS překládat IP adresy na názvy – možná se čeká na DNS timeout.
2.3.2008 19:04 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Změna! Jak vyřešit nefungující jednu síťovku?
To také nefunguje, zkrátka nedostanu se mimo svou síť. Mě přijde, že tam je něco opravdu jednoduchého. Něco jako maska sítě .. ale je správně.
Asi mi nakonec nezbyde nid jiného než celý debian přeinstalovat :-/
2.3.2008 19:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Změna! Jak vyřešit nefungující jednu síťovku?
Nefunguje znamená co? ping nic nevypíše a ukončí se, nebo nedostane odpověď, něco jiného… Můžete ještě zkusit tcpdump -ni eth3 'proto \icmp' na počítači, kde to zkoušíte, a na počítači, na který zkoušíte ping – uvidíte, jestli ze síťové karty alespoň nějaké pakety odcházejí, případně zda druhý počítač nějaké pakety dostane.
2.3.2008 19:36 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Změna! Jak vyřešit nefungující jednu síťovku?
Vyřešeno!

Tak díky vašemu návrhu jsem došel k řešení. Jsem v rozsáhlé síti, přičemž naše domácnost je připojena přes wifi. Celou dobu jsem si říkal, že v lokální síti karta funguje, ale nedostane se přes bránu. Tuto skutečnost jsem odvozoval ale pouze z pingání naší domácnosti a ne zbytku sítě za wifi. Ano, chyba byla ve wifi AP, které si z nějakého důvodu někde něco pamatovalo a tak po restartu AP už to chodí dobře.

Tenhle problém se síťovkama řeším bezradně už téměř měsíc, dokonce jsem to řešil se svým providerem, který mi ovšem vehementně tvrdil, že nikde po cestě se nic nekešuje a že když mi to chodí na widlích, tak mám asi něco blbě nakonfigurováno. :o) Na abclinuxu jsem se odhodlal napsat až po bezesné konfigurační noci :)

Díky moc všem za ochotu poradit, ještě se určitě někdy ukážu :) a dávejte pozor na Pe3ny.net a AP Ovislink Airlive... :-)
2.3.2008 19:21 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Změna! Jak vyřešit nefungující jednu síťovku?
iface eth3 inet static
address 10.51.27.117
netmask 255.0.0.0
gateway 10.51.27.1
network 10.51.27.0
broadcast 10.51.27.255
Tohle je divný. Podle network a broadcast má síť 24bitovou masku, ale netmask je nastaveno jenom na 8 bitů. Podle mě je to chyba a maska by měla asi být nastavena na 255.255.255.0, ale zároveň bych neřekl, že tahle chyba způsobuje problémy.
Quando omni flunkus moritati
2.3.2008 19:40 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Změna! Jak vyřešit nefungující jednu síťovku?
Díky za upozornění, o tomhle vím, ale když jsme před několika lety konfigurovali widle, provider povídal, že maska není v naší síti důležitá.

Problém byl opravdu jinde, viz příspěvek 21
1.3.2008 22:52 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ifconfig nepoužívám na nastavování, takže spoléhám na interfaces
Ten skript, který podle interfaces nastavuje ty síťovky, používá ifconfig.
Quando omni flunkus moritati
2.3.2008 00:42 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
Aha, díky za info. Bylo mi řečeno, že interfaces jsou ty správné (stejně jako "ip link") a že ifconfig může zlobit.
2.3.2008 01:03 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
Ano, interfaces je ty správné, ale ten program je prostě zastaralý (prostě Debian), takže proto používá ifconfig. Jinak správně je samozřejmě ip link, ip addr a ip route, to je pravda.
Quando omni flunkus moritati
2.3.2008 16:28 Creckx | skóre: 23 | blog: cxblog | Lanškroun
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
Odpovědět | | Sbalit | Link | Blokovat | Admin

Začnu od začátku. Proč chceš mít dvě síťovky ve stejný podsíti?

Nevadí, že obě síťovky jsou připojeny do jedné sítě a obě mají stejnou gateway?

Nemělo by, ale je to zbytečné..

Mé očekávání bylo, že každá IPka bude mít odpovídající MAC a z obou eth se dostanu *nezávisle* do internetu.

IP adresy nemají MAC :) Z obou eth by si se při správném nastavení měl dostat do netu, ale je to takové divné.. snad to vysvětlíš :)

Ifconfig nepoužívám na nastavování, takže spoléhám na interfaces. Program ip nemůžu najít v systému ani v aptu.

man ip jak už psali ostatní, teprve potom můžeš testovat /etc/network/interfaces

Ještě odbočka, nevíte prosím kde lze změnit přiřazení ethX vs. MAC?

Jako změnit mac na síťovce nebo při bootu určit, která síťovka bude mít jaký ethX?

Můj blog Pokud máte taky blog, můžeme vyměnit odkazy :)
2.3.2008 16:46 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
1) No, to vlastně ani nechci, byl to jen takový mezistav, kdy jsem se na jedné dostal do netu a druhá 100mbit -- o kousek výše jsem rozepsal aktuální problém s jednou síťovkou.

2) To bylo myšleno, jako že "arp ip1" mi dá "mac1" a "arp ip2" mi dá "mac2". :) Ano z obou eth bych se chtěl dostat do internetu, ale funguje jen eth0 se kterým jsem to nainstaloval.

3) To úplně nechápu, teď používám ip link, ip addr a ip route pro kontrolu co se mi tam tropí za úlety. Nastavovat by mělo stačit pouze přes interfaces, ne?

4) Při bootu určit, která síťovka má které ethX. Vím, že to jde forcnout v interfaces, ale už teď musí být někde v systému určeno že mac0=eth0, ..., mac3=eth3, neboť když zapojím již dříve zapojenou síťovku, dostane stejné eth jako předtím a nová asi dostane eth4.
2.3.2008 16:51 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
Ad 4: to obvykle řeší udev. Mám pocit, že někdy v průběhu minulého týdne se tu na toto téma objevilo FAQ, které je navíc psané hodně debian-centricky.
2.3.2008 16:54 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
4) Při bootu určit, která síťovka má které ethX. Vím, že to jde forcnout v interfaces, ale už teď musí být někde v systému určeno že mac0=eth0, ..., mac3=eth3, neboť když zapojím již dříve zapojenou síťovku, dostane stejné eth jako předtím a nová asi dostane eth4.
Je to napsané hned v prvním příspěvku - nastaví se to v souboru /etc/udev/rules.d/z25_persistent-net.rules, všechny síťovky, které jsi kdy v tom počítači měl, by tam měly být zapsané automaticky.

Pokud ne, příklad ode mě:
$ cat /etc/udev/rules.d/z25_persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# MAC addresses must be written in lowercase.

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:50:fc:c2:aa:31", NAME="eth0"
Podstatné jsou hodnoty ATTRS a NAME - jméno rozhraní se nastaví podle MAC adresy toho rozhraní.
Quando omni flunkus moritati
2.3.2008 17:04 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
Skvělý, to je ono díky moc, to jsem hledal! Včera jsem ten soubor nějak přehlédl a díval jsem se špatně do z45_persistent-net-generator.rules. Omlouvám se, moje chyba.
2.3.2008 17:12 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
3) To úplně nechápu, teď používám ip link, ip addr a ip route pro kontrolu co se mi tam tropí za úlety. Nastavovat by mělo stačit pouze přes interfaces, ne?
interfaces používá interně ifconfig a route, takže nemůže umět nic víc, než ifconfig+route. Zrovna v případě, kdy chcete mít dvě rozhraní do jedné sítě, budete asi potřebovat určit nějaká pravidla, kdy se které rozhraní má použít – např. budete mít dvě routovací tabulky, v jedné bude jako default gw uvedeno jedno rozhraní, v druhé tabulce to druhé, a nějaká pravidla budou určovat, kdy se která tabulka má použít. Tohle ale (předpokládám) ifconfig+route neumí a musíte použít iproute2. Tzn. nechat být interfaces a nakonfigurovat síť v nějakém vlastním skriptu (což byste asi musel stejně, protože na takovéhle věci nebývají distribuční konfigurační soubory připravené, ty umožňují nastavit jen základní věci).
2.3.2008 17:19 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
interfaces používá interně ifconfig a route, takže nemůže umět nic víc, než ifconfig+route.
To se naštěstí snad brzo změní, v experimental je nová verze, která už používá ip.
Quando omni flunkus moritati
2.3.2008 17:22 zbycz | skóre: 5
Rozbalit Rozbalit vše Re: Nelogické chování 2 síťovek přes /etc/network/interfaces
Ok, díky moc za informace, myslím, že se mi to bude někdy hodit.. Vždycky jsem si myslel, že interfaces nějak magicky ifconfig obejde :) takže to je pro mě novina.

Nakonec jsem přešel k zjednodušenému problému a to že mi nefunguje internet s jednou síťovkou. Viz výše. díky

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.