Sobes.tech
Junior

პორტების გადამისამართება რა არის?

sobes.tech AI

პასუხი AI-სგან

პორტების გადაცემა (port forwarding) — ქსელური ტექნიკა, რომელიც გადამისამართავს ქსელურ პაკეტებს, რომლებიც მიემართება გარკვეულ პორტსა და IP-ადრესზე, სხვა IP-ადრესსა და პორტზე ადგილობრივ ქსელში.

ეს საშუალებას აძლევს გარე მოწყობილობებს წვდომა ჰქონდეთ სერვისებზე, რომლებიც ჩვეულებრივ დაფარულია NAT-ის (Network Address Translation)-ის უკან.

პორტების გადაცემის ძირითადი ტიპები:

  • სტატიკური (Static NAT): განსაზღვრული წესია, რომელიც მუდმივად აკავშირებს გარე პორტს შიდა IP-მისამართზე კონკრეტულ შიდა პორტთან.
  • დინამიკური (Dynamic NAT): ხშირად გამოიყენება გამავალი ტრეფიკისთვის, სადაც შიდა IP-ების ჯგუფი დინამიკურად მაპირდება ერთ ან რამდენიმე გარე IP-ადრესსა და პორტზე. "პორტის გადაცემა" კონტექსტში ჩვეულებრივ იგულისხმება სტატიკური გადაცემა შემომავალ ტრეფიკზე.
  • SSH პორტის გადაცემა (SSH Port Forwarding): SSH ტუნელების გამოყენება ტრეფიკის უსაფრთხო გადამისამართებისთვის. შეიძლება იყოს:
    • ლოკალური: გადამისამართება ხდება ლოკალური მანქანიდან დისტანციურ სერვისზე SSH სერვერის საშუალებით.
    • დისტანციური: გადამისამართება ხდება დისტანციურ მანქანიდან ლოკალურ სერვისზე SSH სერვერის საშუალებით.
    • დინამიკური (SOCKS proxy): ქმნის SOCKS-პროქსის, რომელიც საშუალებას აძლევს ტუნელირება მოახდინოს ტრეფიკზე რამდენიმე მისამართსა და პორტზე.

გამოყენება:

  • ვებ-სერვერებზე, SSH, FTP, თამაშის სერვერებზე და სხვა სერვისებზე წვდომა შიდა ქსელიდან გარეთ.
  • VPN-ის განხორციელება.
  • ფაიერვოლდებისა და NAT-ის გადალახვა გარკვეულ სცენარებში (მაგალითად, SSH-ის გამოყენებით).

მაგალითი რუტერის წესზე (კონცეპტუალურად):

შემომავალი ინტერფეისი გარე IP გარე პორტი პროტოკოლი შიდა IP შიდა პორტი
WAN 203.0.113.10 80 TCP 192.168.1.100 80
WAN 203.0.113.10 2222 TCP 192.168.1.101 22

SSH ლოკალური პორტის გადაცემა მაგალითი:

# ლოკალური პორტი 8080 გადამისამართება სერვერზე webserver.example.com პორტზე 80
ssh -L 8080:webserver.example.com:80 user@ssh.example.com

SSH დისტანციური პორტის გადაცემა მაგალითი:

# დისტანციური პორტი 8080 გადამისამართება ssh.example.com-ზე ლოკალურ მანქანაზე პორტ 80-ზე
ssh -R 8080:localhost:80 user@ssh.example.com