Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Yocto Linux - směrování provozu z Wi-Fi v AP modu na USB-Ethernet převodník

Zdravím,

dostala se do ruoku deska s Intel Atom, OS je upravený Yocto Linux. Má integrovaný Wi-Fi + BT 4.0 (nějaký čip Broadcom). Deska nemá grafickou kartu, nemůžu tedy využívat GUI, přístup je jen přes Telnet.

Kromě toho je k desce připojený převodník USB - Ethernet s obvodem AX88772B. Potřeboval bych zařídit, aby byla Wi-Fi v AP modu, uživatelé se k ní mohli připojit a přes USB - Ethernet převodník, který je připojen do routeru, který je připojen k Internetu. K Wi-Fi AP modu jsem využil hostapd, funguje bez problému. Převodník s AX88772 jsem také úspěšně zprovoznil, nastavil IP adresu, masku a pomocí route add default gw 192.168.1.1 ukázal na router, ke kterému je deska připojena. Bez problému pingnu kamkoliv ven. Potřeboval bych pomoct nebo spíš ukázat, co dělám špatně, ohledně kroků, které jsou třeba pro zpřístupnění připojení k Internetu pro ty, kteří se připojí k Wi-Fi. V první řadě jsem povolil ip forwarding:

echo "1" > /proc/sys/net/ipv4/ip_forward

IP rozsah podsítě routeru je 192.168.1.0/24, adresa USB převodníku v podsíti routeru je 192.168.1.182. Wi-Fi je na rozsahu 192.168.42.0/24.

A dále jsem nastavil směrování následovně (vyšel jsem z návodu, který jsem našel na internetu):

# wlan0 je Wi-Fi
# enp0s17u1 je USB-Ethernet převodník

# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT

# We allow traffic from the LAN side
iptables -A INPUT -i wlan0 -j ACCEPT

# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Masquerade.
iptables -t nat -A POSTROUTING -o enp0s17u1 -j MASQUERADE
# fowarding
iptables -A FORWARD -i enp0s17u1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow outgoing connections from the wlan0 side.
iptables -A FORWARD -i wlan0 -o enp0s17u1 -j ACCEPT

Bohužel nefunguje, už nad tím tvrdnu dva dny a nepohnul jsem s tím. Zkoušel jsem více cest, tahle se mi zdála "nejnadějnější". Očekávám, že to bude nějaká zásadní neznalost z mé strany, někde jsem asi něco opomněl spustit/povolit. Sítě na úrovni takovéto konfigurace jsou pro mě španělskou vesnicí, dostal jsem za úkol jenom otestovat, jestli to bude fungovat a jak to bude fungovat.

Zkoušel jsem diagnostikovat, kde by mohl být problém. Možná je třeba něco nastavit přímo v hostapd, protože z počítače připojeného k dané Wi-Fi dostávám při pingu na router informaci od samotného počítače, že "Destination host unreachable".

Další informace případně dodám, díky předem za rady.

Předmět Autor Datum
Naco su tam tie iptables pravidla? Zbytocne to s nimi komplikujes. AK potrebujes tak sprav len tu ma… nový
fleg 04.01.2015 23:45
fleg
usb0 je rozhraní, který deska používá pro komunikaci s vývojovým prostředím. Takhle to vypadá ve výc… nový
marekdrtic 05.01.2015 09:35
marekdrtic
Pokial mas naozaj funkcnu maskaradu nie je dovod, aby to neslo, podla vypisov tam nie je nastavene n… nový
fleg 05.01.2015 09:44
fleg
Zkusil jsem to ještě jednou, teď se z notebooku připojeného přes Wi-Fi k linux desce dopingnu na Eth… nový
marekdrtic 05.01.2015 10:06
marekdrtic
Aha. Jak na té wifině přiděluješ IP adresy? Z DHCP, nebo ručně? Zkus si přidat defaultní routu pomoc… nový
Ilmarinen 05.01.2015 10:22
Ilmarinen
DHCP, výpis z udhcpd.conf: start 192.168.42.20 end 192.168.42.254 interface wlan0 Jinak problém j… nový
marekdrtic 05.01.2015 11:00
marekdrtic
Dvě výchozí brány je nesmysl :-/ nový
JR_Ewing 05.01.2015 11:06
JR_Ewing
Jo, taky jsem si to uvědomil - navíc to spojení funguje, problém je v konfiguraci DHCP serveru, kter… poslední
marekdrtic 05.01.2015 11:43
marekdrtic
Poslal by jsi výstup z tshark -i enp0s17u1 -i wlan0 zatímco pingáš z wifi na adresu OpenWrt.lan? nový
Ilmarinen 05.01.2015 10:20
Ilmarinen
Je skutečně nutné provádět tu maškarádu už na tom boxu? Nepostará se o ni později ten router s IP 19… nový
Ilmarinen_off 05.01.2015 01:59
Ilmarinen_off
Pokud je to nejaky levny kram, tak neumi pridat samostatnou routu mimo vychozi branu. K dotazu: IP… nový
JR_Ewing 05.01.2015 05:47
JR_Ewing

Naco su tam tie iptables pravidla? Zbytocne to s nimi komplikujes. AK potrebujes tak sprav len tu maskaradu.
Podstatne nie su totizto pravidla, ale skor routovacia tabulka a default routa.
Daj sem vypis z ip a l, potom ip ro, pripadne ak tam nemas iproute2 tak ifconfig a route.
Ani prami z routra sa nikam nedopingas a nejde ti net?

usb0 je rozhraní, který deska používá pro komunikaci s vývojovým prostředím. Takhle to vypadá ve výchozím stavu s oběma rozhraníma samostatně funkčníma:

ifconfig

enp0s17u1 Link encap:Ethernet  HWaddr 00:50:b6:10:0d:44
          inet addr:192.168.1.182  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::250:b6ff:fe10:d44/64 Scope:Link
          inet6 addr: fd99:227b:2d11:0:250:b6ff:fe10:d44/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:120 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10445 (10.2 KiB)  TX bytes:3606 (3.5 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  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)

usb0      Link encap:Ethernet  HWaddr de:8a:40:02:4d:91
          inet addr:192.168.2.15  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  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:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr fc:c2:de:33:0e:4c
          inet addr:192.168.42.1  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::fec2:deff:fe33:e4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:304 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:22917 (22.3 KiB)  TX bytes:11751 (11.4 KiB)

route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         OpenWrt.lan     0.0.0.0         UG    0      0        0 enp0s17u1
192.168.1.0     *               255.255.255.0   U     0      0        0 enp0s17u1
192.168.2.0     *               255.255.255.0   U     0      0        0 usb0
192.168.42.0    *               255.255.255.0   U     0      0        0 wlan0

OpenWrt.lan je router (192.168.1.1)

Z routeru pingnu bez problému na tu Linux desku přes převodník Ethernet-USB (na 192.168.1.182), stejně tak i z libovolného počítače připojeného k tomu samému routeru. Z Linux desky se dostanu bez problému na internet. Zařízení připojená přes Wi-Fi k té linux desce (pomocí hostapd), se na Linux desku také dopingnou (na 192.168.42.1, kde běží webserver s NodeJS). Ještě, abych to doupřesnil, potřeboval bych, aby se zařízení připojená přes Wi-Fi k linux desce dostala jak na ten NodeJS webserver (adresa 192.168.42.1), tak i prostřednictvím USB-Ethernet převodníku ven, do internetu.

Zkusil jsem to ještě jednou, teď se z notebooku připojeného přes Wi-Fi k linux desce dopingnu na Ethernet rozhraní 192.168.1.182 (192.168.42.20 <-> 192.168.1.182), ale už ne kamkoliv dál. WLAN adaptér v notebooku říká (ipconfig -all), že nemá default gateway, tam asi bude poslední zádrhel. Jen nevím, kam bych měl tu možnost přidat nebo kde co povolit.

DHCP, výpis z udhcpd.conf:

start 192.168.42.20
end 192.168.42.254

interface wlan0

Jinak problém je vážně už jen v tom, říct klientům na rozhraní wlan0, že default gateway je 192.168.42.1. Když jsem ji nastavil na notebooku ručně, připojení k internetu začlo normálně fungovat. Zkusil jsem přidat další defaultní routu pro rozhraní wlan0 a nezabralo to. Jinak jen pro jistotu - DHCP server běží také na 192.168.42.1 - nemůže být problém v tom?

Aktuální výpis route:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.42.1    0.0.0.0         UG    0      0        0 wlan0
default         OpenWrt.lan     0.0.0.0         UG    0      0        0 enp0s17u1
192.168.1.0     *               255.255.255.0   U     0      0        0 enp0s17u1
192.168.2.0     *               255.255.255.0   U     0      0        0 usb0

Po přidání route jsem zkusil restartovat hostapd a znovu se připojit, také nepomohlo.

Jo, taky jsem si to uvědomil - navíc to spojení funguje, problém je v konfiguraci DHCP serveru, který neposkytne zařízením připojeným přes Wi-Fi informace o masce a default gateway. Teď dostávají zařízení piřpojující se přes Wi-Fi blbosti - maska 255.0.0.0 a default gateway nedostanou vůbec.

Zatím díky moc za rady, teď budu tři dny mimo domov, takže nebudu moct nic vyzkoušet - potom se ozvu.

Je skutečně nutné provádět tu maškarádu už na tom boxu? Nepostará se o ni později ten router s IP 192.168.1.1? Jinak zmínil fleq, dodej informace o IP adresách a směrovací tabulce, případně ještě výstup iptables-save.

Pokud je to nejaky levny kram, tak neumi pridat samostatnou routu mimo vychozi branu.

K dotazu:

IP tables nech pro zacatek ACCEPT pro vse, co ti rika "iptables -L -n -v" a "iptables -L -n -v -t nat" ? A pochopitelne, jak pravil fleg "ip route show"

Zpět do poradny Odpovědět na původní otázku Nahoru