Problem mit IP-Tables nach reboot

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,
    ich habe das Problem, dass die IP tables bei mir nicht anständig funktionieren.

    Ich habe die korrekten Einstellungen unter /etc/iptables.ipv4.nat gespeichert.

    Folgender Eintrag steht auch am ende der /etc/network/interfaces:

    Code
    up iptables-restore < /etc/iptables.ipv4.nat


    Die Einstelungen sollten also nach dem Boot automatisch übernommen werden.

    Trotzdem wird beim Ausführen von

    Code
    sudo iptables -t nat -S


    die falsche IP angezeigt ( nicht die, die in /etc/network/interfaces eingetragen ist).

    wenn ich dann

    Code
    up iptables-restore < /etc/iptables.ipv4.nat


    ausführe, funktioniert alles, wie es soll.

    ERGO:
    Da anscheinend die Einstellungen in /etc/network/interfaces korrekt sind und das "up iptables..." in jedem Forum steht und somit vermutlich korrekt ist und somit das Einbinden auch klappen sollte,habe ich nur eie Erklärung: Die Einstellungen werden beim Booten korrekt ausgeführt, aber anschließend werden nochmal andere Einstellungen geladen und überschreiben die korrekten Einstellungen. Vermutlich habe ich das anfangs irgendewann mal beim rumprobieren verstellt ohne, dass ich wusste, was ich tue.

    Daher jetzt die Frage, ob ich irgendwie erausfinden kann, welches Scripz die Einstellungen verstellt. Eine Logdatei für die Einstellungen der IP-Tables habe ich nicht gefunden.
    Oder hat jemand eine andere Erklärung für mein Problem?

    Vielen Dank schonmal für eure Hilfe!
    Beste Grüße!


  • Trotzdem wird beim Ausführen von

    Code
    sudo iptables -t nat -S


    die falsche IP angezeigt ( nicht die, die in /etc/network/interfaces eingetragen ist).

    Was genau meinst Du mit "die falsche IP"? Warum sollte "sudo iptables -t nat -S" nur eine IP anzeigen?

    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

  • es wird

    Code
    -P PREROUTING ACCEPT
    -P INPUT ACCEPT
    -P OUTPUT ACCEPT
    -P POSTROUTING ACCEPT
    -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

    angezeigt. Der korrekte Output (nach Ausführung von iptables-restore < /etc/iptables.ipv4.nat) lautet aber:

    Code
    -P PREROUTING ACCEPT
    -P INPUT ACCEPT
    -P OUTPUT ACCEPT
    -P POSTROUTING ACCEPT
    -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
    -A POSTROUTING -o eth0 -j MASQUERADE

  • Der korrekte Output (nach Ausführung von iptables-restore < /etc/iptables.ipv4.nat) lautet aber:

    Code
    -P PREROUTING ACCEPT
    -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
    -A POSTROUTING -o eth0 -j MASQUERADE

    Evtl. wird "up iptables-restore < /etc/iptables.ipv4.nat" auf deinem PI und aus der interfaces-Datei zu einem Zeitpunkt ausgeführt zu dem das eth0-Interface noch nicht UP ist und somit noch nicht berücksichtigt werden kann. Als Test eine iptables-Regel nutzen die auf das eth0-Interface nicht angewiesen ist und zu diesem Zeitpunkt in die syslog-Datei schreiben kann, oder die iptables-Regeln aus der "/etc/rc.local"-Datei (oder mind. gleichwertig) ausführen lassen.

    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

  • Auch nach dem Einfügen von

    Code
    iptables-restore < /etc/iptables.ipv4.nat

    in die "/etc/rc.local" hat sich nichts gebessert. Deine Erklärunge versteh ich,aber was tue ich dagegen? Hast du eine Regel parat, die ich als Test benutzen kann?

    Vielen Dank!


  • ... die "/etc/rc.local" hat sich nichts gebessert. Deine Erklärunge versteh ich,aber was tue ich dagegen? Hast du eine Regel parat, die ich als Test benutzen kann?

    Versuch mal mit:

    Code
    # up iptables-restore < /etc/iptables.ipv4.nat


    in der "/etc/network/interfaces"-Datei bzw. mit

    Code
    /sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
    /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


    , vor der "exit 0"-Zeile in der "/etc/rc.local"-Datei und siehe nach einem reboot deines PI, die Ausgaben von:

    Code
    sudo iptables -nvx -L POSTROUTING -t nat
    sudo iptables -t nat -S

    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

  • Das ändert ebenfalls nichts. Das Ausführen von "sudo iptables -nvx -L POSTROUTING -t nat" liefert:

    Code
    Chain POSTROUTING (policy ACCEPT 32 packets, 2974 bytes)
        pkts      bytes target     prot opt in     out     source               destination
          0        0 MASQUERADE  all  --  *      eth0    10.8.0.0/24          0.0.0.0/0


    und sudo iptables -t nat -S liefert das altbekannte

    Code
    -P PREROUTING ACCEPT
    -P INPUT ACCEPT
    -P OUTPUT ACCEPT
    -P POSTROUTING ACCEPT
    -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE


    Ein weiterer Versuch mit

    Code
    apt-get install iptables-persistent

    bringt auch nichts, obwohl in der /etc/iptables/rules.v4 die korrekten Einstellungen stehen.


  • Das ändert ebenfalls nichts. Das Ausführen von "sudo iptables -nvx -L POSTROUTING -t nat" liefert:

    Code
    Chain POSTROUTING (policy ACCEPT 32 packets, 2974 bytes)
       pkts      bytes target     prot opt in     out     source               destination
          0        0 MASQUERADE  all  --  *      eth0    10.8.0.0/24          0.0.0.0/0

    Dann hast Du evtl. auf deinem PI noch ein (dir unbekanntes) Script, das diese iptables-Regel setzt.

    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


  • ..., wie ich das Script finden kann?

    Versuch mal mit:

    Code
    sudo find /etc -iname '*iptable*'


    und

    Code
    sudo grep -R --include=* iptable /etc 2>/dev/null


    ( ... d. h. im "/etc"-Verzeichnis erstmal suchen lassen).

    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

  • Das ausführen von

    Code
    sudo /etc/init.d/isc-dhcp-server start

    liefert:

    Code
    [....] Starting isc-dhcp-server (via systemctl): isc-dhcp-server.serviceJob for isc-dhcp-server.service failed. See 'systemctl status isc-dhcp-server.service' and 'journalctl -xn' for details.
    failed!

    Die Abfrage daraufhin von

    Code
    systemctl status isc-dhcp-server.service

    liefert:

    Code
    ● isc-dhcp-server.service - LSB: DHCP server
      Loaded: loaded (/etc/init.d/isc-dhcp-server)
      Active: failed (Result: exit-code) since Mo 2015-10-26 23:15:03 CET; 33s ago
     Process: 5820 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)

    Bei

    Code
    journalctl -xn

    werden keine Journals gefunden.

    Hat jemand eine Ahnung, woran das liegen kann?

    Schönen Dank und beste Grüße!


  • Die Abfrage daraufhin von [code]systemctl ...

    Frage am Rande: Kann man jessie nicht so konfigurieren, dass statt systemd, das SysVinit (und syslog) verwendet wird?

    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

Jetzt mitmachen!

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