-
28. 05. 2012, 10:52 #1Mitglied
- Registriert seit
- Feb 2009
- Beiträge
- 95
- Danksagungen
- 0
Port-Router intern // RELAY Software gesucht
Hallo,
ich würde gerne in meinem Netzwerk einige Ports gelegentlich "dynamisch" routen. Am liebsten wäre mir, wenn es dafür Source-Code in C gäbe, sodass ich mir das Wesentliche auf einen kleinen Rechner portieren kann, z.B. auf einen Atmel, der dediziert nur diese Aufgabe bewältigt.
Was genau soll das machen:
Wenn eine Anfrage (intern oder extern) an diesem Teil ankommt, so soll es das IP-Paket einfach an eine andere Adresse und ggf. einen anderen Port leiten.
Im Prinzip ist das das Port Forwarding, wie es jeder Router macht, aber eben bereits im Intranet.
Allerdings hätte ich es gerne so, dass das Forwarding nach bestimmten Regeln vorgenommen wird, also z.B. zeitlich oder Abhängig von anderen Eigenschaften sollen Pakete unterschiedlich "geroutet" werden.
ZUSÄTZLICH (aber das ist schon ein weitere Feature) wäre es toll, wenn das Progrämmchen noch bestimmte IP Pakete "generieren" könnte, z.B. ein WOL paket absetzen, wenn ein bestimmter Port angefragt wird und bestimmte andere Zusände wahr sind.
Kennt jemand so etwas?
1000 Dank im Voraus
jwka
-
28. 05. 2012, 15:14 #2
Re: Port-Router intern // RELAY Software gesucht
Das ist kein Programm, sondern ein klassischer Router, der halt zwischen allen Ports classic routing macht, kein NAT, nicht nur eine Switchfunktion.
-
29. 05. 2012, 05:22 #3Mitglied
(Threadstarter)
- Registriert seit
- Feb 2009
- Beiträge
- 95
- Danksagungen
- 0
Re: Port-Router intern // RELAY Software gesucht
Ich suche zwar (bewusst) nach einer Software-Lösung, aber ...
vielleicht kannst Du mir einen Router nennen, der die Funktionen, die ich nannte, auch (z.B. bedingte Portweiterleitung, von aussen "umstellbar" mittels Funktionen - ohne Eingriff am Frontend) beherrscht?
Ich kenne da nämlich keinen.
Danke.
jwka
-
29. 05. 2012, 07:49 #4
Re: Port-Router intern // RELAY Software gesucht
Also erst mal: Klar ist das im Endeffekt eine software. Der Ort, wo du diese Software startest ist aber ein anderer. Es ist unmöglich so etwas zu realisieren, indem du auf deinem eigenen kleinen Client so eine Anwendung startest.
JEDER richtige Router (und damit meine ich keine 100 Euro Geräte für Heimanwender) kann so etwas.
Ansonsten auch jeder Linux Router mit 4er oder 5er Netzwerkkarten oder halt 5 einzelnen Netzwerkkarten.
Schau dir mal Geräte von Cisco, Bintec, Juniper etc. an.
Da definierst du routing zwischen den Netzsegmenten und auch welche Ports erlaubt sind, welche wo hin weitergeleitet werden.
Das Problem dürfte sein, dass du an sich für diese Portweiterleitungen unterschiedliche Netze brauchst.
Diese Idee mit "Ich leite den Port so weiter wie ich will, immer auf eine andere Ziel IP" klingt ja fast wie die Idee irgendwie einen Man-in-the-middle Angriff zu machen oder den ICQ Traffic deiner Schwester auf dich umzuleiten. ;-)
Im Endeffekt ist dein Vorhaben mit den grundlegenden Funktionsweisen eines Netzwerkes nicht zu vereinen. Eine Software dafür ist in etwa so, als wenn ich eine Software suche, die an meinem Auto die Reifen wechselt.
-
29. 05. 2012, 10:08 #5
Re: Port-Router intern // RELAY Software gesucht
Heyho,
auch ein paar Worte von mir
Du beschreibst einen normalen Router (nicht SoHo) bzw. eher Ethernet-Bridge mit OSI-3-"Support".
Um Pakete mit "scheduled rules" zu behandeln, müssen die Pakete auf jeden Fall durch "das Gerät". Du hast also nur die Chance, einen Router zu benutzen oder eben eine (transparente) Bridge. Der Unterschied ist, dass Pakete direkt an den Router adressiert werden. Eine Bridge dagegen kann man physikalisch (oder semi-physikalisch mit VLAN) "dazwischenschalten". Auch funktioniert eine Bridge erst ab 2 NICs (oder eben 2 VLANs ;D), ein Router dagegen braucht (mindestens) nur eine.
Durch deine Forderung, dass u.A. auch Ports und Adressen umgeschrieben werden, benötigt "das Gerät" also NAT-Support.
Der Sourcecode, den du suchst, existiert. z.B. der IP-Stack von Linux. So ohne weiteres wird man den aber nicht auf nen Atmel pressen können
Vorschlag:
Es gibt so MiniPCs (PlugComputer), die nicht größer sind als eine Zeitschaltuhr. Kosten unter 100€ und verbrauchen quasi keinen Strom. Da kannst du ein Linux raufschmeißen und hast mit iproute2, iptables und dem Linux IP-Stack alles, was du brauchst. Wenn du einen PlugComputer mit 2 NICs findest (oder mit 1 NIC dafür aber mit VLAN-Support), kannst du auch o.g. transparente Bridge bauen. Ansonsten wirst du um das Bauen eines Routers nicht herum kommen
-k
-
29. 05. 2012, 10:58 #6Mitglied
(Threadstarter)
- Registriert seit
- Feb 2009
- Beiträge
- 95
- Danksagungen
- 0
Re: Port-Router intern // RELAY Software gesucht
Danke für die Antworten. Der Ansatz mit dem PC und Linux drauf ist nicht schlecht.
Vielelicht mal noch, wozu das Ganze?
Hausautomation.
Ich möchte auf dem Internet-Router x Ports freigeben, sagen wir mal 20 Stück.
Wenn nur der Benutzer verreist (oder abends weggeht) möchte er der Security Firma und bestimmten anderen Leuten Zugang zu seinem Haus geben, evtl. sogar erst nachdem diese sich "angemeldet" haben (ich denke da an ein IP Paket mit codierter Passphrase oder so.
Auch er selbst (und seine Familie) soll dann Zugriff zu Cams, Lichtsteuerung, Simulationen etc. haben.
Wenn er wieder kommt, soll dieses ohne großes gefummele "per Schalterdruck" aber eben auch sicher, ausgeschaltet werden können.
Dasselbe gilt z.B. Für den temporären Zugriff des Servicedienstes, den der Benutzer gerne "selbst" schalten können möchte - ohne gefummele am Internet-Router.
Die Zeitsteuerung habe ich nur ins Spiel gebracht, weil die ohne dieses große Erklärmonster hier einleutet.
Da es sich bei dieser Sache eh nur um wenige Ports (zu einer Zeit) - sagen wir mal max. 100 handeln wird, und die Paketzahl, die geroutet werden muss, auch überschaubar ist (das meiste würden wohl Cameras ausmachen, deren IP Stream aber auch nicht gigantiusch ist, zumal ja "remote" ohnehin der Upstream der Internetleitung - i.d.R. DSL - die Limitierung darstellen dürfte) dachte ich an einen Atmel (oder vergleichbar), weil der mir eben bei Stromausfällen sicher bootet, ohne dass da irgendwie ein Hänger sein kann (Festplatte, nicht geschlossene Dateien etc).
Wie ihr seht, ist die Anforderung schon ein bischen "speziell", und m.E. mit käuflichen Geräten nicht abdeckbar.
Gegenbeweise gerne gelesen!
Grüße
jwka
-
29. 05. 2012, 11:12 #7
Re: Port-Router intern // RELAY Software gesucht
Da kannst du so viele portforwarding Regeln eintragen wie du willst.
Die gezielt, mit einem Klick an und ausschalten.
Wenn es sicherer sein soll: Bau nen VPN auf. Das kann die DD-WRT Firmware für einzelne Tunnel die nicht so anspruchsvoll sind in Bezug auf Geschwindigkeit auch direkt.
Das hat allerdings nichts mehr mit LAN interner Filterung zu tun sondern absolut und ausschließlich von WAN zu LAN. Nur dafür braucht man auch dann NAT. Das klang ja zuerst so, als wenn du das auch lokal im LAN willst.
Hardwareempfehlung: TP-Link TL-WR1043ND
-
29. 05. 2012, 18:49 #8Mitglied
(Threadstarter)
- Registriert seit
- Feb 2009
- Beiträge
- 95
- Danksagungen
- 0
Re: Port-Router intern // RELAY Software gesucht
@Issup:
Das kenne ich von jedem Router, es ist aber eben NICHT das was ich will.
Denn zu Deinem Vorschlag muss ich eben jedesmal den Router "umprogrammieren" und zwar - und hier liegt der Haken: Im GUI des Routers.
Was ich aber will, ist, dass mein "Wunschteil" verschiedene Routing-Tables vorhält und diese dann ( z.B. per Socket IP-Befehl ) umschaltet. Und das ggf. auch für interne Adressen (in der Grafik rot, weil das mit dem Router gar nicht geht).
Ins besondere - und das kann eben ein Router auch nicht - soll mein Wunschteil eben eine eigene Logik bekommen können, wann bzw. auf welchen Events (z.B. auch die Abfrage, ob eine bestimmte Datei im Netz vorhanden ist) die Routing-Table-Umschaltung geschieht.
Ich habe mal ein Bild beigefügt, das meine Idee beschreibt (hoffe ich).
Im einfachsten Falle würde ich "Wunsch" abschalten und die Routings von aussen würden komplett ins Leere laufen.
jwka
-
29. 05. 2012, 19:37 #9
Re: Port-Router intern // RELAY Software gesucht
Heyho
,
jetzt bin ich mir aber unsicher, was du willst? Ne fertige Software gibts so erstmal nicht. Allerdings hat die Menschheit mit Linux ein tolles Toolkit zusammengeschustert. Damit allein kann man schon viel erreichen. Wenn dazu noch ein klein wenig Programmiererfahrung kommt (und damit meine ich _nicht_ C oder Assembler), dann bist du bis ins letzte Detail flexibel. Dir steht alles offen. Und da 'alles' sehr viel ist, hier ein kurzer Auszug :>
1) Du könntest per iptables mehrere custom-chains anlegen z.B.
Über das time-Modul (http://www.netfilter.org/documentati...-3.html#ss3.19) von iptables kannst du dann auch noch entscheiden, welche Regel (oder auch welche Chain) für welches Paket matchen soll.Code:[Chain1] - verbiete Forwarding von Port 800-900 - Port 910 forwarde bitte an 192.168.4.2 - IP-Adresse 1.2.3.4 bitte auf Port 120 'reinlassen' und auf 192.168.4.100 Port 88 mappen [Chain2] - Alle incoming Pakete ignorieren [Chain3] ...
Wenn du mehr Dynamik brauchst, kannst du z.B. knock benutzen. z.B.
- Wenn ICMP-Paket mit dem Inhalt "sauerbraten" 5 mal innerhalb von 1.2 Sekunden eintrifft, führe Befehl aus: iptables -P INPUT ALLOW / ./skype / mail du@mobile.de "da knockt jemand" / und was dir halt noch so alles mit der Linux Toolchain einfällt
Du kannst natürlich auch eigene Bashscripte / NodeJS- / PHP-Applikationen starten lassen, die dann Entscheidungen treffen / die Firewall verändern / deine Routingtabellen manipulieren oder die Klospülung anwerfen.
Um nochmal auf den Punkt "Wenn dazu noch ein klein wenig Programmiererfahrung kommt..." zu kommen:
Du kannst 'knock' oder andere Methoden auch einfach über Board werfen und dir z.B. ein eigenes HTTP-Interface bauen:
http://ichbin:admin@linuxkiste/setActiveChain/Chain2
http://ichbin:admin@linuxkiste/emerg...own/?sure=true
http://ichbin:admin@linuxkiste/allow...cherIp=1.2.3.4
http://ichbin:admin@linuxkiste/setSc...88?policy=DROP
Das sind nätürlich vollkommen fiktive Routen - sie sollen die nur Denkhinweise geben.
Und wenn du deinen SoHo-Router weiterhin benutzen willst, schau doch mal, ob es für dein Routermodell eine spezifizierte HTTP-Schnittstelle gibt. Wenn nicht, dann hat vielleicht schon jemand einen Scraper als Library geschrieben und published. Und wenns das auch nicht gibt, schau doch mal, ob du dir mit CURL, grep, etc... selbst was schreiben kann.
Auch soll die Möglichkeit erwähnt sein, dass manche Router UPnP unterstützten. Du kannst dir also ein kleines App schreiben, das zu bestimmten Zeiten / bei bestimmten Events per UPnP Portforwardings an deinem Router registriert.
Sei kreativ
-k
-
30. 05. 2012, 09:26 #10
Re: Port-Router intern // RELAY Software gesucht
Also wenn dieser Mini Haken, der im Webinterface gesetzt werden muß schon zu viel ist...
Und bei der DD-WRT Firmware ist dieses Interface auch nur ein schön gemachtes IP Tables. Du kannst per telnet und skript dir selbst einfach deine Regeln hinterlegen und per Knopfdruck oder via Taskscheduler von Windows auch zeitgesteuert hoch laden.
Ansonsten ist das ohne jede Menge Programmierkenntnisse nicht "mal eben so" zu machen. Eine "Software" gibt es dafür auch nicht. Weil so etwas niemand braucht. Dieses wirre PDF habe ich übrigens nicht kapiert. Aber ist auch egal. ;-)
Bilder läd man hier übrigens über den Punkt mit "Grafik einfügen" hoch, oben in der Liste, wo man auch Schrift fett macht etc. und nicht über "Anhänge verwalten".
-
01. 06. 2012, 15:49 #11Mitglied
(Threadstarter)
- Registriert seit
- Feb 2009
- Beiträge
- 95
- Danksagungen
- 0
Re: Port-Router intern // RELAY Software gesucht
Erstmal noch ein Danke schön für die Antworten.
Einer der Gründe, warum ich nach einer vom Router unabhängigen Lösung suche ist, dass ich dieses Thema "Port Forwarding" auch bei Projekten bei Kunden einsetzen will.
Und alles, was ich heite für einen bestimmten Router "entwerfe" kann morgen "entwertet" sein, weil man den Router schlicht nicht mehr kaufen kann - dank unserer schnellebigen Zeit.
Zum Thema "sei kreativ": Man kann nicht überall kreativ sein. Ich programmiere schon sehr viel im Home Automation bereich und für dieses (eigentlich simple) Them, suche ich halt eine "out.of-the-box-Lösung".
Mal sehen. Ich werde mir vielleicht mal das Linux Thema ansehen, steht eh auf der to-be-done Liste.
@issup: Es ist nicht so, dass das niemand braucht, und auch nicht so, dass es dafür keine Software gibt. Habe nach einigem Suchen inzwischen auch was auf SourceForge gefunden:
PassPort. Und ne private Website auch: quantumg.net Muss mal sehen, ob sich da etwas portieren lässt.
Nochmals Danke für Euren Input!
Ciao
jwka
-
01. 06. 2012, 20:34 #12
Re: Port-Router intern // RELAY Software gesucht
Das dd-wrt Projekt und das darunter liegende Linux funktioniert auf einigen hundert Routern und zwar schon seit 2004? Eins der ersten Geräte war der Linksys WRT54G rev1.0.
-
13. 10. 2012, 18:36 #13Mitglied
(Threadstarter)
- Registriert seit
- Feb 2009
- Beiträge
- 95
- Danksagungen
- 0
Re: Port-Router intern // RELAY Software gesucht
Wollte hier nochmals ein Danke reinrufen, war länger weg und konnte mich nicht mehr damit beschäftigen. Werde mir die dd-wrt und OpenWrt's mal ansehen.
Danke für die Hinweise.
-


Zitieren

mehr lesen...







ver.di und VHS-Köln laden zum...
Heute, 00:01 in gulli:news