ARM raspberry pi wifis net továbbítás eth0 ra

Sziasztok 

Van egy rasberry pi -m amin raspbian fut .

Ezen szeretném beállítani , hogy az ethernet portján adjon internetet egy másik gépnek.

Telepítettem egy iptablest .

https://www.instructables.com/Share-WiFi-With-Ethernet-Port-on-a-Raspbe… 

innen indultam , de az enyém sima 1 es b+ model nem a cikkben  szereplő raspberry .

pi@raspberrypi:~ $ a=`route | awk "/${wlx2cab25bf6ba6}/"'{print $5+1;exit}'`

pi@raspberrypi:~ $ sudo route add -net default gw 192.168.2.1 netmask 0.0.0.0 dev enxb827eb6289f4 metric $a

SIOCADDRT: Network is unreachable itt ált meg a tudomány .

ssh -n be tudok lépni , de nem ad semmit sem ethernet oldalon (enxb827eb6289f4).

Szerintetek hogy oldjam ezt meg .

Válaszaitokat előre is köszönöm .

Hozzászólások

tűzfal beállítás (leggyorsabban):

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE

Ezen kívül szükséged lesz egy dnsmasq csomagra is. Az dhcp szerverként működik, és IP-t oszt. Értelemszerűen be kell állítani, hogy az eth0-n osszon.

Wifin meg kliensként fel kell akaszkodni. Ezzel mennie kellene. routing táblát nem kell elvileg kézzel berhelni. Amúgy a route parancs már outdated (igaz, az általam írt iptables is :))

wifin fent csüng a pi most is .

dnsmasq telepitve .

ip route list

default via 192.168.0.1 dev wlx2cab25bf6ba6 proto dhcp src 192.168.0.19 metric 303

192.168.0.0/24 dev wlx2cab25bf6ba6 proto dhcp scope link src 192.168.0.19 metric 303

 

pi@raspberrypi:~ $ sudo iptables -F

pi@raspberrypi:~ $ sudo iptables -t nat -F

pi@raspberrypi:~ $ udo iptables -t nat -A POSTROUTING -o wlx2cab25bf6ba6 -j MASQUERADE

-bash: udo: command not found

pi@raspberrypi:~ $ sudo iptables -t nat -A POSTROUTING -o wlx2cab25bf6ba6 -j MASQUERADE

pi@raspberrypi:~ $ sudo iptables -A FORWARD -i wlx2cab25bf6ba6 -o enxb827eb6289f4 -m state --state RELATED,ESTABLISHED -j ACCEPT

pi@raspberrypi:~ $ sudo iptables -A FORWARD -i enxb827eb6289f4 -o wlx2cab25bf6ba6 -j ACCEPT

pi@raspberrypi:~ $ sudo nano /proc/sys/net/ipv4/ip_forward

pi@raspberrypi:~ $ sudo nano /etc/sysctl.conf

pi@raspberrypi:~ $ sudo ip route del 0/0 dev eth0 &> /dev/null

pi@raspberrypi:~ $ a=`route | awk "/${wlx2cab25bf6ba6}/"'{print $5+1;exit}'`

pi@raspberrypi:~ $ sudo route add -net default gw 192.168.2.1 netmask 0.0.0.0 dev enxb827eb6289f4 metric $a

SIOCADDRT: Network is unreachable

pi@raspberrypi:~ $ a=`route | awk "/${wlx2cab25bf6ba6}/"'{print $5+1;exit}'`

pi@raspberrypi:~ $ sudo route add -net default gw 192.168.2.1 netmask 0.0.0.0 dev enxb827eb6289f4 metric $a

SIOCADDRT: Network is unreachable

pi@raspberrypi:~ $ sudo nano /etc/dnsmasq.conf

pi@raspberrypi:~ $ sudo systemctl start dnsmasq

A két FORWARD rule elvileg nem szükséges most még, amíg komolyabb tűzfalat nem csinálsz. Persze jó lenne tudni hogy a tábláknál mi a default action, mert ha DROP, akkor persze kell.

Nekem volt hogy a docker beletúrt a tűzfalba, esetleg érdemes megnézni hogy néznek ki a táblák, de ha mindenhol csak ACCEPT default rule van, a nat/POSTROUTING-on pedig egy MASQUERADE rule, akkor a tűzfal részéről mennie kellene.

Azt persze jó lenne tudni, hogy mik a device nevek, mert én eddig abban voltam hogy wlan0 meg eth0, de ezek itt mac based címek, tehát illene akkor az eth0-t _mindenhol_ enxb827eb6289f4-ra cserélni. Mint írtam, route táblát nem kell elvileg piszkálni.

Tehát én így csinálnám (nyilván root-ként):

iptables -F # vigyázz, mert a default rule-t azt hiszem nem írja át a -F!
iptables -t nat -F
iptables -t nat -A POSTROUTING -o wlx2cab25bf6ba6 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
ifconfig enxb827eb6289f4 up 192.168.2.1

/etc/dnsmasq.conf-ba elvileg ennyi elég:

interface=enxb827eb6289f4
dhcp-range=192.168.2.100,192.168.2.199,1h

Ezzel mennie kellene.

Ha a másik gép ennek ellenére nem kap IP címet, akkor vagy ott van valami elkonfigurálva, vagy a dnsmasq nem fut, vagy nincs jól beállítva. Vagy esetleg a tűzfal megfogja.

Utóbbit könnyű kideríteni, ha megnézed az iptables-t. Ha nagyon nem akar IP címet kapni, akkor először állítsd be fix IP-re azt a gépet, DHCP nélkül. Tudja-e pingelni a pi-t? Tud-e kifele pingelni IP címet?

Szerkesztve: 2022. 05. 28., szo – 17:43

169.254.110.150 ezt az ip címet osztotta ki a raspberry és nem értem miért .

pingem nincs unknown hosts hibaüzenetet kapok

root@raspberrypi:/home/pi# ip a | grep ^[0-9]
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
2: enxb827eb6289f4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
3: wlx2cab25bf6ba6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
root@raspberrypi:/home/pi#

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    303    0        0 wlx2cab25bf6ba6
link-local      0.0.0.0         255.255.0.0     U     202    0        0 enxb827eb6289f4
192.168.0.0     0.0.0.0         255.255.255.0   U     303    0        0 wlx2cab25bf6ba6

 

maga a raspberry a 192.168.0.19 en csücsül .

egy imacet kötöttem az ethernet portjára annak az ifconfigja baromi randa .

a raspberry wlan eszköze ez a wlx2cab25bf6ba6 azonosítójú , az ethernet portja pedig az enxb827eb6289f4 szerintem .

 

raspberry ifconfigja : 

enxb827eb6289f4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.168.55  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::62f1:7069:f361:fd1c  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:62:89:f4  txqueuelen 1000  (Ethernet)
        RX packets 22365  bytes 1213082 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 286  bytes 60364 (58.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 506  bytes 40328 (39.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 506  bytes 40328 (39.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlx2cab25bf6ba6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.19  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::30c5:fc93:b78a:5831  prefixlen 64  scopeid 0x20<link>
        inet6 2001:4c4c:1760:d600::2  prefixlen 128  scopeid 0x0<global>
        inet6 2001:4c4c:1760:d600:6ae1:2671:3cca:d084  prefixlen 64  scopeid 0x0<global>
        ether 2c:ab:25:bf:6b:a6  txqueuelen 1000  (Ethernet)
        RX packets 9557  bytes 4054234 (3.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4470  bytes 677741 (661.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Szinte biztos ,amit egyáltalán nem értek , hogy miért , de igen a mactől kapja ezt a címet .

Ami még érdekes , hogy a mac viszont nem kap semmiféle hálózatot .

a ping 8.8.8.8 kimenete

ping sendto : No route to host ,

request timeout for icmp_seq 1 ,

ping sendto : No route to host ,

request timeout for icmp_seq 2 , 

és így tovább . 

Mac route parancsra kidobja hogy vár még paramétereket és nem fut le .

 

/etc/network/interfaces raspbianon : 

# interfaces(5) file used by ifup(8) and ifdown(8) Include files from /etc/network/interfaces.d:
source /etc/network/interfaces.d/*
allow-hotplug wlx2cab25bf6ba6
iface wlx2cab25bf6ba6 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Köszönöm szépen a válaszokat , közben megpurcant a raspberry-hez használt wifi stick úgyhogy egyenlőre parkolópályán a projekt .