Forum
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
Gesamter Thread: