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.
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
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!
20 Kommentaren, loosst ären
Mir kënnen dat och vun enger Firewall maachen déi den Port Forwarding erlaabt, oder? (déi entspriechend Regele uwenden).
Jo natierlech, zum Schluss eng Firewall wéi Pfsense oder anerer, benotzt iptables vun hannen.
Fir genau ze sinn, pfsense benotzt keng iptables mee pf, erënners datt et e bsd dobannen ass.
Oh richteg, meng schlecht!
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?
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?
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.
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
An der Theorie jo, et funktionnéiert esou. Sécher, Dir musst de Mail Server richteg op Server2 installéiert hunn 🙂
Déi Aart Poste déi mir gär liesen, Merci!
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?
Ganz gutt Info merci ^ _ ^
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.
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 = (
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.
Mat dëser Method kënnt Dir HTTPS op HTTP weidergeleeden?
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?
Maacht mech net schlecht wann ech froen. Kann dëst am Windows gemaach ginn?
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.
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!