Redirect Traffic vun enger IP a Port op eng aner IP a Port

Eppes ganz heefeg beim Verwalte vu Serveren ass de Redirect vum Traffic.

Stellt Iech vir datt mir e Server mat gewësse Servicer lafen, awer aus irgend engem Grond ännere mir ee vun dëse Servicer (Ech weess et net, zum Beispill pop3 wat den Hafen 110 ass) op en anere Server. Déi normal an heefegst Saach wier einfach d'IP am DNS Record z'änneren, awer wann een d'IP benotzt amplaz vum Subdomain gëtt et betraff.

Wat kann een maachen? ... einfach, weidergeleet de Traffic deen de Server duerch dësen Hafen kritt op en anere Server mam selwechten Hafen.

Server-Knued-lan-Ethernet

Wéi fänke mir de Verkéier un?

Déi éischt Saach ass datt mir de weiderginn um Server, dofir wäerte mir déi folgend setzen:

echo "1" > /proc/sys/net/ipv4/ip_forward

All d'Commanden, déi an dësem Tutorial ugewise ginn, musse mat administrativen Privilegien ausgefouert ginn, ech recommandéieren se direkt mam Root User auszeféieren.

Dir kënnt och dësen anere Kommando benotzen, am Fall wou dee virdrun net fir Iech funktionnéiert (et ass mir sou geschitt op engem CentOS):
sysctl net.ipv4.ip_forward=1
Da wäerte mir de Reseau nei starten:

service networking restart

A RPM Distros wéi CentOS an anerer, wier et:

service nertwork restart

Elo fuere mir op déi wichteg Saach, erzielt de Server duerch Iteef wat ëmleeden:

iptables -t nat -A PREROUTING -p tcp --dport <puerto receptor> -j DNAT --to-destination <ip final>:<puerto de ip final>

An anere Wierder, an nom Beispill dat ech erwähnt hunn, ugeholl datt mir de ganzen Traffic weidergeleeden deen eise Server duerch den Hafen 110 op en anere Server kritt (ex: 10.10.0.2), deen nach ëmmer dee Verkéier duerch 110 kritt (et ass dee selwechte Service):

iptables -t nat -A PREROUTING -p tcp --dport 110 -j DNAT --to-destination 10.10.0.2:110

Den 10.10.0.2 Server gesäit datt all Pakete oder Ufroen aus dem Client IP kommen, am Fall wou se d'Ufroe schwamme wëllen, dat heescht datt den 2. Server gesäit datt d'Ufroe mat der IP vum 1. Server kommen (an an der déi mir d'Ëmleedung applizéieren), wier et och dës zweet Zeil ze setzen:

iptables -t nat -A POSTROUTING -j MASQUERADE

E puer Froen an Äntwerten

Am Beispill hunn ech dee selwechten Hafen op béide Geleeënheeten benotzt (110), awer si kënnen de Verkéier vun engem Hafen an en aneren ouni Problemer weiderginn. Stellt zum Beispill vir, datt ech de Traffic vum Hafen 80 op 443 op engem anere Server wéilt ëmleeden, dofir wier et:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.10.0.2:443

Dëst ass Iteef, si kënnen all déi aner Parameteren, déi mir kennen, benotzen, zum Beispill, wa mir nëmmen de Traffic vun enger spezifescher IP weidergeleede wëllen, da géifen -s ... Zum Beispill wäert ech nëmmen de Traffic ëmleeden deen vum 10.10.0.51 kënnt:

iptables -t nat -A PREROUTING -p tcp -s 10.10.0.51 --dport 80 -j DNAT --to-destination 10.10.0.2:443

Oder e ganzt Netzwierk (/ 24):

iptables -t nat -A PREROUTING -p tcp -s 10.10.0.0/24 --dport 80 -j DNAT --to-destination 10.10.0.2:443

Mir kënnen och d'Netzwierk-Interface mat -i spezifizéieren :

iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j DNAT --to-destination 10.10.0.2:443

D'Enn!

Dëst wéi ech scho gesot hunn, sinn iptables, Dir kënnt uwenden wat scho gewosst ass sou datt de Server genau dat mécht wat Dir wëllt maachen 😉

Merci!

DedicatedServer_SubImage


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

20 Kommentaren, loosst ären

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.

  1.   Fer sot

    Mir kënnen dat och vun enger Firewall maachen déi den Port Forwarding erlaabt, oder? (déi entspriechend Regele uwenden).

    1.    KZKG ^ Gaara sot

      Jo natierlech, zum Schluss eng Firewall wéi Pfsense oder anerer, benotzt iptables vun hannen.

      1.    dhunter sot

        Fir genau ze sinn, pfsense benotzt keng iptables mee pf, erënners datt et e bsd dobannen ass.

        1.    KZKG ^ Gaara sot

          Oh richteg, meng schlecht!

  2.   Nicolas sot

    Villmools Merci fir den Tipp 🙂

    Ech hunn e puer Zweifel:
    1 - Ass d'Ännerung permanent? oder ass et verluer beim Restart vum Server?
    2 - Ech hunn e puer Instanzen (soen A, B an C) am selwechte Subnetz. An Instanz A applizéieren ech d'Regel fir de Verkéier op eng extern IP ze leeden, a probéiert mat Curlen aus Instanzen B an C, alles funktionnéiert Wonner. De Problem ass datt vun der Instanz A et net funktionnéiert. Ech hu probéiert Är IP an d'Loopback Interface ze benotzen, a weder funktionnéiert:
    $ iptables -t nat -A PREROUTING -p tcp –dport 8080 -j DNAT –zu Destinatioun xxxx: 8080
    $ iptables -t nat -A PREROUTING -p tcp -i lo –dport 8080 -j DNAT –zu Destinatioun xxxx: 8080

    $ curl ip-yyyy: 8080 / hello_world
    Curl: (7) Ausgefall op den ip-yyyy Hafen 8080 ze verbannen: Verbindung refuséiert
    $ curl localhost: 8080 / hello_world
    Curl: (7) Konnt net mam localhost Hafen 8080 verbannen: Verbindung refuséiert

    Keng Ahnung wat de Problem ka sinn?

    1.    KZKG ^ Gaara sot

      Jo, d'Ännerung ass beim Neistarten verluer, Dir musst iptables-späicheren & iptables-restauréieren oder sou eppes benotze fir dat ze vermeiden.
      Ech hunn net ganz verstanen wat Dir maache wëllt, Instanz A?

      1.    Nicolas sot

        Ech hunn e Server deen nëmmen Verbindunge vun enger bestëmmter IP ënnerstëtzt (Server A's), ech kann oder wëll net méi IPs op de Whitelist bäifügen (fir Skalierbarkeetsfroen), also wëll ech datt all Traffic op den externen Server duerch sot Server (A).
        Als Praktikitéit hunn ech global Konfiguratiounen déi definéieren wéi eng IP fir all Service benotzt gëtt, also an dësem Fall ass et eppes wéi "jiddereen deen den externen Service benotze wëll, muss IP A benotzen"
        Dëst gouf erfollegräich mat der Method an dësem Artikel erreecht, awer ech lafen an de Problem datt wann en en applizéiert gëtt, Server A net Zougang zum Service mat eegener IP kritt (awer all aner Server maachen).
        Bis elo war dat Bescht dat ech fonnt hunn d'Mapping an der Server A / etc / hosts Datei ze addéieren, op d'extern IP ze weisen, d'global Astellung ze iwwerschreiwen.

  3.   braybaut sot

    Ganz gutt, wann ech en anere Mail Server hunn, kéint ech de Verkéier vum Hafen 143 vu Server1 op Server2 weiderginn an d'E-Maile kommen op Server2, richteg?

    Wat

    1.    KZKG ^ Gaara sot

      An der Theorie jo, et funktionnéiert esou. Sécher, Dir musst de Mail Server richteg op Server2 installéiert hunn 🙂

  4.   msx sot

    Déi Aart Poste déi mir gär liesen, Merci!

  5.   Abraham Ibarra sot

    Exzellenten Artikel, ech hunn e Projet an deem ech schaffen an ech wollt Iech eng Fro stellen, et gi industriell Schaltere mat NAT Funktioun (ech huelen un datt se IPTables hei ënnen benotzen), fir eng IP Adress z'iwwersetzen ouni Ännerunge fir d'Ausrüstung ze maachen, e Beispill, ech hunn e Server 10.10.2.1 dee kommunizéiert mat 10.10.2.X Computeren an duerch de Schalter programméiert ass sou datt e Computer deen eng Adress huet 192.168.2.4 tatsächlech vum Server als 10.10.2.5 gesinn ass, huet et déi IP Adress iwwersat ze gesinn Vun deenen anere Computere mat där Adress, wëll ech et vun engem Server mat Ubuntu oder enger anerer Verdeelung maachen, wat wären d'iptables Regelen?

  6.   Kuck sot

    Ganz gutt Info merci ^ _ ^

  7.   joss sot

    Gudde Mëtteg.
    Ech hunn e Problem probéiert eng Viruleedung ze maachen. Ech erklären:
    Ech hunn e Proxy Server an Ubuntu, mat 2 Netzwierkkaarten:
    eth0 = 192.168.1.1 ass mat dem Rescht vum lokalen Netzwierk verbonnen.
    eth1 = 192.168.2.2 ass mam Router verbonnen.
    Ech brauch alles wat duerch eth0 kënnt fir duerch eth1 ze goen, an och duerch de Proxy (ech benotze Squid, deem säi Standardport 3128 ass), an ech fannen de Schlëssel net an der IPTABLES Konfiguratioun.
    Ech brauch keng Restriktioun vun iergendenger Aart, nëmmen datt e Rekord am Logbuch vun de Webadressen bleift déi besicht ginn.

    Ech hoffen Dir kënnt mir hëllefen, well et ass eng zimlech lästeg Aufgab déi mech fir e puer Deeg besuergt huet.

    Merci.

  8.   Gabriel sot

    Frënd, ech sinn ganz nei op aner Serveren, ech hu keng Ahnung awer ech verstinn d'Thema an ech léiere séier, meng Fro ass déi folgend Ech hunn 2 Server serv_1 an serv_2 déi ech mam selwechten Intranet verbonnen hunn, an dëse Serveren hunn ech en eegene Cloud opgestallt, Ech wéilt folgend maachen:

    datt eng gewëssen Palette vun ips zum Beispill rangeip_1 beim Placement vun engem Zougang IP op den owncloud (ipowncloud) Richtung serv_1 geleet gëtt a wann et en anert Rangeip_2 ass, gëtt déiselwecht ipowncloud un d'Serv_2 geleet, dëst fir datt déi 2 Server lokaliséiert sinn an zwou verschiddene Stied an d'IP Reegele sinn ënnerschiddlech awer se sinn all am selwechte Réseau, dat wier deen éischten Deel, deen zweete wier kloer ass dës 2 Server ze synchroniséieren sou datt se Spigele sinn oder datt se mir dat beroden fir d'Breet ze optimiséieren Band, wann ech glift, wann Dir mir erkläert wéi Dir et Schrëtt fir Schrëtt maacht net am Super Programméierer Modus = (

  9.   Antonio Carrizosa sot

    Hallo, entschëllegt mech, ech hunn e Schalter verantwortlech fir d'Kommunikatioun vun all den Apparater déi mäi Netzwierk ausmaachen, an duerno eng Firewall an endlech den Internetausgang, wat geschitt ass datt ech gär hätt datt d'Redirektioun an der schalt a muss d'Firewall net erreechen ausser de gefrote Service ass Internet.

  10.   Juan sot

    Mat dëser Method kënnt Dir HTTPS op HTTP weidergeleeden?

  11.   mati sot

    Salut, vläicht ass et e bësse spéit, awer ech wollt Iech froen, wéi soll ech den Tintenfleesch net d'IP vum Client änneren wann ech mat engem Webserver am selwechte Netzwierk verbannen?

  12.   Lafat 32 sot

    Maacht mech net schlecht wann ech froen. Kann dëst am Windows gemaach ginn?

  13.   Martin sot

    Dës Informatioun war fir mech nëtzlech. Wéi ëmmer, kann een Iech vertrauen, wann ech eppes op Englesch net fannen fannen ech am Endeffekt op Spuenesch, bei deene Geleeënheete kommen ech bal ëmmer op dëse Site.

  14.   Seba sot

    Ech hunn en 4G Router deen e Client vun engem Netzwierk ass deen ech net verwalten (natierlech, ech sinn e Client) ... dëse Router ass e Paart zu deem Fernnetz duerch OpenVPN. Zousätzlech, erfëllt de Router d'Funktioun vum Portforwarding fir Zougang zum Port 80 vum Server vun engem vun dësen Subnets am Feld.

    Dëst war d'Deklaratioun déi ech am Router als Firewall personaliséiert Regel «-t nat -A POSTROUTING -j MASQUERADE» setzen muss

    Merci fir d'Hëllef!