ប្តូរទិសចរាចរណ៍ពី IP មួយទៅកំពង់ផែមួយទៅអាយផតនិងកំពង់ផែមួយផ្សេងទៀត

អ្វីដែលសាមញ្ញបំផុតនៅពេលគ្រប់គ្រងម៉ាស៊ីនមេកំពុងប្តូរទិសដៅចរាចរណ៍។

ឧបមាថាយើងមានម៉ាស៊ីនមេដែលមានសេវាកម្មជាក់លាក់កំពុងដំណើរការប៉ុន្តែសម្រាប់ហេតុផលណាមួយដែលយើងផ្លាស់ប្តូរសេវាកម្មមួយក្នុងចំណោមសេវាកម្មទាំងនោះ (ខ្ញុំមិនដឹងឧទាហរណ៍ pop3 ដែលជាច្រកលេខ ១១០) ទៅម៉ាស៊ីនមេផ្សេងទៀត។ រឿងធម្មតានិងញឹកញាប់បំផុតគឺការផ្លាស់ប្តូរ IP ជាធម្មតានៅក្នុងកំណត់ត្រា DNS ទោះជាយ៉ាងណាក៏ដោយប្រសិនបើមាននរណាម្នាក់កំពុងប្រើ IP ជំនួសឱ្យដែនរងវានឹងត្រូវបានប៉ះពាល់។

អ្វី​ដែល​ត្រូវធ្វើ? ... សាមញ្ញបញ្ជូនទិសដៅចរាចរណ៍ដែលម៉ាស៊ីនមេទទួលតាមរយៈច្រកនោះទៅម៉ាស៊ីនមេផ្សេងទៀតដែលមានច្រកដូចគ្នា។

server-node-lan-ethernet

តើយើងចាប់ផ្តើមប្តូរទិសដៅចរាចរណ៍យ៉ាងដូចម្តេច?

រឿងដំបូងគឺថាយើងត្រូវបានអនុញ្ញាតឱ្យប្រើ បញ្ជូនបន្ត នៅលើម៉ាស៊ីនមេសម្រាប់នេះយើងនឹងដាក់ដូចខាងក្រោមៈ

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

បទបញ្ជាទាំងអស់ដែលបានបង្ហាញនៅក្នុងឯកសារបង្រៀននេះត្រូវតែត្រូវបានប្រតិបត្តិដោយមានសិទ្ធិផ្នែករដ្ឋបាលខ្ញុំសូមណែនាំឱ្យពួកគេប្រតិបត្តិដោយផ្ទាល់ជាមួយអ្នកប្រើជា root ។

អ្នកក៏អាចប្រើពាក្យបញ្ជាផ្សេងទៀតក្នុងករណីដែលពាក្យបញ្ជាមុនមិនដំណើរការសម្រាប់អ្នក (វាបានកើតឡើងចំពោះខ្ញុំដូចនេះនៅលើ CentOS):
sysctl net.ipv4.ip_forward=1
បន្ទាប់មកយើងនឹងចាប់ផ្តើមបណ្តាញឡើងវិញ៖

service networking restart

នៅក្នុង RPM distros ដូចជា CentOS និងផ្សេងទៀតវាអាចជា៖

service nertwork restart

ឥឡូវនេះយើងនឹងបន្តទៅរឿងសំខាន់ប្រាប់ម៉ាស៊ីនមេតាមរយៈ iptables អ្វីដែលត្រូវប្តូរទិស:

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

នោះគឺហើយធ្វើតាមគំរូដែលខ្ញុំបានលើកឡើងឧបមាថាយើងចង់ប្តូរទិសដៅចរាចរណ៍ទាំងអស់ដែលម៉ាស៊ីនមេរបស់យើងទទួលតាមរយៈច្រក 110 ទៅម៉ាស៊ីនមេផ្សេងទៀត (ឧ។ ១០.១០.០.២) ដែលនឹងនៅតែទទួលបានចរាចរណ៍នោះតាមរយៈលេខ ១១០ (វាគឺជាសេវាកម្មតែមួយ):

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

ម៉ាស៊ីនបម្រើ ១០.១០.០.២.២ នឹងឃើញថារាល់កញ្ចប់ឬសំណើទាំងអស់គឺមកពី IP របស់អតិថិជនក្នុងករណីដែលពួកគេចង់ហែលទឹកសំណើនោះមានន័យថាម៉ាស៊ីនមេទី ២ ឃើញថាការស្នើសុំមកដល់ IP របស់ម៉ាស៊ីនមេទី ១ (និងនៅក្នុង ដែលយើងអនុវត្តការប្តូរទិស) វាក៏នឹងត្រូវដាក់ខ្សែទីពីរផងដែរ៖

iptables -t nat -A POSTROUTING -j MASQUERADE

សំណួរនិងចម្លើយមួយចំនួន

ក្នុងឧទាហរណ៍ខ្ញុំបានប្រើកំពង់ផែដូចគ្នាក្នុងឱកាសទាំងពីរ (១១០) ទោះយ៉ាងណាពួកគេអាចប្តូរទិសដៅពីកំពង់ផែមួយទៅមួយដោយមិនមានបញ្ហា។ ឧទាហរណ៍សន្មតថាខ្ញុំចង់ប្តូរទិសចរាចរពីកំពង់ផែ ៨០ ទៅ ៤៤៣ នៅលើម៉ាស៊ីនមេមួយផ្សេងទៀតព្រោះនេះអាចជាៈ

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

នេះគឺជា iptablesពួកគេអាចប្រើប៉ារ៉ាម៉ែត្រផ្សេងទៀតទាំងអស់ដែលយើងដឹងឧទាហរណ៍ប្រសិនបើយើងគ្រាន់តែចង់ប្តូរទិសដៅចរាចរណ៍ពី IP ជាក់លាក់វានឹងបន្ថែម -s ។ …ឧទាហរណ៍ខ្ញុំនឹងប្តូរទិសដៅតែចរាចរណ៍ដែលចេញពីថ្ងៃទី ១០.១០.០.៥១៖

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

ឬបណ្តាញទាំងមូល (/ ២៤)៖

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

យើងក៏អាចបញ្ជាក់ចំណុចប្រទាក់បណ្តាញជាមួយ -i ៖

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

ចប់!

នេះដូចដែលខ្ញុំបាននិយាយរួចមកហើយគឺអាយភីធីអ្នកអាចអនុវត្តអ្វីដែលគេដឹងរួចហើយដូច្នេះម៉ាស៊ីនមេធ្វើអ្វីៗដែលអ្នកចង់ធ្វើ។

សូមអរគុណ!

ឧទ្ទិសសឺវើរ _ ស៊ុបអាយរូបភាព


ខ្លឹមសារនៃអត្ថបទប្រកាន់ខ្ជាប់នូវគោលការណ៍របស់យើង ក្រមសីលធម៌វិចារណកថា។ ដើម្បីរាយការណ៍ការចុចកំហុស នៅទីនេះ.

៥៧ យោបល់ទុកអ្នក

ទុកឱ្យយោបល់របស់អ្នក

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានបោះពុម្ភ។ អ្នកគួរតែអនុវត្តតាម *

*

*

  1. ទទួលខុសត្រូវចំពោះទិន្នន័យ: មីហ្គែល - ហ្គែលហ្គេតថន
  2. គោលបំណងនៃទិន្នន័យ៖ គ្រប់គ្រង SPAM ការគ្រប់គ្រងមតិយោបល់។
  3. ភាពស្របច្បាប់៖ ការយល់ព្រមរបស់អ្នក
  4. ការប្រាស្រ័យទាក់ទងទិន្នន័យ៖ ទិន្នន័យនឹងមិនត្រូវបានទាក់ទងទៅភាគីទីបីឡើយលើកលែងតែកាតព្វកិច្ចផ្នែកច្បាប់។
  5. ការផ្ទុកទិន្នន័យ៖ មូលដ្ឋានទិន្នន័យដែលរៀបចំដោយបណ្តាញ Occentus (EU)
  6. សិទ្ធិ៖ នៅពេលណាដែលអ្នកអាចដាក់កម្រិតទាញយកមកវិញនិងលុបព័ត៌មានរបស់អ្នក។

  1.   ដែក dijo

    យើងក៏អាចធ្វើវាបានពីជញ្ជាំងភ្លើងដែលអនុញ្ញាតឱ្យកំពង់ផែបញ្ជូនបន្តមែនទេ? (អនុវត្តច្បាប់ដែលត្រូវគ្នា) ។

    1.    KZKG ^ ហ្គារ៉ា dijo

      បាទ / ចាសពិតណាស់នៅចុងបញ្ចប់ជញ្ជាំងភ្លើងដូចជា Pfsense ឬផ្សេងទៀតប្រើ iptables ពីខាងក្រោយ។

      1.    អ្នកប្រមាញ់ dijo

        ដើម្បីឱ្យច្បាស់ pfsense មិនប្រើ iptables ទេប៉ុន្តែ pf សូមចាំថាវាគឺជាប៊ីប៊ីនៅខាងក្នុង។

        1.    KZKG ^ ហ្គារ៉ា dijo

          ត្រូវហើយអាក្រក់!

  2.   Nicolas dijo

    សូមអរគុណខ្លាំងណាស់សម្រាប់ព័ត៌មានជំនួយ🙂

    ខ្ញុំមានការសង្ស័យពីរបី:
    ១ - តើការផ្លាស់ប្តូរជាអចិន្ត្រៃយ៍ឬ? ឬវាបាត់នៅពេលចាប់ផ្តើមម៉ាស៊ីនមេឡើងវិញ?
    2 - ខ្ញុំមានករណីជាច្រើន (និយាយ A, B និង C) នៅលើបណ្តាញតែមួយ។ ឧទាហរណ៍ A ខ្ញុំអនុវត្តច្បាប់ដើម្បីធ្វើចរាចរណ៍ទៅ IP ខាងក្រៅហើយសាកល្បងជាមួយ curls ពីវត្ថុ B និង C អ្វីគ្រប់យ៉ាងដំណើរការអស្ចារ្យ។ បញ្ហាគឺមកពីឧទាហរណ៍ A វាមិនដំណើរការទេ។ ខ្ញុំបានព្យាយាមប្រើទាំងអាយភីនិងចំណុចប្រទាក់រង្វិលរបស់អ្នកហើយមិនដំណើរការទេ៖
    $ iptables -t nat -A PREROUTING -p tcp លិខិតឆ្លងដែន ៨០៨០ -j DNAT –to- ទិសដៅ xxxx: ៨០៨០
    $ iptables -t nat -A PREROUTING -p tcp -i lo –dport 8080 -j DNAT –to- ទិសដៅ xxxx: 8080

    $ curl ip-yyyy: ៨០៨០ / សួស្តី_world
    curl: (៧) បានបរាជ័យក្នុងការភ្ជាប់ទៅកំពង់ផែ ip -Yyy ៨០៨០: ការភ្ជាប់បដិសេធ
    $ curl localhost: ៨០៨០ / hello_world
    curl: (៧) បានបរាជ័យក្នុងការភ្ជាប់ទៅកំពង់ផែ localhost ៨០៨០: ការភ្ជាប់បដិសេធ

    គំនិតអ្វីដែលបញ្ហាអាចជា?

    1.    KZKG ^ ហ្គារ៉ា dijo

      បាទការផ្លាស់ប្តូរត្រូវបានបាត់បង់នៅពេលចាប់ផ្តើមឡើងវិញអ្នកនឹងត្រូវប្រើ iptables-save & iptables-restore ឬអ្វីមួយដូចនោះដើម្បីចៀសវាង។
      ខ្ញុំពិតជាមិនយល់ពីអ្វីដែលអ្នកចង់ធ្វើទេឧទាហរណ៍អា?

      1.    Nicolas dijo

        ខ្ញុំមានម៉ាស៊ីនមេដែលគាំទ្រតែការតភ្ជាប់ពីអាយភីអេស (អេសអេស) ខ្ញុំមិនអាចឬចង់បន្ថែមលេខកូដបន្ថែមទៅបញ្ជីសុវត្ថិភាព (សម្រាប់បញ្ហាដែលអាចធ្វើមាត្រដ្ឋានបាន) ដូច្នេះ ខ្ញុំចង់ឲ្យ ចរាចរទាំងអស់ទៅម៉ាស៊ីនមេខាងក្រៅឆ្លងកាត់ម៉ាស៊ីនមេ (A) ។ ) ។
        ចំពោះបញ្ហាជាក់ស្តែងខ្ញុំមានការកំណត់ជាសកលដែលកំណត់ថាតើអាយភីណាមួយដែលត្រូវប្រើសម្រាប់សេវាកម្មនីមួយៗដូច្នេះក្នុងករណីនេះវាដូចជាអ្វីមួយ "មនុស្សគ្រប់គ្នាដែលចង់ប្រើសេវាកម្មខាងក្រៅត្រូវតែប្រើអាយភីអេ"
        ខ្ញុំទទួលបានជោគជ័យដោយប្រើវិធីសាស្រ្តក្នុងអត្ថបទនេះប៉ុន្តែខ្ញុំមានបញ្ហាថានៅពេលដាក់ពាក្យសុំវាម៉ាស៊ីនមេ A មិនអាចចូលប្រើសេវាកម្មដោយប្រើ ip ផ្ទាល់របស់វាទេ (ប៉ុន្តែម៉ាស៊ីនមេផ្សេងទៀតធ្វើ) ។
        រហូតមកដល់ពេលនេះអ្វីដែលល្អបំផុតដែលខ្ញុំបានរកឃើញគឺការបន្ថែមផែនទីនៅក្នុងឯកសាររបស់ម៉ាស៊ីនអេស។

  3.   braybaut dijo

    ល្អណាស់ប្រសិនបើខ្ញុំមានម៉ាស៊ីនមេអ៊ីមែលផ្សេងទៀតខ្ញុំអាចបញ្ជូនបន្តពីកំពង់ផែលេខ ១៤៣ ពី server143 ទៅ server1 ហើយអ៊ីមែលនឹងទាក់ទងខ្ញុំនៅលើ server2 មែនទេ?

    ទាក់ទង

    1.    KZKG ^ ហ្គារ៉ា dijo

      តាមទ្រឹស្តីបាទវាដំណើរការដូចនេះ។ ប្រាកដណាស់អ្នកត្រូវតែតំឡើងម៉ាស៊ីនមេម៉ែលអោយបានត្រឹមត្រូវនៅលើ server2 🙂

  4.   msx dijo

    ប្រភេទប្រកាសដែលយើងចូលចិត្តអានសូមអរគុណ!

  5.   អ័ប្រាហាំអ៊ីបារ៉ា dijo

    អត្ថបទល្អខ្ញុំមានគំរោងដែលខ្ញុំកំពុងធ្វើការហើយខ្ញុំចង់សួរសំនួរអ្នកមានឧបករណ៍ប្តូរឧស្សាហកម្មដែលមានមុខងារ NAT (ខ្ញុំគិតថាពួកគេប្រើ IPTables ខាងក្រោម) ដើម្បីបកប្រែអាសយដ្ឋាន IP ដោយមិនមានការផ្លាស់ប្តូរឧបករណ៍។ ឧទាហរណ៍ខ្ញុំមានម៉ាស៊ីនមេ ១០.១០.២.១ ដែលមានទំនាក់ទំនងជាមួយកុំព្យូទ័រ ១០.១០.២.X ហើយតាមរយៈកុងតាក់ត្រូវបានរៀបចំកម្មវិធីដូច្នេះកុំព្យូទ័រដែលមានអាស័យដ្ឋាន ១៩២.១៦៨.២.៤ ត្រូវបានគេមើលឃើញពីម៉ាស៊ីនមេថា ១០.១០.២.៥ វាបានបកប្រែថាអាយភី ពីកុំព្យូទ័រផ្សេងទៀតដែលមានអាស័យដ្ឋាននោះខ្ញុំចង់ធ្វើវាចេញពីម៉ាស៊ីនមេដែលមានអ៊ូប៊ុនទូឬចែកចាយផ្សេងទៀតតើច្បាប់ iptables នឹងទៅជាយ៉ាងណា?

  6.   គុ dijo

    ព័ត៌មានល្អណាស់សូមអរគុណ ^ _ ^

  7.   យីស dijo

    ល្ងាចដ៏ល្អ។
    ខ្ញុំមានបញ្ហាក្នុងការព្យាយាមប្តូរទិស។ ខ្ញុំពន្យល់:
    ខ្ញុំមានម៉ាស៊ីនមេប្រូកស៊ីនៅក្នុងអ៊ូប៊ុនទូមានកាតបណ្តាញចំនួន ២៖
    eth0 = 192.168.1.1 ត្រូវបានភ្ជាប់ទៅបណ្តាញក្នុងស្រុកដែលនៅសល់។
    eth1 = 192.168.2.2 ត្រូវបានភ្ជាប់ទៅរ៉ោតទ័រ។
    ខ្ញុំត្រូវការអ្វីគ្រប់យ៉ាងដែលកើតឡើងតាមរយៈ eth0 ដើម្បីឆ្លងកាត់ eth1 និងតាមរយៈប្រូកស៊ីផងដែរ (ខ្ញុំប្រើ Squid ដែលច្រកលំនាំដើមគឺ 3128) ហើយខ្ញុំមិនអាចរកឃើញកូនសោនៅក្នុងការកំណត់រចនាសម្ព័ន្ធ IPTABLES ទេ។
    ខ្ញុំមិនត្រូវការការរឹតត្បិតណាមួយទេមានតែកំណត់ត្រាដែលមាននៅក្នុងកំណត់ហេតុនៃអាសយដ្ឋានគេហទំព័រដែលត្រូវបានទស្សនា។

    ខ្ញុំសង្ឃឹមថាអ្នកអាចជួយខ្ញុំបានព្រោះវាជាកិច្ចការដ៏លំបាកដែលបានធ្វើឱ្យខ្ញុំព្រួយបារម្ភអស់រយៈពេលពីរបីថ្ងៃ។

    សូមអរគុណ។

  8.   កាព្រីយ៉ែល dijo

    មិត្តខ្ញុំខ្ញុំថ្មីណាស់ចំពោះម៉ាស៊ីនមេផ្សេងទៀតខ្ញុំមិនមានគំនិតទេប៉ុន្តែខ្ញុំយល់ច្បាស់អំពីប្រធានបទហើយខ្ញុំរៀនយ៉ាងឆាប់រហ័សសំណួររបស់ខ្ញុំដូចខាងក្រោមខ្ញុំមានម៉ាស៊ីនមេចំនួន ២ គឺ serv_2 និង serv_1 ដែលខ្ញុំបានភ្ជាប់ទៅនឹងត្រាណិតដដែលនៅក្នុងម៉ាស៊ីនមេទាំងនេះខ្ញុំមាន រៀបចំផ្ទាល់ខ្លួនខ្ញុំចង់ធ្វើដូចខាងក្រោមៈ

    ថាជួរជាក់លាក់នៃលេខកូដឧទាហរណ៍ឧទាហរណ៍ជួរ ៣ នៅពេលដាក់ ip ចូលដំណើរការទៅម៉ាស៊ីនផ្ទាល់ខ្លួន (ipowncloud) ត្រូវបានតម្រង់ឆ្ពោះទៅ serv_1 ហើយបើវាជាជួរផ្សេងមួយទៀតដែលដាក់ ipowncloud ដដែលត្រូវបានបញ្ជូនទៅ serv_1 នេះដើម្បី ឲ្យ ម៉ាស៊ីនមេ ២ ស្ថិតនៅ នៅក្នុងទីក្រុងពីរផ្សេងគ្នានិងជួរ IP ខុសគ្នាប៉ុន្តែវាទាំងអស់ស្ថិតនៅលើបណ្តាញតែមួយដែលជាផ្នែកទីមួយទីពីរនឹងច្បាស់គឺធ្វើសមកាលកម្មម៉ាស៊ីនមេទាំងពីរនេះដើម្បីឱ្យពួកគេឆ្លុះកញ្ចក់ឬពួកគេណែនាំខ្ញុំតាមលំដាប់ ដើម្បីបង្កើនប្រសិទ្ធិភាពក្រុមទទឹងសូមប្រសិនបើអ្នកនឹងពន្យល់ខ្ញុំពីរបៀបធ្វើវាជាជំហាន ៗ មិនមែនជារបៀបអ្នកសរសេរកម្មវិធីទំនើប = (

  9.   លោក Antonio Carrizosa dijo

    សួស្តីសូមអភ័យទោសខ្ញុំមានកុងតាក់ទទួលខុសត្រូវលើការទំនាក់ទំនងនៃឧបករណ៍ទាំងអស់ដែលបង្កើតបណ្តាញរបស់ខ្ញុំហើយបន្ទាប់ពីនេះជាជញ្ជាំងភ្លើងហើយទីបំផុតការចាកចេញពីអ៊ិនធឺរណែតតើមានអ្វីកើតឡើងគឺខ្ញុំចង់ប្តូរទិសដៅទៅក្នុងកុងតាក់ និងមិនចាំបាច់ទៅដល់ជញ្ជាំងភ្លើងទេលុះត្រាតែសេវាកម្មដែលបានស្នើសុំគឺអ៊ីនធឺណិត។

  10.   យ៉ូហាន dijo

    ដោយប្រើវិធីសាស្ត្រនេះអ្នកអាចប្តូរទិសដៅ HTTPS ទៅ HTTP?

  11.   mati dijo

    សួស្តីប្រហែលជាយឺតពេលហើយប៉ុន្តែខ្ញុំចង់សួរអ្នកថាតើខ្ញុំត្រូវធ្វើយ៉ាងម៉េចដើម្បីកុំឱ្យមឹកមិនអាចកែប្រែអាយភីរបស់អតិថិជននៅពេលខ្ញុំចង់ភ្ជាប់ទៅបណ្តាញអ៊ីនធឺណិតនៅលើបណ្តាញតែមួយ?

  12.   ឡាហ្វត ៣២ dijo

    កុំធ្វើបាបខ្ញុំចំពោះការស្នើសុំ។ តើនេះអាចធ្វើបាននៅក្នុងវីនដូទេ?

  13.   លោកម៉ាទីន dijo

    ព័ត៌មាននេះមានប្រយោជន៍សម្រាប់ខ្ញុំ។ ដូចរាល់ដងដែលអ្នកអាចជឿទុកចិត្តបាននៅពេលដែលខ្ញុំមិនអាចរកឃើញអ្វីមួយជាភាសាអង់គ្លេសខ្ញុំតែងតែស្វែងរកភាសាអេស្ប៉ាញហើយនៅពេលនោះខ្ញុំតែងតែមកគេហទំព័រនេះ។ សូមអរគុណ។

  14.   Seba dijo

    ខ្ញុំមានរ៉ោតទ័រ 4G ដែលជាអតិថិជននៃបណ្តាញដែលខ្ញុំមិនគ្រប់គ្រង (ជាក់ស្តែងខ្ញុំជាអតិថិជន)... រ៉ោតទ័រនេះគឺជាច្រកទៅកាន់បណ្តាញពីចម្ងាយតាមរយៈ OpenVPN ។ លើសពីនេះ រ៉ោតទ័របាននិយាយថា បំពេញមុខងារនៃការបញ្ជូនបន្តដើម្បីចូលប្រើច្រក 80 នៃម៉ាស៊ីនមេនៃបណ្តាញរងមួយក្នុងចំណោមបណ្តាញរងទាំងនោះនៅក្នុងវាល។

    នេះ​ជា​ការ​ប្រកាស​ដែល​ខ្ញុំ​ត្រូវ​ដាក់​ក្នុង​រ៉ោតទ័រ​ជា​ច្បាប់​ជញ្ជាំង​ភ្លើង​ផ្ទាល់​ខ្លួន «-t nat -A POSTROUTING -j MASQUERADE»

    សូម​អរគុណ​សម្រាប់​ជំនួយ!