JayKoZa
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
Hallo, ich bin neu hier und habe folgendes vor: Ich möchte, das Clienten (öffentliche IPs) wenn Sie sich via Domain (12.34.56.78) verbinden dieser Server diese Anfrage an ein Locales Netzwek leitet (20.18.1.100)
dort wenn der dienst existiert die CLIENT IP angezeigt wird jedoch der CLIENT nur die ip 12.34.56.78 sehen kann, damit der Webserver mittels geoip in der lage ist die Sprache an den Clienten anzupassen aber der client nicht in der lage ist diese IP zu sehen bzw. da sie local ist könnte er ohnehin nicht direct zugreifen. Jedoch zeigt er mir im Server (20.18.1.100) die ip des Servers 12.34.56.78 und dort die IP des Clienten... Ich brauche vermutlich eine VPN für einen speziellen Port (80,443) um diese verbindungen auf dem server 12.34.56.78 ziwschen CLIENT und WebServer (20.18.1.100) zu managen. Wie erstelle ich diese, das alle anfragen zum Server 12.34.56.78:80/443 an den Webserver 20.18.1.100:80/443 gehen jedoch die CLIENTIP im Webserver steht? Das ganze soll später für einzelne PORT auf dem Server 12.34.56.78 zu verschiedenen IPs im Localen netzwerk aufgebaut werden.
Dass. 80/443 ein Localer Server, 9987:12000 Localer Server für TS3 usw... Es ist wichtig das die CLientIP dabei nicht verloren geht und Wichtig, dass der Client (sollten es Öffentliche Server IPs sein für die dienste) nicht diese IPS sehen kann, wenn nur die von dem aus er weitergeleitet wird (12.34.56.78) Bin für jede hilfe sehr dankbar. Gruß
Jay
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 21725
Wohnort: Lorchhausen im schönen Rheingau
|
Ich glaube, du suchst einen Reverse Proxy. Geht mit Apache, nginx oder spezialisierten Softwares wie HAProxy. Die können dann auch die anfragende IP in einen speziellen HTTP-Header schreiben, den deine Anwendung auswerten kann.
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17442
|
X-Forwarded-For nennt sich der Header in der Regel, aber noch besser: Sprache macht man nicht per Geo-IP, sondern nimmt das was einem der Browser kostenlos mitschickt und der Benutzer beeinflussen kann.
mfg Stefan
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
das ist es ja, es soll nicht nur http/s damit gehen, beispiel wo es geht ist cloudflare. Wenn der Client zum TS3 verbindet, sehe ich als admin, seine IP aber er nicht die vom TS3Server sonderm vom Proxy Server der nicht im Selben Rechenzentrum sitzt und via vpn mit diesem verbunden ist... Soweit ich weis brauche ich dazu ein gateway... ich habe nur leider keine ahnung wie ich das dann mit iptables realisiere. Das weiterleiten an sich klappt, jedoch sehe ich (egal welcher dienst) immer nur die IP vom Proxy als Client IP... das will ich ändern. Gruß
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
wenn ich dann einen Clienten vom TS3, Webserver, Gameserver via IP banne, banne ich derzeit ALLE. oder ich müsste im Proxy nachschauen welcher USER es ist um diesen dann im Proxy zu bannen, dass ist aber ein wenig sinnfrei...
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
danke für die schnellen Rückmeldungen!
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17442
|
Gut, aber dein Problem ist folgendes: Wenn ein Protokoll keine IP mitliefert, und der IP Header überschrieben wird (durch NAT, Port-Forwarding, Whatever, …) dann ist die IP weg. Eventuell erklärst du dein Problem aber nochmal langsam und neu, vielleicht verstehen wir dich auch einfach nur falsch. Wenn dein TS3 Client an deinen Proxy/Gateway/VPN geht, dann bleibt die Quelladresse (die du blocken willst) erhalten. Im TS fliegt dann nur der Client bzw. das Netz raus. Da heute viel NAT unterwegs ist (IPv4 sei Dank) blockst du per IP meist komplette Netze / Privatkunden die halt nur hinter einer Fritzbox etc pp hängen. tl;dr: Beschreibe mal dein Ziel anhand eines konkreten Beispiels. mfg Stefan
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
Genau das ist das Problem, er verliert die Client IP bzw diese ist beim Proxy Sichtbar und dieser baut die verbindung zum TS3 Server auf. Beispiel: Derzeit ist es so: Client (11.22.33.44) → Anfrage z.b. Port 9987 (TS3 Server) via Domain → Proxyserver (22.33.44.55) routed zum Internen Netzwerk an → TS3Server Host (20.18.1.100) 9987 Wenn ich nun im TS3 Server Host iptraf oder tcp track öffne steht dort die IP des Proxyservers 22.33.44.55 aber nicht die ip vom Clienten genauso auch im TS3 server unter verbindungsinfo, steht statt die Client IP die Proxy IP, das Problem bekomme ich nicht in den Griff... Ich bin auch ein totaler anfänger mit iptables möchte es aber lernen und wissen wie es geht... Das ganze ist mittels iptables -t nat geregelt, da andere lösungswege meistens nicht einwandfrei liefen... was mache ich da falsch? ich kann auch gerne ein beispiel posten Gruß
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 | #!/bin/bash
Admin1="95.93.111.122/32"
Admin_IPs_Withelist="$Admin1" # For Admins Direct Connecting onto the named Ports below!
# Bungee Master
Bungee_IP="20.18.0.100"
Bungee_AIP="20.18.1.100"
Bungee_MCP="25565"
Bungee_MCQ="25566"
Bungee_SSH="22100"
# Admins IP Whitelist direct Connections
# Banned Server
Banned_MCP="26666"
Banned_MCQ="26667"
# Serverlisting Server
Listing_MCP="20000"
Listing_MCQ="20001"
# Lobby Server
Lobby_IP="20.18.0.101"
Lobby_AIP="20.18.1.101"
Lobby_MCP="20101"
Lobby_MCQ="21101"
Lobby_SSH="22101"
# Survival Server 1
Survival1_IP="20.18.0.111"
Survival1_AIP="20.18.1.111"
Survival1_MCP="20111"
Survival1_MCQ="21111"
Survival1_SSH="22111"
# Creative Server 1
Creative1_IP="20.18.0.116"
Creative1_AIP="20.18.1.116"
Creative1_MCP="20116"
Creative1_MCQ="21116"
Creative1_SSH="22116"
# Admins 1.13 Testserver
Admins_113_IP="20.18.0.120"
Admins_113_AIP="20.18.1.120"
Admins_113_MCP="20120"
Admins_113_MCQ="21120"
Admins_113_SSH="22120"
# Farm Server 1
Farm1_IP="20.18.0.121"
Farm1_AIP="20.18.0.121"
Farm1_MCP="20121"
Farm1_MCQ="21121"
Farm1_SSH="22121"
# City Build Server 1
CB1_IP="20.18.0.126"
CB1_AIP="20.18.1.126"
CB1_MCP="20126"
CB1_MCQ="21126"
CB1_SSH="22126"
# Admin IP Withelist routings
iptables -t nat $FW PREROUTING -s $Admin_IPs_Withelist -p tcp --dport $AS_SSHI -j DNAT --to-destination $AS_IP:$AS_SSHO
iptables -t nat $FW PREROUTING -s $Admin_IPs_Withelist -p tcp --dport $Bungee_SSH -j DNAT --to-destination $Bungee_AIP:22
iptables -t nat $FW PREROUTING -s $Admin_IPs_Withelist -p tcp --dport $Lobby_SSH -j DNAT --to-destination $Lobby_AIP:22
iptables -t nat $FW PREROUTING -s $Admin_IPs_Withelist -p tcp --dport $Survival1_SSH -j DNAT --to-destination $Survival1_AIP:22
iptables -t nat $FW PREROUTING -s $Admin_IPs_Withelist -p tcp --dport $Creative1_SSH -j DNAT --to-destination $Creative1_AIP:22
iptables -t nat $FW PREROUTING -s $Admin_IPs_Withelist -p tcp --dport $Admins_113_SSH -j DNAT --to-destination $Admins_113_AIP:22
iptables -t nat $FW PREROUTING -s $Admin_IPs_Withelist -p tcp --dport $Farm1_SSH -j DNAT --to-destination $Farm1_AIP:22
iptables -t nat $FW PREROUTING -s $Admin_IPs_Withelist -p tcp --dport $CB1_SSH -j DNAT --to-destination $CB1_AIP:22
# http /s weiterleiten Client IP behalten (läuft nicht damit)
iptables -t nat $FW PREROUTING -p tcp --dport $Bungee_MCP -j DNAT --to-destination $Bungee_IP:$Bungee_MCP
iptables -t nat $FW PREROUTING -p tcp --dport $Bungee_MCQ -j DNAT --to-destination $Bungee_IP:$Bungee_MCQ
# http /s weiterleiten Client IP behalten (läuft nicht damit)
iptables -t nat $FW PREROUTING -p tcp --dport 80 -j DNAT --to-destination 20.18.1.111:80
iptables -t nat $FW PREROUTING -p tcp --dport 443 -j DNAT --to-destination 20.18.1.111:443
iptables -t nat $FW POSTROUTING -j MASQUERADE
|
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17442
|
Wie sehen deine iptables Regeln aus? Ich vermute dein Proxy Server schreibt alle ausgehenden IP Adressen um. Und genau deshalb hast du dein Problem überhaupt. Was sagt iptables-save an diesem Proxyserver? mfg Stefan
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
genau das tut er, da ich keinen anderen lösungsweg gefunden habe ich aber langsam auf die server so zugreifen muss... iptables-list steht oben (sh file) bisschen gekürtzt ist normal über 100 zeilen lang. also viel vor...
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17442
|
Gut, dann killst du dir damit aber halt auch die IP vom Client. Relevant wäre für mich auch die echten IPs zu sehen, du kannst gerne die letzten 3 Ziffern durch XXX ersetzen. mfg Stefan
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
die einzigen echten IPs sind die vom Proxy und die vom Clienten alle anderen sind 20.18.0.X 20.18.1.X 2x internes Netzwerk via Virtual Lan card...
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
wenn du magst und zeit und möglichkeit hast, könne wir via Teamspeak sprechen und du schaust es dir mal an wenn du einen lösungsweg kennst können wir so testen und danach baue ich das ganze um... dann kannst du auch live sehen was wie dort läuft und was nicht läuft 😉
|
JayKoZa
(Themenstarter)
Anmeldungsdatum: 14. August 2018
Beiträge: 22
|
ich denke ich muss eines dieser virtuellen lans mit dem enp0s3 (öffenliche netzwerkkarte) als gateway routen richtig?
|