dnsmasq auf sp501v mit bitswitcher scripten

Ten_Eniunlsl

Neuer User
Mitglied seit
22 Feb 2010
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Hi alle zusammen

Hab jetzt n ganze menge gesucht zu dnsmasq und nichts gefunden.
Ich möchte vollgendes realisieren einen dhcp und dns server auf der sp 501 der
1.)Allen pcs die ip einstellungen gibt imprinzip klasisches dhcp
2.a)wenn der user seinen browser öffnet und eine adresse eingibt(egal welche) auf meinen Webserver umgleitet werden.
2.b)auf der seite soll sich der user anmelden können
3.)wenn der user bereits angemeldet ist dann soll er statt dessen eine normale namens auflösung haben also entweder per dhcp einen anderen dns server bekommen oder dnsmasq einen anderen dns server anfragen.

Frage:
punkt 1 ist soweit klar.
punkt 2a und 3 wie kann ich so eine umleitung abhängig von der User IP hinbekommen ich dachte an sowas wie statt der hosts datei ein shell script ausführen(bzw kann man in der hosts datei derartige abfragen realisieren) das nach der ip fragt und entsprechen arbeitet
punkt 2b ist klar

Am besten wäre noch über nen cronjob regelmässig die ip anpingen so alle 10min sowie über arp -a prüfen ob die mac sich geändert hat wenn das der fall ist bis zur neu anmeldung den gang ins internet speeren.-->blos ne anmerkung das krieg ich mit nem shellscript denk ich hin.

Bin für alle hinweise dankbar

Sers
Ten
 
Mögliche lösung gefunden

Hi
Hab jetzt viel gesucht gelesen und gelehrnt und hab jetzt n weg wie ich sowas mit iptables realisieren kann ich lass die dns ganz normal auflösen aber leite dann den www aufruf mit iptables auf den webserver der box um

in etwa so:
# leitet alle Port 80 Anfragen auf Adapter eth0 an Port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport http -j REDIRECT --to-port 3128

Wäre aber schön wenn jemand doch noch eine lösung mit dnsmasq (dns bzw dhcp) postet.

Sers
Ten
 
IPTables

Hi
Also hab mich jetzt mal etwas mit iptables ausseinander gesetzt komm mit einfachen Regeln ganz gut klar hab aber noch probleme eine vernünftige nat regel aufzubauen.

Ich verwende dieses script:
Code:
#! /bin/sh
iptables -F INPUT
iptables -t nat -F

iptables -A INPUT -p udp --dport 67  -j ACCEPT
iptables -A INPUT -p udp --dport 53 --src 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 --src 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport ssh --src 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport http --src 192.168.2.0/24 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp --dport 80 --src 192.168.2.0/24  -j REDIRECT

Es Funktioniert soweit alles ausser der Natregel
getestet hab ich es durch aufruf von 192.168.2.20 im browser die box selber hat .21 am ende
Die Netzwerkkarte vom laptop ist auf:
IP: 192.168.2.10
NMask 255.255.255.0
Gateway 192.168.2.21
DNS 192.168.2.21

Die Frage ist was mach ich falsch?

Hier die ausgabe von iptables -L
Code:
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps
ACCEPT     udp  --  192.168.2.0/24       anywhere            udp dpt:domain
ACCEPT     tcp  --  192.168.2.0/24       anywhere            tcp dpt:domain
ACCEPT     tcp  --  192.168.2.0/24       anywhere            tcp dpt:ssh
ACCEPT     tcp  --  192.168.2.0/24       anywhere            tcp dpt:www

Chain FORWARD (policy DROP)
target     prot opt source               destination
TCPMSS     tcp  --  anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
PORT_AND_WEB_FILTER  all  --  anywhere             anywhere
PORT_AND_WEB_FILTER  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state NEW
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state NEW
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state NEW,RELATED,ESTABLISHED

Chain PORTFW_INPUT (0 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Chain PORT_AND_WEB_FILTER (2 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Chain SERVICES_INPUT (0 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW
RETURN     all  --  anywhere             anywhere

Chain SIP_INPUT (0 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Und iptables -t nat -L ergibt
Code:
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  192.168.2.0/24       anywhere            tcp dpt:www redir ports 80

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Weiß vieleicht einer wie ich mir das abarbeiten der Nat regel loggen kann.
Eine Theorie hab ich noch.
Kann es sein das ich noch eine ausgabe regelung brauch damit der pc die zurück kommenden packete akzeptiert(evtl. eine änderung der IP auf die ursprünglich gefragte IP).

Ich hoffe mir kann jemand weiterhelfen
Vielen Dank

Ten
 
Also neue Erkentnisse

Erstens ganz kleiner fehler im ersten treat es handelt sich natürlich nicht um den sp w501 sondern um den w500v vieleicht kann das ja mal jemand aus bessern

Zweitens hab jetzt noch einiges ausprobiert und hab jetzt ausser der ausgabe regelung noch 2 theorien zum einen das der browser erkennt das die packete nicht vom eigentlich angesprochenen server kommen sondern von der box daher müsste evtl ne regel her um die ip zu ändern von der an den rechner gesendet wird

zum anderen kann es sein das route eventuell vor iptables greift oder die br0 netzwerkbrücke.

Werde das jetzt noch ausprobieren hoffe das sich vleicht noch einer meldet mit ner treffenden idee.

Sers
Ten
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,284
Beiträge
2,249,439
Mitglieder
373,877
Neuestes Mitglied
Bbj
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.