Einwegbrücke zwischen Schnittstellen

Einwegbrücke zwischen Schnittstellen

Ich versuche derzeit, meinen Server so einzurichten, dass er auf Containern basiert, um die RAM- und CPU-Auslastung für alle Programme zu begrenzen. Mein Problem ist, dass ich alle Anwendungen in verschiedenen Containern auf dieselbe IP auf verschiedenen Ports hören lassen möchte, aber die Flexibilität beibehalten und andere Container mit speziellen IPs haben möchte, auf die sie vollen Zugriff haben. Die anderen IPs sind Aliase von eth0 (eth0:0, eth0:1 usw.).

+----+ +----+ +----+
|IP 1| |IP 1| |IP 2| IP
|WEB | | TS | |GAME| Application
| 80 | |9987| |ALL | Port(s)
+----+ +----+ +----+
  |     |      |
  +-----+------+
        |
     +------+
     |SERVER|
     +--+---+ 
        |
    +---+----+
    |Internet|
    +--------+

Ich habe viel gesucht, konnte aber nichts finden, das mir weiterhilft. Es tut mir leid, wenn dies ein Duplikat ist, aber ich kann einfach nichts finden ... Vielleicht liegt es daran, dass ich nach den falschen Schlüsselwörtern gesucht habe oder weil es unmöglich ist ... Trotzdem vielen Dank fürs Lesen!

Antwort1

Die Technologie, nach der Sie suchen, heißt Destination NAT. Auf einem Linux-System kann dies mithilfe von iptables erfolgen.

Da Ihre Frage keine Details zu der Containertechnologie enthält, die Sie verwenden möchten, hängt es davon ab, wie diese Technologie mit dem lokalen Netzwerk und dem Hostsystem selbst verbunden wird – normalerweise mithilfe einer Bridge-Schnittstelle und virtueller Netzwerkschnittstellen für die Container.

Dann schau doch mal hier vorbei: http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html#ss6.2

Zieladressen auf 5.6.7.8 ändern

iptables -t nat -A PREROUTING -i eth0 -j DNAT --zu 5.6.7.8

Zieladressen ändern auf 5.6.7.8, 5.6.7.9 oder 5.6.7.10

iptables -t nat -A PREROUTING -i eth0 -j DNAT --zu 5.6.7.8-5.6.7.10

Zieladressen des Webverkehrs auf 5.6.7.8, Port 8080 ändern

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 5.6.7.8:8080

Sie könnten dann einige iptables DNAT-Regeln auf Ihrem Hostserver haben, die die eingehenden Pakete auf bestimmten Ports oder für bestimmte IP-Adressen auf Ziele in Ihrem überbrückten, virtuellen Netzwerk umschreiben.

Sie müssten jedoch auch einige Source-NAT-Regeln einrichten, damit der Datenverkehr dieser Container ebenfalls so geändert wird, dass er den IP-Adressen entspricht, die diese Container zur Außenwelt haben sollten.

verwandte Informationen