Befehl ausführen in /etc/network/interfaces

  • Hallo Zusammen,

    ich habe diese Zeile zu meiner /etc/network/interfaces hinzugefügt:

    Code
    pre-up iptables-restore < /etc/network/iptables2

    Komischerweise werden die iptables Regeln nach einem Neustart aber nicht konfiguriert.
    Ein iptables -L ergibt:

    Ein entsprechender Befehl von der Kommandozeile:

    Code
    pi@raspberrypi ~ $ sudo iptables-restore < /etc/network/iptables2

    hingegen erzielt das gewünschte Resultat:

    Warum geht das nicht über die /etc/network/interfaces oder besser gesagt was mache ich falsch?

    Grüße
    Werner

  • Hi Werner,


    ...

    Code
    pre-up iptables-restore < /etc/network/iptables2


    ...


    ich bin jetzt nicht der iptables crack ... aber pre-up heisst für mich "bevor das Interface 'up' ist".
    Glaubst Du, dass zu diesem Zeitpunkt iptables schon Sinn machen ;) ...
    cu,
    -ds-

  • Ich habe jetzt pre-up weggelassen und den Raspi neu gestartet.
    Meine /etc/network/interfaces sieht insgesamt so aus (fraglicher Befehl siehe letzte Zeile):

    Brachte aber leider keine Änderung.
    Nach wie vor zeigt

    Code
    sudo iptables -L

    keine Regeln an.

    In /var/log/syslog oder /var/log/messages gibt es keinen Eintrag mit iptables.
    Konfiguriere ich hingegen iptables von der Kommandozeile, dann enthält /var/log/syslog folgende Ausgabe:

    Code
    Oct  7 08:10:40 raspberrypi kernel: [  533.207573] ip_tables: (C) 2000-2006 Netfilter Core Team
    Oct  7 08:10:40 raspberrypi kernel: [  533.261773] nf_conntrack version 0.5.0 (6997 buckets, 27988 max)


    Kann es mit unzureichenden Rechten zu tun haben, wenn ich das aus der /etc/network/interfaces ausführe? Muß ich das irgendwie als root ausführen?

    Grüße
    Werner

    Einmal editiert, zuletzt von wmauss (7. Oktober 2014 um 08:24)


  • Kann es mit unzureichenden Rechten zu tun haben, wenn ich das aus der /etc/network/interfaces ausführe?

    Nein.


    Muß ich das irgendwie als root ausführen?

    Ja, aber das macht die interfaces-Datei.

    Versuch mal deine iptables-Regeln (evtl. auch Script) , über die Datei "/etc/rc.local" (mit /sbin/iptables ...) zu laden.

    EDIT:

    Oder mit post-up aus der interfaces versuchen:

    Zitat


    post-up command
    Run command after bringing the interface up.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (7. Oktober 2014 um 08:38)

    • Offizieller Beitrag

    Das hab ich auch zu erst vermutet. Ich würde den befehl in die rc.local schreiben, dann sollte das klappen.

    Edit: rpi444 war schneller ;)

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (7. Oktober 2014 um 08:38)


  • iptables-restore < /etc/network/iptables2

    BTW: Warum benutzt Du iptables-restore?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Ich würde ja mal vermuten es liegt am fehlenden vollen Pfad zu iptables-restore....

    Lt. manpage für interfaces sollte das aber m. E. nicht der Fall sein, denn:

    Zitat


    All of these commands have access to the following environment variables.

    PATH the command search path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

    Code
    :~$ which iptables-restore
    /sbin/iptables-restore

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Wow, eine Menge Antworten. Der Reihe nach:
    rpi444:

    Zitat

    Oder mit post-up aus der interfaces versuchen:


    Das hatte ich versucht als ich ausprobierte pre-up weg zu lassen, es brachte aber keine Änderung.

    Zitat


    Versuch mal deine iptables-Regeln (evtl. auch Script) , über die Datei "/etc/rc.local" (mit /sbin/iptables ...) zu laden.


    Das probiere ich heute Abend, wenn ich zuhause bin.

    Zitat

    BTW: Warum benutzt Du iptables-restore?


    Das ist die bislang einzige Art und Weise, wie ich, trotz tagelanger herumprobiererei Routing zum laufen gekriegt habe. Zugrunde liegt diese Anleitung: http://rbnrpi.wordpress.com/project-list/w…ernet-ready-tv/

    Aufgrund der aktuellen Probleme, die ich mit der Ausführung des Befehls aus der /etc/network/interfaces habe, glaube ich allerdings, dass - warum auch immer - keiner der Befehle zur Router Konfiguration ausgeführt wurde, die ich zuvor einzeln in der /etc/network/interfaces gelistet hatte und die so aussahen:

    Zu dem Zeitpunkt, als ich damit herumprobiert habe, kannte ich den Befehl

    Code
    iptables -L


    leider noch nicht, so dass ich nicht mit absoluter Sicherheit sagen kann dass iptables tatsächlich unkonfiguriert blieb.
    Allerdings kann ich mit Sicherheit sagen, dass

    Code
    /sbin/sysctl -w net.ipv4.ip_forward=1


    nicht dazu führte, dass /proc/sys/net/ipv4/ip_forward den Wert 1 enthielt, also IP Forwarding aktiv ist. Ich habe dann stattdessen in der Datei /etc/sysctl.conf IP Forwarding aktiviert.
    Das deutet auch auf dasselbe Problem hin, dass ich aktuell mit iptables habe.

    Allerdings ist mir völlig schleierhaft warum es bei mir nicht geht, wenn mehrere andere Raspbi Nutzer es offensichtlich genauso zum laufen gekriegt haben. Habe ich etwas ausgelassen, dass so grundlegend ist, dass es in den Anleitungen nicht einmal erwähnt wird?

    Werner

  • Hm, du hast recht! Nur weil so gar nichts passiert...
    Auf der anderen seite ich hab es mal genauso versucht - klappt.

    Also beim TE ist noch was nicht ok....

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.


  • Wow, eine Menge Antworten. Der Reihe nach:
    rpi444:


    Das hatte ich versucht als ich ausprobierte pre-up weg zu lassen, es brachte aber keine Änderung.

    Versuch mal aus der interfaces:
    up /usr/bin/logger "$0 - hallo aus der interfaces - $$"


    Das ist die bislang einzige Art und Weise, wie ich, trotz tagelanger herumprobiererei Routing zum laufen gekriegt habe. Zugrunde liegt diese Anleitung: http://rbnrpi.wordpress.com/project-list/w…ernet-ready-tv/

    Naja ist habe ja nicht nach iptables gefragt, sondern nach iptables-restore. Die iptables-Regeln kannst Du in einem ausführbaren shell-Script (mit shebang) benutzen.


    Aufgrund der aktuellen Probleme, die ich mit der Ausführung des Befehls aus der /etc/network/interfaces habe, glaube ich allerdings, dass - warum auch immer - keiner der Befehle zur Router Konfiguration ausgeführt wurde, die ich zuvor einzeln in der /etc/network/interfaces gelistet hatte und die so aussahen:

    Besser ein ausführbares shell-Script (mit shebang) mit der interfaces ausführen lassen, als die einzelnen iptables-Regln mit up bzw. post-up ausführen zu lassen.


    Also beim TE ist noch was nicht ok....

    Evtl. hat der TE, seine Befehle (up/post-up & Co.) in der interfaces-Datei, unter einer/der iface-Zeile:

    Code
    iface default inet dhcp


    stehen, diese iface-Zeile (aber) in seiner interfaces-Datei nicht bzw. nie berücksichtigt wird und seine (dieser iface-Zeile zugeordneten) Befehle deshalb auch nicht ausgeführt werden.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (7. Oktober 2014 um 13:23)

  • Code
    up /sbin/ifconfig wlan0 up
        down /sbin/ifconfig wlan0 down
    pre-up iptables-restore < /etc/iptab

    Lunepi, pre-up nach down ? :D


    Besser ein ausführbares shell-Script (mit shebang) mit der interfaces ausführen lassen, als die einzelnen iptables-Regln mit up bzw. post-up ausführen zu lassen.

    Evtl. hat der TE, seine Befehle (up/post-up & Co.) in der interfaces-Datei, unter einer/der iface-Zeile:

    Code
    iface default inet dhcp


    stehen, diese iface-Zeile (aber) in seiner interfaces-Datei nicht bzw. nie berücksichtigt wird und seine (dieser iface-Zeile zugeordneten) Befehle deshalb auch nicht ausgeführt werden.

    :bravo2:


    Besser jedoch zwei Shellscripte machen.

    iptables_start.sh

    iptables_stop.sh

    Bash
    #!/bin/sh
    /sbin/iptables -F
    /sbin/iptables -X
    /sbin/iptables -t nat -F
    /sbin/sysctl -w net.ipv4.ip_forward=0

    chmod +x /iptables Script

    Code
    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet dhcp
    wpa-ap-scan 1
    wpa-scan-ssid 1
    wpa-ssid "FB7270WZ"
    wpa-psk "1234567890"
    up /iptables_start.sh
    down /iptables_stop.sh

    Wobei ich immer Probleme habe wenn ich
    auto wlan0 und
    allow-hotplug wlan0
    benutze. Entweder - Oder.

    Super Erklärung zu dem Netfilter :
    http://64-bit.de/dokumentatione…BLES-HOWTO.html

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Lunepi, pre-up nach down ? :D

    Ja und? Die reihenfolge spielt nur eine Rolle wenn man mehrer pre-up oder was auch immer innerhalb einer iface definition hat - Oder erklärst du warum diese ( zu gegebenermaßen schwachfug ) iptables nach dem reboot gesetzt sind und das wlan0 up?
    Es sollte ja auch nur zeigen, das der Weg funktionieren würde.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Mein Fehler, ich habe das down am Anfang der Zeile übersehen ;)
    Sorry :wallbash:

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Zitat von rpi444:

    Zitat


    Evtl. hat der TE, seine Befehle (up/post-up & Co.) in der interfaces-Datei, unter einer/der iface-Zeile:

    Oh, ja, genau das ist es. Habe die /etc/network/interfaces jetzt nicht vorliegen aber die iptables Zeile steht am Ende, davor steht die iface Zeile.
    Die Bedeutung der iface Zeile war und ist mir absolut nicht klar.

    Grüße
    Werner


  • Die Bedeutung der iface Zeile war und ist mir absolut nicht klar.

    ist aus der manpage von interfaces - vielleicht hilft es...

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.


  • Die Bedeutung der iface Zeile war und ist mir absolut nicht klar.

    Meinst Du, die Bedeutung dieser "speziellen" Zeile:

    Code
    iface default inet dhcp


    in deiner interfaces-Datei? Wenn ja, damit kannst Du mehrere/verschiedene mögliche Konfigurationen (remapping) mit der interfaces-Datei, für z. B. verschiedene Netzwerke benutzen. "default" musst Du dann aber ein Interface zuweisen (d. h. definieren), z. B. eth0 mit:

    Code
    sudo ifup eth0=default

    Wenn default nicht definiert ist/wird, dann wird diese Zeile auch nicht richtig ausgeführt. Wenn Du dieses remapping nicht benutzt, dann kannst Du diese Zeile, in der interfaces-Datei kommentieren. Z.B. so:

    Code
    # iface default inet dhcp

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • @ rpi444 und lunepi,

    ich habe die Zeile auskommentiert, wie von rpi444 als Möglichkeit aufgezeigt, Raspi neu gestartet und siehe da, iptables wird konfiguriert.
    Vielen Dank Euch beiden für die engagierte Hilfe! Bin wieder etwas schlauer.

    Viele Grüße
    Werner

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!