Eyni söhbətdə iki rəqəm görünür və heç biri səhv deyil. Server jurnalı xidməti təqdim edən dinləyicini göstərir, noutbuk datagramı göndərən soketi göstərir, aradakı marşrutlaşdırıcı isə çıxış yolunda ikincisini yenidən yaza bilər. Rəqəmləri müqayisə etməkdənsə söhbətin uclarını müqayisə etmək daha faydalıdır. Aşağıdakı müqayisə dinləyicini, müştəri soketini və tərcümə olunmuş mənbəyi ayrı saxlayır, çünki onlar fərqli suallara cavab verir.

Qarşı-qarşıya ucları təsvir edən iki rəqəm

Serverin konfiqurasiya edilmiş portu müştərinin yığdığı hədəfdir. O, siyasətlə sabitlənir, profildə görünür və server tərəfində açıq olmalıdır. Müştərinin mənbə portu isə yerli olaraq, adətən qısamüddətli diapazondan seçilir və cavabın düşəcəyi yer olsun deyə mövcuddur. Hər yenidən qoşulmada dəyişə bilər və dizaynda heç nə onun sabit qalmasından asılı deyil.

Aradakı marşrutlaşdırıcı həmin mənbəni öz 'NAT' xəritələşdirməsinə yenidən yaza bilər. Buna görə serverdə müşahidə olunan rəqəmin noutbukun seçdiyi rəqəmlə çox vaxt heç bir əlaqəsi yoxdur.

Mənbə nömrəsi çıxış yolunda harada dəyişir

Uydurma bir IPv4 nümunəsi götürün: tərcümə edən marşrutlaşdırıcının arxasında bir müştəri, bir 'UDP' dinləyicisi olan server və hər ikisini keçən tək bir datagram. Cədvəl paketi üç müşahidə nöqtəsində təkrarlamaq əvəzinə hər son nöqtəni və onunla nə baş verdiyini adlandırır.

EndpointWhat stays fixedWhat changes on reconnectWho owns it
Server listenerThe service port and the address the profile namesNothing; the listener does not follow the clientThe server operator
Client socketThe destination it dialsThe local source port, chosen per socketThe client, or its operating system
Translated sourceUsually the public address of the routerThe port, and sometimes the address after a network switchThe NAT device or the upstream carrier

Hədəf hər sətirdə sabitdir və yalnız mənbə kimliyi dəyişir. UDP NAT tələbləri daxili ünvanı və portu xarici xəritələşdirmədən ayırır və bu, ikinci və üçüncü sətirlər arasındakı fərqin məhz özüdür. Marşrutlaşdırıcı müştərinin mənbə portunu saxlaya və ya başqasını seçə bilər; saxlanma tətbiqin güman etməli olduğu bir şey deyil.

Üç son nöqtəni hostların özündən oxuyun

Aşağıdakı siyahılar üç fərqli maşından gəlir və birlikdə bütün söhbəti göstərir. Birincisini serverdə, ikincisini müştəridə, üçüncüsünü isə xəritələşdirmənin mövcud olduğu yerdə işə salın. Tək bir jurnal sətri heç vaxt hər üçünü göstərmir.

ss -lunp 'sport = :1194'
ss -unp | grep 1194
conntrack -L -p udp | grep 1194

Birinci siyahı serverin xidmət portuna bağlandığını sübut edir və onu hansı prosesin saxladığını göstərir. İkincisi müştərinin yerli soketini və yığdığı hədəfi göstərir. Üçüncüsü marşrutlaşdırıcının yaratdığı xəritələşdirməni göstərir, tərcümə olunmuş mənbənin göründüyü yeganə yer budur. Onları bu sıra ilə oxuyun və iki rəqəm ziddiyyətli görünməyi dayandırır.

Yenidən qoşulma nəyi dəyişir və nəyi dəyişmir

Bəzi marşrutlaşdırıcılar müştərinin mənbə portunu boş olduqda saxlayır, bəziləri isə hər dəfə fərqli birini ayırır. Hər iki davranış normaldır və birincisini tələb edən tətbiq ikincisində sınacaq. Yenidən qoşulmadan və ya şəbəkə dəyişikliyindən sonra xəritələşdirmənin dəyişməsi server nasazlığı deyil: müştəri yeni soket açır, marşrutlaşdırıcı əlindəkini verir və server eyni dinləyicidə yeni mənbə görür. Nasazlıq olardı ki, serverin ixtiyari müştəri portuna ünvanlanmış trafiki qəbul etməsini gözləyəsən.

İcma OpenVPN müştəriləri bu davranışı nobind vasitəsilə alır, bu da əməliyyat sisteminə yerli portu seçməyə imkan verir; uzaq port yenə profildən gəlir. Açıq şəkildə bağlamaq qəsdən verilən qərardır, protokol tələbi deyil. Server bir son nöqtə təklif etməyə davam edir, müştərilər isə öz yerli kimliklərini seçir.

Qeyddə qatları ayrıca adlandırın

Tunelin içində öz portları olan ikinci bir söhbət var. Tunelin daşıdığı HTTPS sorğusunun hədəfi TCP 443-dür, xarici şifrələnmiş bağlantı isə UDP 1194 istifadə edir, buna görə xarici mənbə portunu dəyişmək daxili xidmətdə heç nəyi dəyişmir.

Hətta xarici qatda da protokol vacibdir. UDP 1194 və TCP 1194 fərqli son nöqtələrdir və 'TCP' dinləyicisi nömrə üst-üstə düşdüyü üçün heç vaxt UDP datagramı almayacaq. Yerləşdirməni sənədləşdirərkən server dinləyicisini, müştəri soketini və tərcümə olunmuş mənbəyi üç ayrı şey kimi adlandırın və hər birinə nəqliyyatı əlavə edin.

Sonra siyasət rolları izləsin. Server nəzərdə tutulan nəqliyyatı öz dinləyicisində açır və yenə də qarşı tərəfi autentifikasiya edir; müştərinin firewall-u gələn xidmət elan etmədən öz çıxan mübadiləsinə cavabları qəbul edir. Vəziyyətsiz filtr geri istiqaməti açıq şəkildə yazmalıdır və bu, fərqin səliqəli diaqramlardan kənarda əhəmiyyətli olmasının praktik səbəbidir.

Əlaqəli məqalələr