Dalawang router sa bahay, walang naka-forward na port, at isang VPN na kung minsan ay nakakonekta pa rin. Pinapayagan ito ng UDP, dahil tatanggapin ng firewall ang isang packet na maaari nitong itugma sa isang daloy na sinimulan na ng makina. Ito ay isang kondisyonal na paraan, hindi isang tampok, at madaling sabihin ang mga kondisyon kapag alam mo kung ano ang inihahambing ng firewall. Ito rin ang dahilan kung bakit magkaiba ang kilos ng magkatulad na profile sa magkaibang network.

Ang paghahambing na ginagawa ng firewall

Bawat lumabas na datagram ay gumagawa ng panandaliang entry: source address, source port, destination address, destination port. Anumang dumating at tumutugma sa entry ay itinuturing na sagot at pinapayagang pumasok. Walang kinalaman ang mga panuntunan para sa papasok na trapiko.

Kaya ang tanong ay hindi kung papapasukin ng firewall ang partner. Ang tanong ay kung ang packet ng partner ay mukhang sagot na hinihintay ng entry. Palitan ang isang field ng four-part tuple na iyon at ang packet ay nagiging estranghero. Ito ang dahilan kung bakit ang gumaganang setup ay maaaring masira kapag ang numero ng port lang ang nagbago, at kung bakit ang parehong port ay maaaring gumana sa isang router at mabigo sa susunod.

I-fix ang lokal na source port, at lalabas ang parehong numero sa magkabilang panig ng palitan. Iyon ang buong mekanismo, at ipinapaliwanag nito kung bakit ang paraan ay marupok at hindi mahiwaga.

Pag-fix ng isang port sa bawat dulo

Ang default na UDP port ng OpenVPN ay 1194, at lport ang nagtatakda ng source port na pinagmumulan ng pagpapadala. I-fix ang parehong peer at ang palabas na tuple ng bawat isa ay tuturo sa port na pinakikinggan ng isa pa:

# peer A
lport 1194
remote 198.51.100.20 1194
# peer B
lport 1194
remote 203.0.113.10 1194

Gumagana lamang ito hangga't walang router sa pagitan nila na nagsusulat muli ng source port. Kapag lumabas ang mga packet sa isang capture ngunit walang tunnel na bumangon, ang muling pagsulat ang unang hinala.

Kung saan hindi na tumutugma ang tuple

Ang NAT na nagma-map ayon sa destinasyon ay nagbibigay sa bawat peer ng ibang panlabas na port. Ang address na sinabihan sa iyong peer na gamitin ay hindi ang address na nakakarating dito, kaya ang papasok na packet ay hindi tumutugma sa anuman at tahimik na itinatapon.

Ang pagsasalin sa antas ng operator, nakapatong na NAT at randomisasyon ng port ay pare-parehong nagtatapos. Gayundin ang anumang gitnang kahon na nagsusulat muli ng port habang hinahayaan ang mga address.

Mas malala ang kalagayan ng stream transport. Ang TCP handshake ay sinusubaybayan hakbang-hakbang, kaya ang VPN na nakabatay sa TCP ay hindi mabubutas sa ganitong paraan at kailangan ng tagapakinig sa isang lugar sa landas.

Karaniwang nauuna ang isang panig na mabigo

Sa pagsasagawa, bihirang magkapareho ang kilos ng dalawang network. Maaaring magbigay ang isang router ng mahuhulaang mapping habang ang isa ay nagbibigay ng port ayon sa destinasyon, at ang resulta ay isang configuration na gumagana sa pagitan ng dalawang tahanan at nabibigo mula sa mobile network. Ang mga ulat na nagkakasalungatan ay karaniwang naglalarawan ng dalawang magkaibang pares ng router. Wala sa dalawang may-akda ang mali, at wala sa dalawang resulta ang nagagamit sa lahat.

Alamin kung aling panig ang nagtapon ng packet bago hawakan ang mga profile. Ang mga capture sa magkabilang dulo ay nagpapasya nito sa isang pagsubok: ang mga datagram na umaalis sa A at hindi umaabot sa B ay nangangahulugang ang daloy ay isinulat muli sa daan, habang ang mga datagram na umaabot sa B nang walang sagot na bumabalik ay nangangahulugang hindi tinanggap ng firewall ang mga ito bilang kaugnay.

Dalawang peer na may pampublikong IPv6 address ay lumalampas sa buong problema. Walang pagsasalin, walang itutugma, kaya sapat na ang panuntunan ng firewall na nagpapangalan sa mga peer at hindi na umaasa ang disenyo sa kilos ng router.

Kailan titigil sa pagsubok

Ang host na may pampublikong address ang mapagkakatiwalaang sagot. Maaari nitong tapusin ang tunnel para sa dalawang peer, o tulungan lang silang matuklasan ang kasalukuyang panlabas na address ng isa't isa, at gumagana ang dalawang kaayusan anuman ang gawin ng NAT. Nagbibigay ang pinamamahalaang overlay ng parehong koordinasyon kung pinapayagan ng patakaran.

Wala sa mga ito ang nangangailangan ng patay na firewall. Ang patayin ang proteksyon para mapanalunan ang direktang koneksyon ay itinatapon ang dahilan kung bakit kaakit-akit ang direktang pagsubok, at iniiwan nitong bukas ang makina sa buong tagal ng pagsubok.

Subukan muna ang direktang kaayusan, pagkatapos itala ang nakita mo. Mas mahalaga ang kilos ng NAT at ang capture na nagpakita nito kaysa sa pares ng port na napagpasyahan mong gamitin, dahil magkaiba ang susunod na network. Ang manwal ng OpenVPN 2.6 ay nagdodokumento ng lport at ang mga opsyon sa remote na nakasalalay dito.

Kaugnay na mga artikulo