Fli4l DNS Config

i_hasser

Grand Admiral Special
Mitglied seit
06.06.2002
Beiträge
18.964
Renomée
85
Standort
IO 0x60
Hi

Hab bei mir jetzt 2 Fli4ls stehen. Einer hängt an der ISDN Dose und der andere spielt Hardware-Firewall (klar bräuchte ich die nicht wirklich, aber komischerweise haben irgendwelche Progs bei direktem Netzzugang per Gateway immer die Verbindung offengehalten - mochte die Telefonrechnung nicht).

Also nochmal in der Übersicht:

fli4l-inet hängt an der ISDN Dose. Hat einen NIC und ist per Crossover mit fli4l-int (intranet) verbunden.
fli4l-int hat 2 Netzwerkkarten, in der einen hängt eben das Crossover Kabel, in der anderen der Nabel zum LAN.

Soweit funktioniert auch alles, auf fli4l-int hab ich masqerading ausgestellt damit auch nix mehr direkt geroutet wird. Zugang nur noch per Proxy :). Die beiden fli4l finden sich und soweit funktioniert auch alles.

Die Netzwerke sehen so aus:

Internet -- fli4l-inet(192.168.0.1) -- (192.168.0.2)fli4l-int(192.168.1.1) -- (192.168.1.0/24)LAN

Jeweils mit Subnet 255.255.255.0.

Nur die DNS Geschichte läuft noch nicht so wie sie soll. fli4l-int geht per Gateway über fli4l-inet selbst ins Internet um die Proxyanfragen auszuführen. Dafür müssen ja auch die Domainnamen aufgelößt werden, also hat fli4l-int als DNS_FORWARDERS 192.168.0.1 eingetragen (der sich wiederrum bei jeder Einwahl den DNS vom ISP holt, womit eben fli4l-int im Endeffekt die Domains im INet auflösen kann).

Dummerweise führt fli4l-int jetzt auch Domainanfragen aus dem LAN aus. Also wenn ich einem Rechner im LAN als DNS 192.168.1.1 gebe und einen ping nach 'www.suse.de' mache löst er die IP auf (Pingen kann er aber nicht).

Im Endeffekt soll fli4l-int selbst nur als DNS Server fürs LAN arbeiten und keine Anfragen beantworten die aus dem LAN kommen und ins INet gehen. Selber muss er aber Domains im INet auflösen können, damit die Proxy-Anfragen erfüllt werden können.


Mir ist eben eingefallen, dass ich für die LAN-Domain 127.0.0.1 als DNS angeben könnte - aber wenn jemand in der falschen Domain ist kann er trotzdem Anfragen aus dem LAN ins INet ausführen, also so wirklich ideal ist das auch nicht.
 
mir ist nicht ganz klar wieso du das haben willst, könnte mit ACLs gehen falls es sowas gibt im DNS

aber wenn man an den Clients einen Proxy einstellt benötigt man dann überhaupt noch einen DNS Eintrag? Lass den doch mal weg

und wieso 2 Rechner? Könnte man genauso mit einem machen
 
Ja, aber eine Hardware Firewall geht nur mit 2 Rechnern, und wenn schon, denn schon ;).

Von der Sache her bräuchte ich 2 DNS Server, einen der nur für das LAN zuständig ist und einen der nur für localhost zuständig ist.
 
Wieso?? Das sind 2 hintereinander sitzende Rechner, durch beide muss der INet verkehr durch.

Will sich jemand von außen ins LAN hacken und schafft es tatsache in das .0er LAN zu kommen hat er nix erreicht, weil er dann noch den 2. Router knacken müsste - die LANs sind wie gesagt getrennt, da wird nix durchgeroutet.

Wenn du so willst ist das .0er LAN die DMZ. Die Rechner im Intranet sind von außen garnicht erreichbar (dazu müsste man schon den fli4l-int knacken, nachdem man sich fli4l-inet angeeignet hat), und auf beiden Routern läuft eine Software-Firewall die schonmal alles unbenötigte nach außen hin abschottet.

In jedem Fall ist es sicher ;D.


@Puck

Ich brauch ja den DNS für das eigentliche LAN. Da werden die IPs per DHCP vergeben und Hostnamen sollen eben auch funktionieren. Sprich nur der fli4l-int kann DNS spielen, weil nur der die DHCP Infos hat.

Der Fli4l-int braucht aber auch einen DNS Server nach draußen, sonst kann der ja nicht Proxy spielen weil er nicht weis wohin mit den Paketen.


Ich werd vielleicht mal nach anderen DNS Servern für Fli4l gucken. Vielleicht gibts auch welche wo man einstellen kann auf welchen IPs gelauscht wird - da könnt ich alles vom LAN auf einen anderen DNS Server umleiten.

Am einfachsten wäre es natürlich wenn ich den DNS Forwarder rausnehmen könnte. Woanders kann ich Fli4l aber keine DNS Server übergeben, entweder keinen oder er benutzt den eingetragenen als Forward.
 
deine Clients brauchen aber kein DNS und Gateway wenn sie einen Proxy haben

DHCP hat erstmal nichts mit DNS zu tun

Eine Hardwarefirewall ist sowas wie ein Router oder ne Pix von Cisco aber niemals ein Server mit Betriebssystem

Ne DMZ ist dazu da Dienste im Internet zu verbreiten, willst du das?

Und klar du könntest 10 Router hintereinander schalten aber ist das Sinn der Sache? Sinn sollte es doch machen die einzelnen Komponenten sicher zu machen und nicht möglichst viel aneinander zu ketten.

Dein Intranet Dingen hat doch gar keine öffentlichen IP Adressen also geht da IP-Masquerading sowieso nicht. Damit nichts mehr geroutet werden würde müsstest du IP Forwarding ausschalten aber da die Kiste halt 2 NICs hat geht das nicht.
 
Original geschrieben von ghostadmin
deine Clients brauchen aber kein DNS und Gateway wenn sie einen Proxy haben

DHCP hat erstmal nichts mit DNS zu tun

Eine Hardwarefirewall ist sowas wie ein Router oder ne Pix von Cisco aber niemals ein Server mit Betriebssystem

Ne DMZ ist dazu da Dienste im Internet zu verbreiten, willst du das?

Und klar du könntest 10 Router hintereinander schalten aber ist das Sinn der Sache? Sinn sollte es doch machen die einzelnen Komponenten sicher zu machen und nicht möglichst viel aneinander zu ketten.

Dein Intranet Dingen hat doch gar keine öffentlichen IP Adressen also geht da IP-Masquerading sowieso nicht. Damit nichts mehr geroutet werden würde müsstest du IP Forwarding ausschalten aber da die Kiste halt 2 NICs hat geht das nicht.

Hmm? Ich glaub du hast da was falsch verstanden.

Die Netze 192.168.0 und .1 sind erstmal völlig getrennt. Da wird nix zwischen geroutet und nix maskiert. Aus .1 kommst du nicht in .0, weil es da kein Gateway gibt oder sonstwas.

Das Gateway gibts in .0 - und darüber kommt man ins Internet, aber nicht in .1. Also wenn ein Rechner im .0 Netz als Gateway die 192.168.0.1 eingetragen hat hängt er per Router am Internet, kann also Pakete ins Netz schicken.

Neben dem INet Fli4l hängt da aber nur der Intranet Fli4l, und der hängt eben gleichzeitig noch an .1 - die Netze sind aber völlig getrennt, da gibts kein Routing und kein nix. Der Fli4l-Int lauscht per Proxy ob irgendwelche Anfragen aus dem .1 Netz kommen (auf Port 8080 sitzt ein HTTP, FTP und Gopher Proxy und auf 8180 sitzt ein Socks Proxy) und holt sich die Daten dazu über .0 damit er die Proxy Anfragen beantworten kann. Da wird auch nix geroutet.

Wenn du im .1 Netz die 192.168.1.1 als Gateway angibst passiert garnix, weil der anfragende Rechner dann auf taube Ohren stößt - sind eben 2 völlig getrennte LANs (auf TCP/IP Ebene und allem darunter - erst auf der Ebene von HTTP etc. sind die Netze verbunden).

Umgekehrt ist es eben auch unmöglich von .0 aus auf das .1 LAN zuzugreifen - das geht nicht, da gibts nichtmal einen Proxy der das machen würde. Einzige Möglichkeit wäre sich durch den fli4l-int zu hacken (weil der eben in beiden Netzen sitzt).

Das Problem ist nur, dass der DNS Server von Fli4l auch als Proxy funktioniert. Ist ja normalerweise auch erforderlich, so können bei einem einfachen ins INet gerouteten LAN die DNS Fragen vom Fli4l geklärt werden und die Anfragen an die IPs werden dann ins INet geroutet.

Den DNS Proxy will ich aber nicht ;).
 
wo ist das problem? auf dem fli4l-inet laeuft ein dns-cache, welcher die dns-server des providers als forwarder nutzt, richtig? dieser dns-cache ist nach innen hin verfuegbar, sodass fli4l-int ihn nutzen kann, auch richtig?

du musst auf dem fli4l-int nun einen separaten dns-server installieren, welcher fuer deine lan-domain "authoritative" ist. dieser dns-server darf aber keine forwarder und keine root-hints eingetragen haben. damit weiss er ueber nichts mehr bescheid, ausser ueber die domains, fuer die er selber master ist.

wenn du auf fli4l-int in die /etc/resolv.conf den dns-cache des fli4l-inet eintraegst, heisst das nicht automatisch, dass ein dns-server, der auf fli4l-int laeuft, diesen als forwarder nutzt. die /etc/resolv.conf konfiguriert nur die bind-resolver-lib, welche jedes program benutzt, das zb gethostbyname(3) aufruft. ein separater dns-server auf fli4l-int benutzt wie gesagt nur forwarder oder root hints, welche in der named.conf eingetragen sind.
 
das ist alles sehr verwirrend ohne kurze und knappe Angaben der Umgebung

aber wo hängen jetzt deine Clients, im 1er Netz? typische Konfiguration eines Clients?

an welche Netze ist der Proxy gebunden?

DNS Config aller Rechner?

P.S. DNS auf dem Intranet Dingen komplett weglassen
 
@TCM

Die Geschichte läuft ja mit Fli4l, das ist zwar auch Linux aber von der Config her völlig anders gemacht. An die resolv.conf komme ich nicht so ohne weiteres ran.

Die Frage hat sich auch eher an Leute gerichtet die Fli4l kennen, weil das wie gesagt eine Sache für sich ist.


@Ghostadmin

Die Clients sitzen im 192.168.1.0/24 Netz und bekommen die IPs per DHCP zugeteilt. Dazu die 192.168.1.1 als DNS Server, kein Gateway. Der Proxy auf fli4l-int lauscht nur auf 192.168.1.1 auf Anfragen.

Die Netze 192.168.1.0/24 und 192.168.0.0/24 laufen über verschiedene (physikalische) Leitungen, also die "sehen" sich nicht.

Da die IPs per DHCP vergeben werden wäre eben ein DNS Server für das LAN (also 192.168.1.0/24) schon ganz nett.


Ich schreib hier jetzt einfach mal ein bisschen was von der fli4l base.txt hin.
Die einzelnen Configs sehen leicht unterschiedlich aus, weil fli4l-inet mit flil 2.1.7 und fli4l-int mit fli4l 2.0.8 läuft (ersterer ist kleiner, bei letzerem gibts mehr Software und Netzwerkboot ist kein Problem).


fli4l-inet:

base.txt (Auszug)
Code:
HOSTNAME='fli4l-inet'                # name of fli4l router

# Per Crossover mit der 3c509 in fli4l-int verbunden
ETH_DRV_N='1'                       # number of ethernet drivers to load, usually 1
ETH_DRV_1='3c509'                   # 1st driver: name (e.g. NE2000 PCI clone)
ETH_DRV_1_OPTION=''                 # 1st driver: additional option
  
IP_ETH_N='1'                        # number of ip ethernet networks, usually 1
IP_ETH_1_NAME=''                    # optional: other device name than ethX
IP_ETH_1_IPADDR='192.168.0.1'       # IP address of your n'th ethernet card
IP_ETH_1_NETMASK='255.255.255.0'    # netmask of your LAN

MASQ_NETWORK='192.168.0.0/24'       # networks to masquerade (e.g. our LAN)

# DNS_FORWARDERS wird bei der Einwahl mit dem DNS vom Provider überschrieben 
# (da Provider IP über DHCP zuteilt und damit auch DNS)
START_DNS='yes'                     # start dns server: 'yes' (use dnsmasq),
                                    # 'ens' (use ens) or 'no'
DNS_FORWARDERS='192.76.144.66'      # DNS servers of your provider, e.g. MSN



So, und hier nun die base.txt vom fli4l-int

Code:
HOSTNAME='fli4l-int'                # name of fli4l router

ETH_DRV_N='2'                       # number of ethernet drivers to load, usually 1

# Per Crossover mit fli4l-inet verbunden
ETH_DRV_1='3c509'
ETH_DRV_1_OPTION=''

# Mit eigentlichem LAN verbunden
ETH_DRV_2='smc-ultra'
ETH_DRV_2_OPTION=''


IP_ETH_N='2'                        # number of ip ethernet networks, usually 1

# -> 3c509
IP_ETH_1_NAME=''                    # optional: other device name than ethX
IP_ETH_1_IPADDR='192.168.0.2'       # IP address of your n'th ethernet card
IP_ETH_1_NETWORK='192.168.0.0'      # network of your LAN
IP_ETH_1_NETMASK='255.255.255.0'    # netmask of your LAN

# -> smc ultra
IP_ETH_2_NAME=''                    # optional: other device name than ethX
IP_ETH_2_IPADDR='192.168.1.1'       # IP address of your n'th ethernet card
IP_ETH_2_NETWORK='192.168.1.0'      # network of your LAN
IP_ETH_2_NETMASK='255.255.255.0'    # netmask of your LAN

# Damit fli4l-int so ohne weiteres ins Netz kommt
# (normalerweise per DHCP bei Einwahl vom Provider zugeteilt)
IP_DEFAULT_GATEWAY='192.168.0.1'    # normally not used, read documentation!

# Nix zu maskieren und nix zu routen
MASQ_NETWORK=''       		    # networks to masquerade (e.g. our LAN)

# DNS Server
START_DNS='yes'                     # start dns server: yes or no

# DNS Anfragen an fli4l-inet schicken
DNS_FORWARDERS='192.168.0.1' 	    # DNS servers of your provider, e.g. MSN


So, das Problem ist, dass ich nur über DNS_FORWARDERS die folgenden DNS Server eintragen kann (wenn sich fli4l-inet einwählt wird das ja normalerweise per DHCP vom Provider ausgefüllt, desswegen kann das bei fli4l-inet auf einem sinnlosen Wert stehen - der wird eh überschrieben).

Die IP_ETHx_NETWORK Angabe fällt bei fli4l 2.1.7 weg, also nicht wundern wieso das bei fli4l-inet fehlt ;). Das dürfte er dann aus der IP ermitteln.

Alle LAN Rechner hängen wie gesagt an der smc ultra vom fli4l-int, also im Netz 192.168.1.0/24.
 
tja, so wie das aussieht, benutzt fli4l eine einheitliche "meta"-config, aus der im hintergrund die configs fuer diverse dienste abgeleitet werden und nach der die interfaces eingerichtet werden etc.

und weiterhin scheint es dann einfach einen dns-cache einzurichten, welcher dann die forwarder aus dieser config stur abfragt.

aber trotzdem: wieso kommst du an die resolv.conf nicht ran? macht der die automatisch bei jedem boot wieder "kaputt"?

mein tip: installier was richtiges, was dich nicht einschraenkt und schmeiss diesen muell, der nur dazu gut ist, newbies den hintern zu putzen, in die tonne.
 
Original geschrieben von TCM
tja, so wie das aussieht, benutzt fli4l eine einheitliche "meta"-config, aus der im hintergrund die configs fuer diverse dienste abgeleitet werden und nach der die interfaces eingerichtet werden etc.

und weiterhin scheint es dann einfach einen dns-cache einzurichten, welcher dann die forwarder aus dieser config stur abfragt.

aber trotzdem: wieso kommst du an die resolv.conf nicht ran? macht der die automatisch bei jedem boot wieder "kaputt"?

mein tip: installier was richtiges, was dich nicht einschraenkt und schmeiss diesen muell, der nur dazu gut ist, newbies den hintern zu putzen, in die tonne.

Das will ich nicht gehört haben. Ich könnte sowas zwar auch manuell aufsetzen, aber Fli4l ist wirklich schnell erledigt, da läuft ein mini-httpserver drauf über den ich mir alles schön angucken kann (fli4l-inet kann ich damit sogar ein/auswählen lassen), da läuft squid mit einem 16mb Cache, da läuft ein socks proxy, da läuft die gesamte ISDN Hardware absolut problemlos, da läuft ein kompletter DHCP Server (der mir die Leases im mini-HTTP auch anzeigt), da läuft ein Timeserver, VPN geht (per Bridge ins 192.168.0.0/24 Netz für Sachen die mit Proxies nicht können, wie zb. mein geliebter gehasster SatDSL Server unter Windoofs2k), da läuft die ssh und und und. Das alles ist in 20 Minuten fertig gewesen (ist ja nicht der erste fli4l den ich bastele), der Netzwerkboot klappt auch problemlos und das Bootimage ist auch nur 2.4MB groß. Die Dienste etc. laufen alle aus dem Ram, damit fällt eine HDD weg und den Netzteil und CPU Lüfter hab ich mir eh gespart -> lautlos.

Ich hab vielleicht Zeit mir 2 Fli4l Server hintereinander zu hängen, aber Zeit mir das umständlich alles selber zu machen hab ich nun nicht, da würde wohl immer noch nix laufen. Da ist fli4l einfach viel angenehmer!

Die Projekt-HP gibts unter www.fli4l.de und fli4l gibts schon eine Weile. Schau dir mal die Paketedatenbank an, die sind in 2 Minuten installiert und in 5 Minuten konfiguriert. Dafür hab ich dann alles mögliche an Diensten drinnen.

Das nächstgrößere ist eisfair. Der braucht schon wieder seine HDD Installation (und dabei ist der auch schon ziemlich klein). Mir persönlich gefällt aber die Netzboot Geschichte am besten.
 
mir ist immer noch nicht ganz bewußt warum du auf den Clients einen DNS Eintrag brauchst wenn diesen die Clients nicht nutzen sollen fürs Internet ! Ich meine was bringt denn ein DNS Server für 2 Rechner im LAN ?
 
Wer sagte denn was von 2 Rechnern? ;D

Also in Rekordzeiten sind hier bis zu 7 Rechner im LAN. Da macht sich dann ein DNS Server doch ganz gut. Einer läuft auch als Server (meine SatDSL Kiste, 24/7) hat also immer die selbe IP (-> statischer DNS Eintrag) und normalerweise geb ich da auch nur den Rechnernamen an.
 
hmmm und wenn du auf dem Intranet DNS Teil den Forwarder einfach weglässt dann haben die im LAN einen DNS mit ihren Hosteinträgen und der Zone. Fürs Internet haben die ja Proxy.

Und der Proxy selber braucht keinen DNS Server auf der selben Kiste, den kannst du auch auf dem Internet Teil mit dem Forwarder laufen lassen.

Also sozusagen die 2 DNS Server nicht koppeln
 
Tja, das dumme ist da nur die Fli4l Config. Da kann ich den DNS nur als Forwarder reinpacken oder garnicht. Ich könnt höchstens mal versuchen fli4l-int die IP per DHCP von fli4l-inet zuweisen zu lassen, vielleicht übernimmt er da den DNS nicht als Forwarder.

Andererseits übernimmt er bei der Einwahl ins INet auch den DNS vom Provider als Forwarder.


Die Geschichte hat allgemein den Nachteil, dass ein Rechner wo kein Proxy eingetragen ist ewig versucht irgendwohin eine Verbindung aufzubauen, weil er ja den Rechnernamen auflösen kann. Wenn dagegen der nicht gefunden wird geben die meißten Programme ziemlich schnell auf.
 
ich sehe das so, dass du im moment mit deinem doch relativ fortgeschrittenen setup von fli4l eingeschraenkt wirst. ich hab mir mal dieses fli4l angesehen. in der /opt/etc/config.sh in dem .tar.gz gibts eine funktion write_ens_conf(), welche anscheinend den "ENS" konfiguriert. dieser ens sieht nach einem "lightweight" dns-server/cache aus. in dieser funktion gibts folgende stelle:
Code:
for j in $DNS_FORWARDERS
   do
      if [ "$j" != "0.0.0.0" ]
         then
            echo "forwarder $j"
      fi
   done
die variable $DNS_FORWARDERS wird zum einen weiter oben genutzt, um die /etc/resolv.conf zu schreiben, zum anderen aber auch fuer diesen ens. wenn du jetzt einfach diese stelle auskommentierst, sollte der proxy auf fli4l-int ueber die resolv.conf weiter aufloesen koennen, die clients im lan aber nichts mehr ausser das, was der "ens" auf fli4l-int direkt kennt.

wenn du das script nun veraenderst, hast du natuerlich das problem, diese aenderung bei einem update evtl pflegen zu muessen. und das nur, weil die fli4l-heinis nicht an ein setup gedacht haben, bei dem man die $DNS_FORWARDERS nicht einfach zusammenschmeissen kann. sowas meine ich mit "mach es gleich richtig". dieses config.sh mit den ganzen "meta"-config-variablen ist immer nur so flexibel, wie die entwickler, die damit das ganze fuer weniger bewanderte user tauglich machen wollen.

selbes problem bei suse etc. alles aufgestuelpter mist, der fuer keinen mehr durchschaubar ist. aber was solls, ich schweife schon wieder ab :)
 
Jup danke, hat funktioniert. Musste nur noch die 127.0.0.1 in der resolv.conf vermeiden, die er da automatisch einträgt wenn der DNS Server läuft. Jetzt funzt der Proxy aber vom LAN werden keine Domains im INet mehr aufgelößt.

Das schöne an Fli4l ist eben der Netzwerkboot. Sonst müsste ich da erst großartig irgendwas zurrechtkonfigurieren, so hab ich schnell einen Proxy am Laufen der auch (fast) alles von Haus aus kann.

Klar sind die Configs nicht ideal, ist aber erst das 2. mal dass ich da woanders rumändern musste (die 2. Sache war der DHCP Server, der legt seine lease-datenbank normalerweise auf das Bootmedium, was bei Netzwerkboot ja nicht so ganz funktioniert - bei fli4l 2.1.x kann man das aber auch per config einstellen).

Original geschrieben von TCM
selbes problem bei suse etc. alles aufgestuelpter mist, der fuer keinen mehr durchschaubar ist. aber was solls, ich schweife schon wieder ab :)

Desswegen nehm ich ja auch Slackware ;D. Die einzige Software die es dazu gibt ist der Paketemanager (ein bash Skript), das Netzwerkkonfigtool (auch ein bash Skript) und irgend eine GUI für den Paketemanager (mal zur Abwechslung ein Binary). Bis auf den Kommandozeilenpaketemanager nehm ich aber nix davon.
 
Ja, aber allgemein ist Yast schon für Anfänger ein gutes, für Fortgeschrittene ein absolut schlechtes Programm ;).
 
Ich habs schön öfters geschrieben, ich mache es gerne nochmal. Niemand wird gewzungen diese Oberflächen zu nutzen. Yast macht doch nichts anderes als Konfigdateien zu bearbeiten, dann bearbeitet man sie halt selbst wo ist das Problem?
Dann löscht halt Yast oder was weiß ich aber schreibt nicht immer hin das Suse nur was für Anfänger ist.
 
Zurück
Oben Unten