Ath-stiùirich trafaic bho aon IP agus port gu IP agus port eile

Tha rudeigin gu math cumanta nuair a bhios tu a ’riaghladh luchd-frithealaidh ag ath-stiùireadh trafaic.

Osbarr tha frithealaiche againn le cuid de sheirbheisean a ’ruith, ach airson adhbhar sam bith bidh sinn ag atharrachadh aon de na seirbheisean sin (Chan eil fios agam, mar eisimpleir pop3 a tha na phort 110) gu frithealaiche eile. Is e an rud àbhaisteach agus as trice a bhith ag atharrachadh an IP anns a ’chlàr DNS, ach ma bha cuideigin a’ cleachdadh an IP an àite an fho-àrainn bidh buaidh air.

Dè a nì thu? ... sìmplidh, ath-stiùirich an trafaic a gheibh an frithealaiche sin tron ​​phort sin gu frithealaiche eile leis an aon phort.

frithealaiche-node-lan-ethernet

Ciamar a thòisicheas sinn ag ath-stiùireadh trafaic?

Is e a ’chiad rud gum feum sinn a bhith air comas a thoirt dha na air adhart air an fhrithealaiche, airson seo cuiridh sinn na leanas:

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

Feumaidh na h-àitheantan uile a tha air an sealltainn san oideachadh seo a bhith air an cur an gnìomh le sochairean rianachd, tha mi a ’moladh gun tèid an cur an gnìomh gu dìreach leis a’ phrìomh chleachdaiche.

Faodaidh tu cuideachd an àithne eile seo a chleachdadh, air eagal ‘s nach obraich am fear roimhe dhut (thachair e dhomh mar seo air CentOS):
sysctl net.ipv4.ip_forward=1
An uairsin bidh sinn ag ath-thòiseachadh an lìonra:

service networking restart

Ann an distros RPM mar CentOS agus feadhainn eile, bhiodh e:

service nertwork restart

A-nis gluaisidh sinn air adhart chun rud chudromach, innis don t-seirbheisiche troimhe iptables dè a nì thu ath-stiùireadh:

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

Ann am faclan eile, agus a ’leantainn an eisimpleir air an tug mi iomradh, is dòcha gu bheil sinn airson a h-uile trafaic a gheibh an frithealaiche againn tro phort 110 ath-stiùireadh gu frithealaiche eile (ex: 10.10.0.2), a gheibh an trafaic sin fhathast tro 110 (tha e an aon sheirbheis):

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

Chì an frithealaiche 10.10.0.2 gu bheil na pacaidean no na h-iarrtasan uile a ’tighinn bho IP an neach-dèiligidh, air eagal gu bheil iad airson na h-iarrtasan a shnàmh, is e sin, gum faic an 2na frithealaiche gum bi na h-iarrtasan a’ ruighinn le IP a ’1mh frithealaiche (agus anns an a bhios sinn a ’cleachdadh an ath-sheòladh), bhiodh e cuideachd an dàrna loidhne seo a chuir:

iptables -t nat -A POSTROUTING -j MASQUERADE

Cuid de cheistean agus fhreagairtean

Anns an eisimpleir chleachd mi an aon phort gach turas (110), ach faodaidh iad trafaic ath-stiùireadh bho aon phort gu port eile gun duilgheadasan. Mar eisimpleir, is dòcha gu bheil mi airson trafaic ath-stiùireadh bho phort 80 gu 443 air frithealaiche eile, airson seo bhiodh e:

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

Tha seo iptables, faodaidh iad na paramadairean eile gu lèir a tha fios againn a chleachdadh, mar eisimpleir, mura h-eil sinn ach airson trafaic ath-stiùireadh bho IP sònraichte, bhiodh e le bhith a ’cur -s ris … Mar eisimpleir cha dèan mi ach an trafaic a thig bho 10.10.0.51:

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

No lìonra iomlan (/ 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

Faodaidh sinn cuideachd an eadar-aghaidh lìonra le -i a shònrachadh :

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

An deireadh!

Tha seo mar a thuirt mi mu thràth, iptables, faodaidh tu na tha aithnichte mu thràth a chuir an gnìomh gus am bi am frithealaiche a ’dèanamh dìreach na tha thu airson gun dèan e 😉

Tapadh leibh!

DedicatedServer_SubImage


Tha susbaint an artaigil a ’cumail ri na prionnsapalan againn de moraltachd deasachaidh. Gus aithris a dhèanamh air mearachd cliog an seo.

20 bheachd, fàg do chuid fhèin

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh.

*

*

  1. Uallach airson an dàta: Miguel Ángel Gatón
  2. Adhbhar an dàta: Smachd air SPAM, riaghladh bheachdan.
  3. Dìleab: Do chead
  4. Conaltradh an dàta: Cha tèid an dàta a thoirt do threas phàrtaidhean ach a-mhàin fo dhleastanas laghail.
  5. Stòradh dàta: Stòr-dàta air a chumail le Occentus Networks (EU)
  6. Còraichean: Aig àm sam bith faodaidh tu am fiosrachadh agad a chuingealachadh, fhaighinn air ais agus a dhubhadh às.

  1.   Fer thuirt

    Faodaidh sinn seo a dhèanamh cuideachd bho bhalla-teine ​​a leigeas le port a chuir air adhart, ceart? (a ’cur an gnìomh nan riaghailtean co-fhreagarrach).

    1.    KZKG ^ Gaara thuirt

      Tha, gu dearbh, aig a ’cheann thall balla-teine ​​mar Pfsense no feadhainn eile, cleachd iptables bhon chùl.

      1.    dhunntair thuirt

        Gus a bhith mionaideach, cha bhith pfsense a ’cleachdadh iptables ach pf, cuimhnich gur e bsd a th’ ann.

        1.    KZKG ^ Gaara thuirt

          O ceart, mo dhroch!

  2.   Nicolas thuirt

    Mòran taing airson an tip 🙂

    Tha ceist no dhà agam:
    1 - A bheil an t-atharrachadh maireannach? no a bheil e air chall nuair a thèid an frithealaiche ath-thòiseachadh?
    2 - Tha iomadh suidheachadh agam (can A, B agus C) air an aon subnet. Ann an A tha mi a ’cur an riaghailt an sàs gus an trafaic a chuir gu IP taobh a-muigh, agus a’ feuchainn le cuirls bho eisimpleirean B agus C, bidh a h-uile dad ag obair iongantasan. Is e an duilgheadas nach eil e ag obair bho eisimpleir A. Dh'fheuch mi an dà chuid an ip agad agus an eadar-aghaidh loopback a chleachdadh, agus chan eil an dàrna cuid ag obair:
    $ iptables -t nat -A PREROUTING -p tcp –dport 8080 -j DNAT –to-ceann-uidhe xxxx: 8080
    $ iptables -t nat -A PREROUTING -p tcp -i lo –dport 8080 -j DNAT –to-ceann-uidhe xxxx: 8080

    $ curl ip-yyyy: 8080 / hello_world
    curl: (7) Dh’fhàillig ceangal ri port ip-yyyy 8080: Dhiùlt an ceangal
    $ curl localhost: 8080 / hello_world
    curl: (7) Dh’fhàillig ceangal a dhèanamh ri port localhost 8080: Dhiùlt an ceangal

    Beachd sam bith dè an duilgheadas a th ’ann?

    1.    KZKG ^ Gaara thuirt

      Tha, tha an t-atharrachadh air chall air ath-thòiseachadh, feumaidh tu iptables-save & iptables-adfer no rudeigin mar sin a chleachdadh gus sin a sheachnadh.
      Cha robh mi buileach a ’tuigsinn dè a tha thu airson a dhèanamh, mar eisimpleir A?

      1.    Nicolas thuirt

        Tha frithealaiche agam nach toir taic ach do cheanglaichean bho ip sònraichte (frithealaiche A), chan urrainn dhomh no tha mi airson barrachd ips a chuir ris a ’ghealaiche (airson cùisean scalability), agus mar sin tha mi airson gum bi a h-uile trafaic chun t-seirbheisiche a-muigh a’ dol troimhe. thuirt frithealaiche (A).
        A thaobh dè cho practaigeach, tha rèiteachaidhean cruinne agam a tha a ’mìneachadh dè an IP a bu chòir a chleachdadh airson gach seirbheis, agus mar sin anns a’ chùis seo tha e rudeigin mar “feumaidh a h-uile duine a tha airson an t-seirbheis a-muigh a chleachdadh, IP A a chleachdadh"
        Chaidh seo a choileanadh gu soirbheachail le bhith a ’cleachdadh an dòigh san artaigil seo, ach tha mi a’ ruith a-steach don duilgheadas nach urrainn do fhrithealaiche A faighinn chun t-seirbheis le bhith a ’cleachdadh an ip aige fhèin (ach bidh a h-uile seirbheisiche eile a’ dèanamh).
        Gu ruige seo b ’e an rud a b’ fheàrr a lorg mi am mapadh a chuir ann am faidhle frithealaiche A / etc / hosts, a ’comharrachadh an ip taobh a-muigh, a’ dol thairis air an t-suidheachadh cruinneil.

  3.   brabaut thuirt

    Glè mhath, ma tha frithealaiche puist eile agam b ’urrainn dhomh an trafaic a chuir air adhart bho phort 143 bho server1 gu server2 agus ruigidh na puist-d mi air server2, ceart?

    Tapadh leibh!

    1.    KZKG ^ Gaara thuirt

      Ann an teòiridh tha, tha e ag obair mar seo. Seadh, feumaidh tu am frithealaiche puist a chuir a-steach gu ceart air server2 🙂

  4.   msx thuirt

    An seòrsa puist as toil leinn a leughadh, taing!

  5.   Abraham Ibarra thuirt

    Artaigil sàr-mhath, tha pròiseact agam anns a bheil mi ag obair agus bha mi airson ceist a chuir ort, tha suidsichean gnìomhachais ann le gnìomh NAT (tha mi creidsinn gum bi iad a ’cleachdadh IPTables gu h-ìosal), gus seòladh IP eadar-theangachadh gun atharrachaidhean a dhèanamh air an uidheamachd, mar eisimpleir, tha frithealaiche agam. 10.10.2.1 a bhios a ’conaltradh le coimpiutairean 10.10.2.X agus tron ​​t-suidse air a phrògramadh gus am faicear coimpiutair aig a bheil seòladh 192.168.2.4 bhon t-seirbheisiche mar 10.10.2.5, dh’ eadar-theangaich e an seòladh IP sin ri fhaicinn Bho na coimpiutairean eile leis an t-seòladh sin, tha mi airson a dhèanamh bho fhrithealaiche le Ubuntu no cuairteachadh eile, dè na riaghailtean iptables a bhiodh ann?

  6.   Cuk thuirt

    Fiosrachadh fìor mhath taing ^ _ ^

  7.   Iosa thuirt

    Feasgar math
    Tha duilgheadas agam a ’feuchainn ri ath-sheòladh a dhèanamh. Tha mi a ’mìneachadh:
    Tha frithealaiche progsaidh agam ann an Ubuntu, le 2 chairt lìonra:
    tha eth0 = 192.168.1.1 ceangailte ris a ’chòrr den lìonra ionadail.
    tha eth1 = 192.168.2.2 ceangailte ris an router.
    Feumaidh mi a h-uile càil a thig tro eth0 a dhol tro eth1, agus cuideachd tron ​​neach-ionaid (bidh mi a ’cleachdadh Squid, aig a bheil am port bunaiteach 3128), agus chan urrainn dhomh an iuchair ann an rèiteachadh IPTABLES a lorg.
    Chan fheum mi cuingealachadh de sheòrsa sam bith, dìreach gum bi clàr fhathast ann an log nan seòlaidhean lìn air an deach tadhal.

    Tha mi an dòchas gun urrainn dhut mo chuideachadh oir tha e na obair gu math trom a tha air a bhith a ’toirt dragh dhomh airson latha no dhà.

    Tapadh leibh.

  8.   Gabriel thuirt

    A charaid, tha mi gu math ùr do luchd-frithealaidh eile, chan eil dad agam ach tha mi a ’tuigsinn a’ chuspair agus bidh mi ag ionnsachadh gu sgiobalta, is e a ’cheist agam na leanas tha 2 fhrithealaiche serv_1 agus serv_2 agam a tha mi air a cheangal ris an aon eadra-lìon, anns na frithealaichean sin tha inneal owncloud agam air a chuir air chois. Bu mhath leam na leanas a dhèanamh:

    gu bheil raon sònraichte de ips mar eisimpleir rangeip_1 nuair a chuireas tu ip ruigsinneachd chun owncloud (ipowncloud) air a stiùireadh a dh ’ionnsaigh an serv_1 agus mas e raonip_2 eile a th’ ann tha an aon ipowncloud air a stiùireadh chun serv_2, seo gus am bi an 2 fhrithealaiche suidhichte ann an dà bhaile eadar-dhealaichte agus tha na raointean ip eadar-dhealaichte ach tha iad uile air an aon lìonra, bhiodh sin mar a ’chiad phàirt, bhiodh an dàrna fear soilleir gus an 2 fhrithealaiche sin a shioncronachadh gus am bi iad nan sgàthan no gu bheil iad a’ toirt comhairle dhomh seo gus an leud a mheudachadh. còmhlan, mas e do thoil e, ma tha thu a ’dol a mhìneachadh dhomh mar a nì mi e ceum air cheum no super programmer mode = (

  9.   Antonio Carrizosa thuirt

    Halo, gabh mo leisgeul, tha suidse agam a tha os cionn conaltradh a h-uile inneal a tha a ’dèanamh suas an lìonra agam, agus às deidh seo balla-teine ​​agus mu dheireadh fàgail an eadar-lìn, is e na thachras gum bu mhath leam an ath-stiùireadh a thoirt seachad anns an atharrachadh agus chan fheum e am balla-teine ​​a ruighinn mura h-eil an t-seirbheis a chaidh iarraidh air an eadar-lìn.

  10.   Juan thuirt

    A ’cleachdadh an dòigh seo am b’ urrainn dhut HTTPS ath-stiùireadh gu HTTP?

  11.   mati thuirt

    Hi, is dòcha gu bheil e beagan fadalach, ach bha mi airson faighneachd dhut, ciamar a bu chòir dhomh toirt air squid gun a bhith ag atharrachadh IP an neach-dèiligidh nuair a tha mi airson ceangal ri frithealaiche lìn air an aon lìonra?

  12.   lamh32 thuirt

    Na toir droch làimhseachadh dhomh airson faighneachd. An urrainnear seo a dhèanamh ann an Windows?

  13.   Màrtainn thuirt

    Tha am fiosrachadh seo air a bhith feumail dhomh. Mar as àbhaist, faodaidh earbsa a bhith agad ann an guys, nuair nach urrainn dhomh rudeigin a lorg anns a ’Bheurla mar as trice bidh mi a’ coimhead ann an Spàinntis, aig na h-amannan sin bidh mi cha mhòr an-còmhnaidh a ’tighinn chun làrach seo. Tapadh leibh.

  14.   Seba thuirt

    Tha router 4G agam a tha na neach-dèiligidh de lìonra nach eil mi a’ riaghladh (gu dearbh, tha mi nam neach-dèiligidh)… tha an router seo na gheata chun lìonra iomallach sin tro OpenVPN. A bharrachd air an sin, tha an router sin a’ coileanadh a ’ghnìomh a bhith a’ gluasad air adhart gus faighinn gu port 80 de fhrithealaiche aon de na subnets sin san raon.

    B’ e seo an dearbhadh a bha agam ri an router a chuir a-steach mar riaghailt àbhaisteach balla-teine ​​​​“ -t nat -A POSTROUTING -j MASQUERADE ”

    Taing airson a ’chuideachaidh!