Forum

Einloggen | Registrieren | RSS  

edriowen(R)

15.12.2021,
13:47
 

Raspberry Pi als WLAN-Router einrichten - funktioniert nicht (Computertechnik)

Unter www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm findet sich eine sehr detaillierte Prozedur zur Installation eines WLAN Routers auf einem Raspberry - in meinem Fall ein RP4.
Diese Prozedur funktioniert auch soweit OK bis gegen Ende unter dem Kapitel "Routing und NAT für die Internet-Verbindung konfigurieren"
die Kommandozeile
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
im LX Terminal eingegeben werden soll.
Es erscheint in diesem LX Terminal die Fehlermeldung:
sudo: iptables: Befehl nicht gefunden.
Für mich unerklärlich, da
1. als sudo user mit allen Rechten das Kommando aufgerufen wird.
2. Die Datei iptables existiert und zwar unter
/usr/share/bash-completion/completions/.
Auch der Aufruf
sudo /usr/share/bash-completion/completions/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
direkt im entsprechenden Directory bringt keinen Erfolg - es erscheint sinngemäß die gleiche Fehlermeldung:
sudo: /usr/share/bash-completion/completions/iptables: Befehl nicht gefunden.
Bis dahin finden zwar andere Clients das definierte WLAN Netz "WLANrouter" auf dem RP4, aber eben ohne Internetverbindung.
Ich kann zwar mit dem Befehl
sudo nano /usr/share/bash-completion/completions/iptables
die Datei öffnen und auch bearbeiten/ändern/speichern aber der Aufruf als sudo funktioniert einfach nicht.
Ich gehe davon aus, dass trotz "sudo" die Datei einfach im System nicht gefunden wird - warum auch immer.
Wie kann ich diesen Fehler beheben, so dass iptables korrekt aufgerufen wird und der RP4 als WLAN Router funktioniert ?

Vielen Dank im voraus für eine Info.
Grüsse
edriowen


Anhang: Der Inhalt der Datei iptables ist wie folgt:

# bash completion for iptables -*- shell-script -*-

_iptables()
{
local cur prev words cword split
_init_completion -s || return

local table chain='s/^Chain ([^ ]{1,}).*$/1/p'

[[ ${words[*]} =~ [[:space:]]-(t|-table=?)[[:space:]]*([^[:space:]]+) ]] &&
table="-t ${BASH_REMATCH[2]}"

case $prev in
-*[AIDRPFXLZ])
COMPREPLY=($(compgen -W '`"$1" $table -nL 2>/dev/null |
command sed -ne "s/^Chain ([^ ]{1,}).*$/1/p"`' -- "$cur";))
;;
-*t)
COMPREPLY=($(compgen -W 'nat filter mangle' -- "$cur";))
;;
-j)
if [[ $table == "-t filter" || -z $table ]]; then
COMPREPLY=($(compgen -W 'ACCEPT DROP LOG ULOG REJECT
`"$1" $table -nL 2>/dev/null | command sed -ne "$chain"
-e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' --
"$cur";))
elif [[ $table == "-t nat" ]]; then
COMPREPLY=($(compgen -W 'ACCEPT DROP LOG ULOG REJECT MIRROR SNAT
DNAT MASQUERADE `"$1" $table -nL 2>/dev/null |
command sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`'
-- "$cur";))
elif [[ $table == "-t mangle" ]]; then
COMPREPLY=($(compgen -W 'ACCEPT DROP LOG ULOG REJECT MARK TOS
`"$1" $table -nL 2>/dev/null | command sed -ne "$chain"
-e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' --
"$cur";))
fi
;;
*)
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '$("$1" --help 2>&1 |
command sed -e "s/^[!]//" | _parse_help -)' -- "$cur";))
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
fi
;;
esac

} &&
complete -F _iptables iptables

# ex: filetype=sh

bastelix(R)

16.12.2021,
21:22
(editiert von bastelix
am 16.12.2021 um 21:28)


@ edriowen

Raspberry Pi als WLAN-Router einrichten - funktioniert nicht

» /usr/share/bash-completion/completions/iptables
Das ist nicht das iptables executable!
Was kommt wenn du "whereis iptables" auf dem terminal eingibst?

Welches Betriebssystem in welcher Version du verwendest wäre eine sehr wichtige Info.

edriowen(R)

17.12.2021,
21:19

@ bastelix

Raspberry Pi als WLAN-Router einrichten - funktioniert nicht

Danke für den Feedback
folgende Infos erscheinen auf dem LX terminal:
1. Raspbian OS Version:
pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
2. Iptables scheint nicht gefunden zu werden, da der Suchaufruf ohne Inhalt bleibt:
pi@raspberrypi:~ $ whereis iptables
iptables:

Grüsse
edriowen

bastelix(R)

17.12.2021,
22:11

@ edriowen

Raspberry Pi als WLAN-Router einrichten - funktioniert nicht

Gut, seit Debain 10 (Raspian basiert auf Debian) ist nftables Standard.
https://wiki.debian.org/nftables

Entweder du übersetzt die iptables-befehle nach nftables (die Syntax ist anders, die Funktionalität nicht) oder du deinstallierst nftables und installierst iptables. Auf einem System zum rumspielen ist das ok, wenn du den PI aber produktiv einsetzten willst würde ich davon abraten.

Hier ist eine Anleitung wie man auf iptables downgraded https://arstech.net/install-iptables-in-debian-11-bullseye/

edriowen(R)

21.12.2021,
09:32

@ bastelix

Raspberry Pi als WLAN-Router einrichten - funktioniert nicht

danke für das Feedback.
Komisch, dass es es jetzt an den Dateien iptables und nftables bzw. Version des OS hängt.
In der Beschreibung der Prozedur unter
https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm
steht gleich am Anfang:
... Mit Raspbian Stretch und Buster geprüft....
Und da Buster im Vergleich zu Bussleye noch nicht so alt ist, ging ich davon aus, dass die Accesspoint Einrichtung reibungslos hätte funtkionieren sollen.
Ich werde jetzt die downgrade Anleitung https://arstech.net/install-iptables-in-debian-11-bullseye/ ausführen.
Danke schon mal.
Grüsse

edriowen(R)

21.12.2021,
10:10

@ edriowen

Raspberry Pi als WLAN-Router einrichten - funktioniert nicht

» danke für das Feedback.
» Komisch, dass es es jetzt an den Dateien iptables und nftables bzw. Version
» des OS hängt.
» In der Beschreibung der Prozedur unter
» https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm
» steht gleich am Anfang:
» ... Mit Raspbian Stretch und Buster geprüft....
» Und da Buster im Vergleich zu Bullseye noch nicht so alt ist, ging ich
» davon aus, dass die Accesspoint Einrichtung reibungslos hätte funtkionieren
» sollen.
» Ich werde jetzt die downgrade Anleitung
» https://arstech.net/install-iptables-in-debian-11-bullseye/ ausführen.
» Danke schon mal.
» Grüsse

bastelix(R)

24.12.2021,
02:01

@ edriowen

Raspberry Pi als WLAN-Router einrichten - funktioniert nicht

» ... Mit Raspbian Stretch und Buster geprüft....
» Und da Buster im Vergleich zu Bussleye noch nicht so alt ist, ging ich
» davon aus, dass die Accesspoint Einrichtung reibungslos hätte funtkionieren
» sollen.
Bei Buster gab es noch einen Wrapper der die iptables Befehle auf nftables übersetzt hat, das ist bei Bullseye nicht mehr dabei, zumindest in der Standardinstallation.