'/etc/hosts' für nur eine Anwendung?

E

eiffel56

Mitglied
Hi,

gibt es irgendwie einen Weg Host Lookup Changes(wie mit /etc/hosts) nur für eine, spezifizierte Anwendung zu machen?
Der Hintergrund ist das ich hier ein paar Services aufsetzen will. Die sind auch von aussen erreichbar, aber wenn ich von innen mit meiner externen IP auf mich selbst zugreifen will wird die Verbindung einfach rejected(da der Router nich mitkriegt das er das weiterreichen soll und das einfach selber beantwortet).
Dieses Verhalten ist für einige Services ziemlich doof. Weiß da jemand was? :/

Danke ;),
eiffel56
 
Du kannst einfach mit iptables für diese Services entsprechende Regeln erstellen, die deine Anfragen auf die gewünschte IP leiten. Im Prinzip ein Portforwarding auf deinen eigenen Rechner also.
 
Hi,

kannst du da weiter ins Detail gehen? Meine IPTables Kenntnisse sind dann doch eher bescheiden.

Der Plan sieht so aus:
Der Server soll ganz normal laufen, er benutzt meine DynDNS the-silent-force.ath.cx welche immer auf meinen Router zeigt. Der Server ist so von aussern ohne Probleme erreichbar

Der Client soll umgemappt werden. Immer wenn der Client versucht auf the-silent-force.ath.cx oder auf was diese DynDNS dann jeweils zeigt zuzugreifen soll er auf meinen localhost geschickt werden, also 127.0.0.1.

Der Server benutzt verdammt viele Ports, es handelt sich dabei um OpenSim: http://opensimulator.org/wiki/Main_Page
Der Client benutzt davon aber nur 8002 wenn ich mich grad nicht irre, der Rest ist für die Server interne Kommunikation im Grid. Das soll mich aber nicht weiter stören, denn der Server soll wie gesagt so laufen als wäre nichts. Der steht dabei in Verbindung zu nem Grid.

Danke ;),
eiffel56
 
Du leitest einfach mittels '--to-destination' die Anfragen auf bestimmte Ports auf die 127.0.0.1 um. Für Details müsste ich auch erst die Manpage konsultieren. Siehe also 'man iptables'. In etwa dürfte das so aussehen (aus dem Kopf geschrieben, muss daher nicht absolut richtig sein):

iptables -t nat -A PREROUTING -i <netzwerk-device> -p <tcp/udp> --dport <portnummer> -j DNAT --to-destination 127.0.0.1

So in etwa sollte das funktionieren, denke ich. Eventuell musst du auch die Source-Adresse angeben, wenn es Ports sind, auf die du auch sonst irgendwo im Internet connectest.

Vorher natürlich noch die Forward-Chain auf ACCEPT setzen und die Ports entsprechend freigeben, sofern die Input-Chain nicht komplett auf ACCEPT gesetzt ist.
 

Ähnliche Themen

CentOS 6.3 RADIUS - Keine Verbindung möglich

Bind9, DNS ohne Domäne

Problem mit apache und 2 Virtuellen hosts

Routing funktioniert nicht mehr nach dem Start der Firewall

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Zurück
Oben