Gelöst iptables kennt nur die IP vom Vorabend

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Gelöst iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 04.01.2018 13:28:54

Hallo Fans,

Alles Gute im Neuen Jahr, vor allem Gesundheit.
Mein Problem:
Mein Server ist dhcp, dns, router und firewall, hinter einem Plastik-Router.
Mir ist aufgefallen, daß die Regeln in iptables meinen Rechner betreffend nicht funktionieren.
Grund: Heute habe ich eine andere IP als gestern.
Die Namensauflösung per dns spielt für die iptables-Regel

Code: Alles auswählen

/sbin/iptables --append FORWARD --protocol tcp -m multiport --ports 80,443 --source nh532.fritz.box --jump ACCEPT

offensichtlich keine Rolle, zumindest nicht aktuell.
Ich kann nicht surfen, weil der nh532..... gestern die 192.168.3.119 hatte und heute die 192.168.3.114.

Wo muss ich denn da ansetzen, um dies zu klären ?

Gruß Pingu-Fan
Zuletzt geändert von PinguFan am 20.01.2018 20:07:00, insgesamt 1-mal geändert.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: iptables kennt nur die IP vom Vorabend

Beitrag von eggy » 04.01.2018 13:34:19

Da es sich um lokale Geräte zu handeln scheint: gibt der Kiste ne Reservierung im DCHP der Fritzbox, damit bekommt die Kiste immer die selbe IP und Du musst nicht am Regelwerk rumfrickeln.

PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Re: iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 04.01.2018 14:02:15

Hallo Eggy,

Danke für die schnelle Antwort.
Feste IP mit zweierlei Schnittstellen und zweierlei Betriebssystemen ?
Da kommen dann Meldungen wie

Code: Alles auswählen

FAILED: Has an address record but no DHCID, not mine.
glaube ich.
Gruss PinguFan.

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: iptables kennt nur die IP vom Vorabend

Beitrag von Tintom » 04.01.2018 14:13:27

PinguFan hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 13:28:54
Mein Server ist dhcp, dns, router und firewall, hinter einem Plastik-Router.
eggy hat geschrieben:gibt der Kiste ne Reservierung im DCHP der Fritzbox
Wer vergibt denn jetzt die Adressen? Der "Plastik-Router" oder der "Server"?

PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Re: iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 04.01.2018 14:30:26

Hallo Tintom,

der Server vergibt die IP´s.
Die Plastikbox stellt nur den Internetanschluss her. DHCP ist dort deaktiviert.
PinguFan

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: iptables kennt nur die IP vom Vorabend

Beitrag von Tintom » 04.01.2018 15:25:17

Okay, ich würde dann folgendes tun:
1) Du hinterlegst die IP-Adresse für nh532.fritz.box in der Datei /etc/hosts des Servers
2) du synchronisierst /etc/hosts mit der Konfigurationsdatei deines DHCP-Servers. Manche DHCP-Server (z.B. dnsmasq) können das automatisch machen.

PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Re: iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 04.01.2018 16:11:00

Hallo Timtom,

Vorschlag 1 ist klar.
Für Vorschlag 2 fehlt mir das Wissen. Ich weiss wo und wie beide Dateien bearbeitet werden, aber was meinst Du mit synchronisieren ?
Wie mache ich das ? Bei mir läuft der isc-dhcp. Die conf ist die /etc/dhcpd/dhcpd.conf.

Eigentlich dachte ich, daß der bind9 der Firewall ne Mitteilung machen muß. Weil der bind9 doch aktuell informiert ist, wer mit welcher IP arbeitet.
PinguFan

BenutzerGa4gooPh

Re: iptables kennt nur die IP vom Vorabend

Beitrag von BenutzerGa4gooPh » 04.01.2018 16:19:12

Mach doch das, was eggy sagte (IP-MAC-RESERVATION) im isc-dhcp.
https://wiki.ubuntuusers.de/ISC-DHCPD/ "Host-Blöcke"
Eventuell 2 Reservierungen für LAN + WAN, mit unterschiedlichen IPs und MACs natürlich. :wink:
Dazu unterschiedliche DNS-Namen pro nun statischer IP im DNS-Server.
(Mit Timtoms Vorschlag werden die Adressen immer noch wechseln und iptables wird Probleme machen.)
Zuletzt geändert von BenutzerGa4gooPh am 04.01.2018 17:52:40, insgesamt 2-mal geändert.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: iptables kennt nur die IP vom Vorabend

Beitrag von eggy » 04.01.2018 16:24:33

Ja, so kannst Du das auch machen, aber dem DHCP zu sagen, dass der Rechner immer die selbe IP bekommt ist einfacher.
Das Suchwort sollte "fixed-address" (oder sowas aehnliches) sein, Du legst da einfach einen Eintrag für die MAC des Rechners an.
Erklär mal wie Du das mit den zwei Karten meinst. Notfalls bekommt der dann halt zwei Addressen (für jeden Adapter eine), die beide in der Firewall freigeschaltet sind.

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: iptables kennt nur die IP vom Vorabend

Beitrag von Tintom » 04.01.2018 16:26:03

Jana66 hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 16:19:12
Mit Timtoms Vorschlag werden die Adressen immer noch wechseln und iptables wird Probleme machen.
Warum?

BenutzerGa4gooPh

Re: iptables kennt nur die IP vom Vorabend

Beitrag von BenutzerGa4gooPh » 04.01.2018 16:29:59

Weil ich 1 und 2 als unterschiedliche Vorschläge aufgefasst habe und Punkt 2 (Synchronisation) mir gar nicht bekannt ist. Vielleicht etwas näher ausführen, Link?
Mir ist nur der umgekehrte Weg (Microsoft: Hostnamenregistrierung DHCP -> DNS) bekannt.

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: iptables kennt nur die IP vom Vorabend

Beitrag von mat6937 » 04.01.2018 17:13:39

PinguFan hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 16:11:00
Eigentlich dachte ich, daß der bind9 der Firewall ne Mitteilung machen muß.
Meinst Du das bind9, die iptables-Regel in der die Namensauflösung statt finden soll, neu starten muss? Das wäre ja interessant, evtl. auch noch in Echtzeit ...

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: iptables kennt nur die IP vom Vorabend

Beitrag von Tintom » 04.01.2018 17:16:00

Jana66 hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 16:29:59
Weil ich 1 und 2 als unterschiedliche Vorschläge aufgefasst habe und Punkt 2 (Synchronisation) mir gar nicht bekannt ist. Vielleicht etwas näher ausführen, Link?
Mir ist nur der umgekehrte Weg (Microsoft: Hostnamenregistrierung DHCP -> DNS) bekannt.
Vorneweg: Ich habe DNS/DHCP bislang nur mit Debiandnsmasq realisiert, daher hab ich irrtümlich angenommen, das würde mit anderen DHCP-Servern genauso funktionieren. Aber scheinbar ist das wohl nur eine Spezialität von dnsmasq.

Quelle:
man dnsmasq hat geschrieben:It loads the contents of /etc/hosts so that local hostnames which do not appear in the global DNS can be resolved and also answers DNS queries for DHCP configured hosts.

BenutzerGa4gooPh

Re: iptables kennt nur die IP vom Vorabend

Beitrag von BenutzerGa4gooPh » 04.01.2018 17:26:52

Ich habe zwischendurch auch gesucht, scheint automatisch synchronisiert zu werden:
Die Clients können am DHCP-Server-Teil des Systems eine IP erbitten, und bekommen diese zugewiesen, gleichzeitig wird im DNS-Server-Teil des Systems vermerkt, welchen Hostname der Client besitzt. So kann unabhängig der gerade vergebenen IP der Client immer über den Hostname angesprochen werden.
Über Dnsmasq ist es möglich, Clients anhand ihrer MAC-Adresse zu identifizieren, und diesen Clients (bzw. den Clients, die sich mit der MAC-Adresse im Netzwerk melden, die in Dnsmasq konfiguriert wurde) immer per DHCP die selbe IP zuzuweisen (so genanntes „Static-DHCP“).
...
Static-DHCP
Durch so genanntes „Static-DHCP“ wird einem Client anhand der angegebenen MAC-Adresse immer die selbe IP zugeordnet. Dies ist zum Beispiel für Laptops interessant, die im LAN immer über die selbe IP erreichbar sein sollen, ansonsten aber ihre IP ganz normal per DHCP beziehen, und man nicht jedes mal erst von DHCP auf manuelle Konfiguration umstellen möchte.
Static-DHCP wird in der Datei /etc/Dnsmasq.conf eingestellt.
dhcp-host=00:1E:C9:26:8A:F7,notebook,192.168.0.70,infinite
Hierdurch wird dem Client, der die MAC-Adresse 00:1E:C9:26:8A:F7 übergibt, der Hostname notebook und die IP 192.168.0.70 zugewiesen. Die Lease-Time ist dabei unbegrenzt.
https://wiki.archlinux.de/title/Dnsmasq
Ob's mit Static DHCP (Reservation) auch klappt? Ist jedenfalls die gleiche Konfigurationsdatei, also anzunehmen:
DHCP
Um die DHCP-Funktionen von Dnsmasq zu verwenden, bedarf es ebenfalls kaum Einstellungen. Um die DHCP-Funktion zu aktivieren, und im selben Zuge auch die Grundkonfiguration vorzunehmen, bedarf es lediglich des Auskommentierens einer Zeile in der Datei /etc/Dnsmasq.conf
dhcp-range 192.168.0.10,192.168.0.128,12h
Zuletzt geändert von BenutzerGa4gooPh am 04.01.2018 17:50:42, insgesamt 1-mal geändert.

PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Re: iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 04.01.2018 17:50:00

Hallo Alle,

Danke für die angeregte Argumentation.

Ich mache folgendes:

1) Ich vergebe für Windoof und Debian unterschiedliche Hostnamen
2) Ich trage in der conf 4 Hostblöcke ein
3) Starte mein OpenSearch neu, um die Worte von rd 1 Mio. Datensätzen zu sortieren (Läuft nämlich abhängig von Hostnamen)
4) Freue mich wenn alles funktioniert

@mat6937
Ich hätte das gerne so gehabt, daß iptables immer die aktuellen IP´s kennt. Bei halbwegs statischen IP´s fällt Niemandem auf, daß das anders läuft.
Vielleicht doch nochmal ne Überlegung wert: Woher nimmt denn die Firewall die Information, das mein Rechner gestern die 119 hatte. Wird dies beim Herunterfahren irgendwo abgelegt ?
Liest iptables diese Info beim Boot ? Warum liest iptables nicht später, wenn der Start von isc-dhcp abgeschlossen ist. Alle abglaufenen Leases müssten unberücksichtigt bleiben, alle nach und nach hinzugefügten würden iptables mitgeteilt. Wie dem bind9 auch.

PinguFan

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: iptables kennt nur die IP vom Vorabend

Beitrag von mat6937 » 04.01.2018 18:05:40

PinguFan hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 17:50:00
Vielleicht doch nochmal ne Überlegung wert: Woher nimmt denn die Firewall die Information, das mein Rechner gestern die 119 hatte. Wird dies beim Herunterfahren irgendwo abgelegt ?
Was genau meinst Du mit "Herunterfahren"? Wie hast Du die Firewall-Regel, die "Namensauflösung" beim aktivieren machen soll eingegeben? Über ein Script oder manuell oder ...? Da diese IP-Adresse ja ein "Herunterfahren" anscheinend "überlebt" hat, muss ja irgendwo in deinem System, für Persistenz dieser Regel gesorgt sein, oder?

PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Re: iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 04.01.2018 18:25:09

Herunterfahren heißt für mich per Netz-Taster am Gehäuse, oder init 0 oder shutdown -h.
Regel oder Script gibt es nicht.

Woher iptables die Information heute morgen bekam, weiß ich nicht.
Könnte auch der Cache des bind9 gewesen sein.
Ein

Code: Alles auswählen

iptables -S FORWARD
zeigt mir aktuell:

Code: Alles auswählen

-A FORWARD -s 192.168.3.119/32 -p tcp -m multiport --ports 80,443 -j ACCEPT
-A FORWARD -s 192.168.3.119/32 -p udp -m multiport --ports 80,443 -j ACCEPT

Und das obwohl ich schon den ganzen Tag die 114 habe.
Ich sehe gestern abend:

Code: Alles auswählen

Jan  3 21:12:15 pingu02 dhcpd[1025]: DHCPOFFER on 192.168.3.119 to 9c:4e:36:c8:ed:40 (nh532) via eth0
Jan  3 21:12:15 pingu02 dhcpd[1025]: Adap-lease: Total: 26, Free: 18, Ends: 119, Adaptive: 300, Fill: 30, Threshold: 70
Jan  3 21:12:15 pingu02 dhcpd[1025]: DHCPREQUEST for 192.168.3.119 (192.168.3.100) from 9c:4e:36:c8:ed:40 (nh532) via eth0
Jan  3 21:12:15 pingu02 dhcpd[1025]: DHCPACK on 192.168.3.119 to 9c:4e:36:c8:ed:40 (nh532) via eth0
Jan  3 21:12:15 pingu02 dhcpd[1025]: Forward map from nh532.fritz.box to 192.168.3.119 FAILED: Has an address record but no DHCID, not mine.
Jan  3 21:13:33 pingu02 dhcpd[1025]: Adap-lease: Total: 26, Free: 17, Ends: 119, Adaptive: 300, Fill: 34, Threshold: 70
Jan  3 21:36:09 pingu02 dhcpd[1025]: DHCPREQUEST for 192.168.3.119 from 9c:4e:36:c8:ed:40 (nh532) via eth0
Jan  3 21:36:09 pingu02 dhcpd[1025]: DHCPACK on 192.168.3.119 to 9c:4e:36:c8:ed:40 (nh532) via eth0
Jan  3 21:36:09 pingu02 dhcpd[1025]: Forward map from nh532.fritz.box to 192.168.3.119 FAILED: Has an address record but no DHCID, not mine.


Wenn also iptables vom bind9-Cache während des Bootens erfahren sollte, daß nh532 die 119 hatte, dann könnte das doch auch nicht nur beim Booten, sondern im laufenden Betrieb passieren.
PinguFan

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: iptables kennt nur die IP vom Vorabend

Beitrag von mat6937 » 04.01.2018 18:32:02

PinguFan hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 18:25:09
Könnte auch der Cache des bind9 gewesen sein.
Ja, das könnte sein, aber dann ist bind9 & Co. nicht richtig konfiguriert?
PinguFan hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 18:25:09
Wenn also iptables vom bind9-Cache während des Bootens erfahren sollte, daß nh532 die 119 hatte, dann könnte das doch auch nicht nur beim Booten, sondern im laufenden Betrieb passieren.
Ja, das kann auch im laufenden Betrieb passieren, _wenn_ man im laufenden Betrieb die iptables-Regel löscht und erneut aktiviert.

PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Re: iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 04.01.2018 19:53:56

bind9 falsch konfiguriert kann sein.
named.conf.options:

Code: Alles auswählen

options {
        directory "/var/cache/bind";
        managed-keys-directory "/var/cache/bind";
        auth-nxdomain no;    # conform to RFC1035
        listen-on { 127.0.0.1; 192.168.3.100; 10.0.0.1; 10.10.10.6; };
        listen-on-v6 { none; };
        allow-query { 127.0.0.1; 192.168.3.0/24; 10.0.0.0/24; 10.10.10.0/24; };
        recursion yes;
        allow-recursion { 127.0.0.1; 192.168.3.0/24; 10.0.0.0/24; 10.10.10.0/24; };
        allow-notify { localnets; };
        forwarders { 192.168.3.1; };
        forward first;
        version "REFUSED";
        };

logging {
        channel default_syslog {
                file "/var/log/bind/bind9.log" versions 3 size 2M;
                severity info;
                print-time yes;
                print-category yes;
                };
        channel syslog_errors {
                file "/var/log/bind/bind9.log" versions 3 size 2M;
                severity error;
                print-time yes;
                print-category yes;
                };
        };
named.conf.local:

Code: Alles auswählen

include "/etc/bind/rndc.key";

zone "fritz.box" {
   type master;
   file "/var/cache/bind/db.fritz.box";
   allow-update { key "rndc-key"; };
   allow-transfer { any; };
 };
zone "3.168.192.in-addr.arpa" {
   type master;
   file "/var/cache/bind/db.192.168.3";
   allow-update { key "rndc-key"; };
   allow-transfer { any; };
 };
zone "fahager" {
   type slave;
   file "/var/cache/bind/db.fahager";
   masters { 192.168.2.254; };
 };
zone "2.168.192.in-addr.arpa" {
   type slave;
   file "/var/cache/bind/db.192.168.2";
   masters { 192.168.2.254; };
 };

controls {
   inet 127.0.0.1 port 953
   allow { 127.0.0.1; } keys {"rndc-key"; };
 };
Ja, das kann auch im laufenden Betrieb passieren, _wenn_ man im laufenden Betrieb die iptables-Regel löscht und erneut aktiviert.
Habe ich gemacht. Zumindest denke ich das. Ich habe mehrfach iptables neu gestartet.
Da drin steht:

Code: Alles auswählen

### L Ö S C H E N ###
/sbin/iptables -F
#/sbin/iptables -X
#/sbin/iptables -t nat -F


### A L L E S B L O C K I E R E N ###
/sbin/iptables --policy INPUT DROP
/sbin/iptables --policy FORWARD DROP
/sbin/iptables --policy OUTPUT ACCEPT 
..... 
......
Damit lösche ich alle Regeln und lege nachfolgend alles neu an.
PinguFan

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: iptables kennt nur die IP vom Vorabend

Beitrag von mat6937 » 04.01.2018 19:58:22

PinguFan hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 19:53:56

Habe ich gemacht. Zumindest denke ich das. Ich habe mehrfach iptables neu gestartet.

Damit lösche ich alle Regeln und lege nachfolgend alles neu an.
Wenn nur eine einzige Regel DNS machen muss/soll, dann musst Du nicht alle Regeln löschen. Es reicht nur die betreffende Regel zu löschen und erneut zu aktivieren.

PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Re: iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 04.01.2018 20:07:54

Okay,

ich schau mal was sich morgen zeigt. An der Konfiguration kann ich jetzt nichts fehlerhaftes sehen.
Vielleicht finde ich mal noch was zur Aktualisierung im laufenden Betrieb. Das wäre zweifellos die eleganteste Methode.
PinguFan.

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: iptables kennt nur die IP vom Vorabend

Beitrag von mat6937 » 04.01.2018 20:12:40

PinguFan hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 20:07:54
An der Konfiguration kann ich jetzt nichts fehlerhaftes sehen.
Evtl. mal zum _richtigen/gewünschten_ Zeitpunkt testen:

Code: Alles auswählen

host -t A nh532.fritz.box
host -t A nh532.fritz.box 192.168.178.1
host -t A nh532.fritz.box <IP-Adresse-bind9>
cat /etc/resolv.conf

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables kennt nur die IP vom Vorabend

Beitrag von heisenberg » 04.01.2018 22:59:25

iptables arbeitet afaik grundsätzlich auf IP-Basis. Wenn Du in den Regeln hostnamen verwendest, dann werden die exakt 1x per DNS aufgelöst: Beim anwenden der Regel. Das bedeutet bei Dir wahrscheinlich in dem Script, das beim Rechnerstart die Regeln aktiviert.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

PinguFan
Beiträge: 164
Registriert: 10.10.2009 16:07:03

Gelöst Re: iptables kennt nur die IP vom Vorabend

Beitrag von PinguFan » 20.01.2018 20:04:07

Hallo Alle,

möchte auflösen.
Die Vergabe von unterschiedlichen Hostnamen für Windoof und Linux reichte aus.
Jedes Betriebssystem hat dadurch eine eigene IP, der plötzliche Wechsel von WLAN auf LAN dürfte keine Probleme machen, da ja unterschiedliche MACś die IP anfragen.
Danke
Andreas

Antworten