Seite 1 von 1
Gelöst iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 13:28:54
von PinguFan
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
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 13:34:19
von eggy
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.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 14:02:15
von PinguFan
Hallo Eggy,
Danke für die schnelle Antwort.
Feste IP mit zweierlei Schnittstellen und zweierlei Betriebssystemen ?
Da kommen dann Meldungen wie
glaube ich.
Gruss PinguFan.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 14:13:27
von Tintom
PinguFan hat geschrieben: 
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"?
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 14:30:26
von PinguFan
Hallo Tintom,
der Server vergibt die IP´s.
Die Plastikbox stellt nur den Internetanschluss her. DHCP ist dort deaktiviert.
PinguFan
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 15:25:17
von Tintom
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.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 16:11:00
von PinguFan
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
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 16:19:12
von BenutzerGa4gooPh
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.
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.)
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 16:24:33
von eggy
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.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 16:26:03
von Tintom
Jana66 hat geschrieben: 
04.01.2018 16:19:12
Mit Timtoms Vorschlag werden die Adressen immer noch wechseln und iptables wird Probleme machen.
Warum?
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 16:29:59
von BenutzerGa4gooPh
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.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 17:13:39
von mat6937
PinguFan hat geschrieben: 
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 ...
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 17:16:00
von Tintom
Jana66 hat geschrieben: 
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
dnsmasq 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.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 17:26:52
von BenutzerGa4gooPh
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
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 17:50:00
von PinguFan
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
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 18:05:40
von mat6937
PinguFan hat geschrieben: 
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?
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 18:25:09
von PinguFan
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
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
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 18:32:02
von mat6937
PinguFan hat geschrieben: 
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: 
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.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 19:53:56
von PinguFan
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
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 19:58:22
von mat6937
PinguFan hat geschrieben: 
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.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 20:07:54
von PinguFan
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.
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 20:12:40
von mat6937
PinguFan hat geschrieben: 
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
Re: iptables kennt nur die IP vom Vorabend
Verfasst: 04.01.2018 22:59:25
von heisenberg
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.
Gelöst Re: iptables kennt nur die IP vom Vorabend
Verfasst: 20.01.2018 20:04:07
von PinguFan
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