[megoldva] Raspbian- debian LAN- wifi anomália

 ( virtualm | 2019. március 27., szerda - 13:56 )

Sziasztok !

Lenovo ideapad Z500 laptoppon, Linux raspberry 4.9.0-8-686-pae #1 SMP Debian
4.9.130-2 (2018-10-27) i686 GNU fut. Bekapcsoláskor nem csatlakozik rendesen az
eth0 LAN hálózatra. A wifi wlp0s3 ugyan jó címet kap, de ha már van gyors LAN-WAN
lehetőség akkor inkább ez utóbbi kábeles megoldást választanám ( automatikusan )

A múltkor, a wifi csatlakozást azt sikerült jól megoldani a wpa supplicant beállításaival.
https://hup.hu/node/162934
Ha az eth0 is rendelkezésre áll akkor nem működnek a default beállítások.
Hol kell manipuláli az eth0- LAN beállításait?

Úgy látom, hogy a fő probléma az, hogy nem látja az alapértelmezett átjárót.
pi@raspberrypi:~ $ ping 192.168.1.253
connect: A hálózat elérhetetlen

és a routert sem:
pi@raspberrypi:~ $ ping 192.168.1.1
connect: A hálózat elérhetetlen

Ha a terminálban kiadom a : sudo dhclient -v parancsot akkor látszólag minden ok, ugyan van internet elérés, de a wifin keresztül. Az eth0 az rossz címen ragadt, a ritkán használt VodafoneMobilWifi címe van bevésve, ami most nem is játszik.

eth0: flags=4163 mtu 1500
inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255

wlp3s0: flags=4163 mtu 1500
inet 192.168.1.77 netmask 255.255.255.0 broadcast 192.168.1.255

Az /etc/network/interfaces fájlban ezt találtam, ami gyanúsan kevés:

# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlp3s0
iface wlp3s0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

#allow-hotplug wlan1
#iface wlan1 inet manual
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Mit kéne itt javítani vagy máshol kellene keresgélnem ahhoz, hogy a gyors LAN érvényesülhessen?

Szerkesztve.
A megoldás: https://hup.hu/node/163607#comment-2335229

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Csinálj egy failover bond0 interfészt, ahol a preferált az eth0, a másodlagos a wlan0. A bond0 kapjon IP-t DHCP-vel, az eth0-t csak UP-ba konfiguráld és a wlan0-t is csak a wpa_supplicant szintig konfiguráld fel.

További tömör olvasmány: Linux rendszerek alapvető beállítáai, üzemeltetése (esetleg nem csak a második, hanem az első (12806) és a harmadik (12808) kötet is ;-) )

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Nagyon köszönöm az olvasnivalókat is.
--
üdv: virtualm

Az /etc/interfaces fájlt szerkesztve létrehoztam a bond0 interfacet, de a jelek szerint nem megfelelően configuráltam, mert nem kap dhcp címet és emiatt továbbra sincs "internet elérés"

A sok dokumentum között nem találom, az erre a platformra vonatkozó configot.

Én ilyet csináltam, de nem nyert:
auto bond0
iface bond0 inet dhcp
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
bond-primary eth0
bond-miimon 100
bond-downdelay 200
bond-updelay 200

A dhclient -v kiadása után :

Listening on LPF/wlp3s0/60:36:dd:35:94:27
Sending on LPF/wlp3s0/60:36:dd:35:94:27
Listening on LPF/eth0/20:89:84:36:b0:b8
Sending on LPF/eth0/20:89:84:36:b0:b8
Sending on Socket/fallback
DHCPREQUEST of 192.168.1.77 on wlp3s0 to 255.255.255.255 port 67
DHCPREQUEST of 192.168.1.19 on eth0 to 255.255.255.255 port 67
DHCPREQUEST of 192.168.1.77 on wlp3s0 to 255.255.255.255 port 67
DHCPREQUEST of 192.168.1.19 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.1.19 from 192.168.1.254
bound to 192.168.1.19 -- renewal in 42025 seconds.

Működni működik, de láthatóan nem úgy ahogy vártam.

--
üdv: virtualm

Valami ilyesminek kellene lennie az interfaces-nek, mint itt alant. Az biztosan nem jó, hogy azt mondod a bond0-ra, hogy inet dhcp, majd megadsz egy vagon hálózati paramétert (mert azon az interfészen a dhcp-kliens dolga, hogy azokat beállítsa). A bond0-hoz tartozó interfészeket logikusan előbb életre kell lehelni, hogy összeállhasson a bond0.

Ez a konfig kb. a Debian bonding doksijából lett, azt is érdemes lehet megnézni. ( https://wiki.debian.org/Bonding )

auto lo
iface lo inet loopback

allow-bond0 eth0
iface eth0 inet manual
bond-master bond0

allow-hotplug wlp3s0
allow-bond0 wlp3s0
iface wlp3s0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
bond-master bond0

auto bond0
iface bond0 inet dhcp
bond-slaves wlp3s0 eth0
bond-mode active-backup
bond-primary eth0
bond-miimon 100
bond-downdelay 200
bond-updelay 200

Ja, én biztos lépésről lépsre csinálnám: előbb legyen az interfaces-ben csak annyi, ami ahhoz kell, hogy legyen egy UP állapotú eth0-d ("ifconfig -a" -ban lo és eth0 legyen, és az eth0-nak nincs IP-címe, de él). Aztán hasonlóan jelenjen meg mellette a WLAN interfész, ugyanúgy élő (associated) állapotban, de IP-nélkül. És csak ha ez már stabilan működik, akkor tenném hozzá a bond0-t az interfaces-hez. Így viszonylag hamar szre lehet venni, hogy melyik beállítás szar, és amíg az nem gyógyul meg, addig nem lehet továbbmenni. Az egyes lépések között minimum egy networking STOP/START, de inkább reboot, hogy biztosan jó legyen a beállítás.

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Köszi, este kipróbálom.
--
üdv: virtualm

Többszöri nekifutás, olvasás, alkalmazás kisérletezés eredménye nem sok jóval kecsegtet. Most van gyors eth0 kapcsolat, de nincs wlp3s0 wifi elérés. Olyan mint ha a wpasuplicant nem érvényesülne. A LAN kábel nélkül, hiba adom ki a sudo ifconfig wlp3s0 up és a sudo dhclient -v parancsokat, a wlp3s0 interface nem kap címet, nem csatlakozik.

interfaces file:

# -------------------------

auto lo
iface lo inet loopback

allow-bond0 eth0
#iface eth0 inet manual
iface eth0 inet auto
bond-master bond0

allow-hotplug wlp3s0
allow-bond0 wlp3s0
iface wlp3s0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
bond-master bond0

auto bond0
# iface bond0 inet static
iface bond0 inet auto
# address 192.168.1.19
# netmask 255.255.255.0
# network 192.168.1.0
# gateway 192.168.1.1
slaves wlp3s0 eth0
bond-mode active-backup
bond-miimon 100
bond-downdelay 200
bond-updelay 200

# -------------------------

Elkövettem egy nagy hibát, hogy az eredeti fájlt nem mentettem el és a több napja tartó átalakítások során nem tudom visszaállítani azt az állapotot amikor volt wifi, pedig az fontosabb lenne egy laptoppon. A gyors kábeles net, az lett volna a hab a tortán, de a torta eltűnt.

(szerkesztve)
hoppá, itt van a hup.hu post indítóban az eredeti:
auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlp3s0
iface wlp3s0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

--
üdv: virtualm

Csak magamat tudom ismételni:

1) csinálj egy olyan konfigot, amiben az eth0 és a wlan0 közösen alkotnak egy bond0 interfészt, amiben az eth0 a primary - ekkor ha van eth0, akkor azon kommunikálsz, ha az eth0 nincs bedugva, akkor meg a wifin.
2) ennek menete:
- a) belősz egy olyan eth0-0, amin NINCS IP (se static, se DHCP)
- b) belősz egy olyan wlan0-t, amin NINCS IP (se static, se DHCP)
- c) belősz egy olyan bond0-t, ami az előző kettőből áll és igényedtől függően vagy static, vagy DHCP

És javasolt ezt oly módon megcsinálni, hogy előbb belövöd 2a)-t (azaz boot után van IP nélküli, de UP státuszban levő eth0-d) - ez nyilván nem tud kommunikálni (*); aztán ezt kikommenteled, felhúzol ugyanígy egy wlan0-t (ez se tud kommunikálni) - ide is (*), majd amikor már a wlan0 is jó, akkor engedélyezed az eth0-t, a wlan0-t, és (azaz kiszeded a kommenteket a sor elejéről), és belövöd a bond0-t. De itt már nem csak azt állítod be, hogy mik a bond elemei, hanem azt is, hogy a bond0 az dhcp-t igényel.

De ennél többet már nem tudok mondani :-)

(*) ha az interfész jó, akkor egy kézzel kiadott dhclient eth0 / dhclient wlan0 életre kell lehelje a hálózatot.

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Értékelem és duplán köszönöm a segítségedet, de pancser linux userként igen sok olvasás után sem tudom pontosan végrehajtani a javaslataidat, pedig látom rajtuk, hogy próbálsz tematikusan rávezetni a jó megoldásra. Egyenlőre a manuálok és konkrét példák olvasása nyomán próbálkoztam követni az útmutatóidat. (Egyenlőre az öt egyszerűnek tűnő feladatodból egyet sem tudtam megcsinálni, de még nem adtam fel.)

Jelenleg ez a legjobb megoldás, de, ez még nem az igazi:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

iface eth0 inet manual

allow-hotplug wlp3s0
iface wlp3s0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Tulajdonképpen most is hasonlóan működik mint ahogy írod: "ekkor ha van eth0, akkor azon kommunikálsz, ha az eth0 nincs bedugva, akkor meg a wifin" de ki kell adnom a sudo dhclient -v parancsot, hogy az elképzelés érvényesüljön. Ettől ugyan még nem esik le a gyűrű az ujjamról, de úgy gondolom, hogy ez a rossz configok miatt van, mert egy usernek nem kéne sudo szintű manipulációhoz folyamodnia.

--
üdv: virtualm

Szedd ki ezt a sort:

iface eth0 inet dhcp

(Szerinted mit jelent az, hogy a fenti sor után még van egy olyan sor IS, hogy iface eth0 inet manual? Csak mert ezek egymásnak ellentmondanak.)

Ha fentit kiszeded (és ezzel a konfiggal bootolsz), akkor lesz két önálló, UP állapotú interfészed, amelyek közül semelyik sem rendelkezik IP-vel, így nem tud kommunikálni. Ha kiadNÁD azt a parancsot, hogy sudo dhclient eth0 (vagy sudo dhclient wlp3s0), akkor a megfelelő interfészen tudna kommunikálni. (Akkor jó a konfigod, ha ez valóban így van.) De e HELYETT tedd be a bond0-ra vonatkozó sorokat a fenti fájl végére (illetve a bond-masterra vonatkozó sort mint az eth, mind a wlan blokkba). Ha ezeket jól csinálod, akkora boot előbb életreleheli (IP nélkül) az eth0-t, aztán IP nélkül a wlan-t, aztán csinál egy bond-ot a két élő interfészből, és ennek végül ad DHCP-vel IP-t. A bond pedig ha van eth, akkor a primary beállítás miatt megy az eth0-n ha az fizikailag működik, ha pedig nem (ki van húzva pl.), akkor a wifin. Amikor bedugod a kábelt, akkor visszamászik az eth-ra. Méghozzá ezeket abszolút automatikusan csinálja.

De itt egy link, ami tartalmaz egy elvben működő megoldást és teljes interfaces fájlt:

https://rafalgolarz.com/blog/2018/01/10/bonding_wifi_and_ethernet_interfaces/

Az enyémhez képest 2 lényeges eltérés van: enp3s0-nak hívják az eth0-t :-) , illetve ő "bond-slaves none" -t mond. Azt most nem tudom megmondani, hogy az úgy jó-e, vagy ahogy én javasoltam korábban - de elvben a két módszer valamelyik kellene, hogy működjön.

Mellesleg azt azért majd tisztázd magaddal, hogy van-e azon a gépen NetworkManager, mert az szeret belezavarni az ilyen kézi hákolásokba (ez a cikk is lekapcsolja)

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Köszönöm a tanácsokat és a linket. Ez alapján így néz ki a jól működő interface konfigurációm:
# /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
bond-master bond0
bond-primary eth0 wlp3s0

auto bond0
iface bond0 inet dhcp
bond-slaves none
bond-mode active-backup
bond-miimon 100
bond-downdelay 200
bond-updelay 200

auto wlp3s0
iface wlp3s0 inet manual
bond-master bond0
bond-primary eth0 wlp3s0

allow-hotplug wlp3s0
iface wlp3s0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Érdekes, hogy egy hét alatt többféle működő és nem működő konfigurációt találtam a különböző ( debian alapu ) distrok között. Még ugyanazon distrón belül is évjáratonként ( verzionként ) is más megoldásokat csináltak. Felvetődött egy költői kérdés, hogy miért van ez a katyvasz
e témakörben? Még az is lehet, hogy hiba van a konfigomban, de működik, tehát itt az ideje, hogy a többi, elnapolt problémával foglalkozzam.
--
üdv: virtualm

Ami működik, azon ne változtass, bár vékleményem szerint van még több problémás rész ezzel a konfiggal. De ez csak káka, meg csomó.:

Szóval szerintem:

bond-primary eth0 wlp3s0 - ez biztos nem OK, hiszen *csak* az eth0 kellene, hogy master legyen

és szerintem az, hogy két iface blokk van a wlp3s0-hoz, az se teljesen normális, IMHO azoknak egybegyúrva kellene lenniük

De az, hogy megy, azt sugallja, hogy ezek szerint a kliens interfészek konfigjában kell bond-master, és a bonding interfészbe pedig "bond-slaves none" - ellentétben az én szem által diktált verzióval, miszerint a bond-ban is elmesélem, hogy kik a rabszolgák.

De akkor legyen így. :-)

Költői kérdésedre - azaz, hogy miért van ennyiféle - nálad épp nem működő - konfig? Passz.

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Köszönöm az észrevételt. Még egy nekifutást megér, majd javítom és kipróbálom.

Én is jobban szeretem ha érthető és jó lekövethető valami. Az egy dolog, hogy működik, ha valami szép is akkor jó is, ha jó is, akkor szép is mondogatta egy tőlem bölcsebb kollégám.
--
üdv: virtualm

Szia Zahy!

Valamennyire javítottam a nem tetsző részeket, ez is működik:
# /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
bond-master bond0
bond-primary eth0

auto bond0
iface bond0 inet dhcp
bond-slaves none
bond-mode active-backup
bond-miimon 100
bond-downdelay 200
bond-updelay 200

auto wlp3s0
iface wlp3s0 inet manual
bond-master bond0

allow-hotplug wlp3s0
iface wlp3s0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

A hab a tortán annyi, hogy ha rendelkezésre áll mindkét kapcsolat, akkor a fel- letöltés cirka a duplájára nő. Nem mintha ez ebben az esetben fontos lenne, de a tesztek alapján gyorsult a LAN- WAN kapcsolat.

--
üdv: virtualm

Talán lehetne még mit finomítani ( ha értenék hozzá )

sudo dmesg | grep -i bond0 kimenete:

[ 8.198981] IPv6: ADDRCONF(NETDEV_UP): bond0: link is not ready
[ 8.201376] bond0: Adding slave wlp3s0
[ 8.544736] bond0: Enslaving wlp3s0 as an active interface with an up link
[ 8.549742] IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
[ 8.640228] bond0: Adding slave eth0
[ 8.865486] bond0: Enslaving eth0 as an active interface with an up link
[ 8.867937] bond0: option primary: mode dependency failed, not supported in mode balance-rr(0)
[ 8.918846] bond0: Setting MII monitoring interval to 100
[ 8.918987] bond0: Setting down delay to 200
[ 8.919101] bond0: Setting up delay to 200
[ 8.922516] bond0: option mode: unable to set because the bond device has slaves
[ 8.951017] bond0: link status definitely down for interface wlp3s0, disabling it
[ 8.951022] bond0: now running without any active interface!
[ 8.951055] bond0: link status definitely down for interface eth0, disabling it
[ 9.682954] bond0: link status up for interface wlp3s0, enabling it in 0 ms
[ 9.690985] bond0: link status definitely up for interface wlp3s0, 0 Mbps full duplex
[ 9.690993] bond0: first active interface up!
[ 10.523035] bond0: link status up for interface eth0, enabling it in 200 ms
[ 10.731623] bond0: link status definitely up for interface eth0, 100 Mbps full duplex
[ 121.789117] bond0: link status down for interface eth0, disabling it in 200 ms
[ 121.997276] bond0: link status definitely down for interface eth0, disabling it
[ 1164.166492] bond0: link status up for interface eth0, enabling it in 200 ms
[ 1164.375091] bond0: link status definitely up for interface eth0, 100 Mbps full duplex

--
üdv: virtualm

Mivel az interfészek megadásának sorrendje is számít, 2 tippem is van a javításra

1) minden ugyanígy néz ki, de az interfész bejegyzések (és a hozzájuk tartozó paraméterek) bond0, eth0, wlp3s0 sorrendben legyenek a fájlban

2) az interfészek sorrendje a fájlban legyen eth0, wlp3s0, bond0, de ekkor a bond0-ban ne az legyen, hogy "bond-slaves none", hanem amit eredetileg is javasoltam: "bond-slaves eth0 wlp3s0"

Ja, és a bond0 mode paramétere talán legyen az első megadott bond opció. Egyrészt zavar az, hogy azt nyekergi, hogy nem tud aktív-passzív-ba átmenni balance-rr-ből, másrészt ez a sebességnövekedés gyanúsan jelzi, hogy nem is abban van. Mondjuk a te esetedben igazából ez nem is baj, ha a router lekezeli azt, hogy mind a két irányból egyszerre jön az áldás, akkor még tán jobb is így.

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Na, akkor még egy kis thuning lesz majd.
Köszönöm a javaslatokat, remélem, hogy nem csak nekem volt hasznos a diskurzus.
--
üdv: virtualm

Jól rendeztem át?

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet dhcp
bond-mode active-backup
bond-slaves eth0 wlp3s0
bond-miimon 100
bond-downdelay 200
bond-updelay 200

auto eth0
iface eth0 inet manual
bond-primary eth0
bond-master bond0

auto wlp3s0
iface wlp3s0 inet manual
bond-master bond0

allow-hotplug wlp3s0
iface wlp3s0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Maradt egy bibi:

bond0: option primary: mode dependency failed, not supported in mode balance-rr(0)

Most csak mobil internetről tudom csak tesztelni, az működik, de ez a balance-rr gyanús.

--
üdv: virtualm

Nem :-)

A sorrend az általam tippelt 1)-esnek megfelelő (azaz ez is lehet jó sorrend), de azt írtam, hogy ebben a sorrendben a sorrenden kívül minden maradjon változatlan - márpedig te eredetileg "bond-slaves none" -t írtál. Azaz ezt a fentit javítsd ki erre!

Ha a 2)-t akarod, akkor jó, hogy "bond-slaves eth0 wlp3s0", de akkor az egész bond0 bekezdést rakd a végére!

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Érdekes, hogy csak így akar működni, sem az 1.)- sem a 2.) javaslat nem működik és az okát nem tudom. Elég sok ellentmondásos példa kering a neten, amik minden bizonnyal valahol működnek.
--
üdv: virtualm

2014? Nem elavult ez egy kicsit?

* Én egy indián vagyok. Minden indián hazudik.

Mire gondolsz pontosan? Az elvek vagy a módszerek avultak el?
--
üdv: virtualm

Hát ha abból indulunk ki, hogy kb egyetlen darab egérkattintás sincs benne leírva, sőt ha jól rémlik, a systemd se a kis gömböc képében szerepelt, valószínűleg igazad lehet.

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Én az /etc/dhcpcd.conf fájlban állítottam be az interfészeket (wifi kapcsolat hitelesítés adatait pedig itt: /etc/wpa_supplicant/wpa_supplicant.conf), ha jól rémlik raspbian-on ez a best practice, lehet metric értéket is megadni.

/etc/network/interfaces fájlhoz nem nyúltam egyáltalán.

Köszönöm urak a segítséget, hétfőn tudok próbálni, addig csak olvasok, elmélkedek.
--
üdv: virtualm

SUB