Gumagana ang ping, gumagana ang SSH, naglo-load ang isang maliit na pahina, at pagkatapos ay nag-hang ang bawat malaking tugon hanggang maubos ang oras. Ang klasikong pattern ay tumutukoy sa laki ng packet at hindi sa maabot: dinadala ng landas ang handshake at ang unang ilang kilobyte, pagkatapos ay nawawala ang isang buong-laking segment. Sa isang gateway na Linux IPsec, ang tuntunin ng TCP MSS ay madalas ang solusyon, ngunit kung naiintindihan mo lamang kung ano ang binabago nito at kung saan talaga ang packet na hinahawakan nito. Sinusundan ng pagkakasunod-sunod sa ibaba ang packet mula sa sintomas hanggang sa paglalagay ng tuntunin, kaya makakapaghinto ka sa sandaling hindi na magkasya ang paliwanag.

Ang sintomas na nagmumungkahi ng MSS

Nakikipag-ayos ang TCP ng pinakamataas na laki ng segment sa handshake. Kung ang halagang iyon ay mas malaki kaysa sa kayang dalhin ng landas pagkatapos ng encapsulation, patuloy na gumagawa ang nagpapadala ng mga segment na hindi kailanman dumarating, at nag-hang ang koneksyon pagkatapos ng unang pag-ikot. Kasya ang maliliit na tugon; hindi kasya ang malalaki.

Maaaring iligtas ng feedback ng ICMP ang koneksyon sa pamamagitan ng pagtuklas ng MTU ng landas, at ang firewall na nagtatapon ng mga mensaheng iyon ay ginagawang tahimik na itim na butas ang pag-hang. Kaya gumagana ang parehong tunnel para sa isang application at nabigo para sa isa pa nang walang anumang malinaw na pagkakaiba sa configuration.

Ano ang ginagawa ng tuntuning TCPMSS at ano ang hindi

Isinulat muli ng tuntunin ang opsyon na MSS sa mga packet ng handshake ng TCP habang dumadaan ang mga ito. Hindi nito itinatakda ang MTU ng interface ng tunnel, hindi nito binabago ang patakaran ng IPsec, at sa mga kasalukuyang kernel ay binababa lamang nito ang isang inihayag na halaga sa halip na itaas ang isa na mas maliit na. Hinahawakan din nito ang TCP lamang; ang mga payload ng UDP, pag-uugali ng DNS at ang napagkasunduang mga tagapili ng trapiko ay nasa labas ng abot nito.

Dahil nangyayari ang pagbabago sa panahon ng handshake, ang umiiral na koneksyon na itinatag bago ang tuntunin ay nagpapanatili ng lumang halaga nito. Subukan gamit ang bagong koneksyon, at asahan na ang unang pagtatangka pagkatapos ng pagbabago ang siyang magsasabi sa iyo ng kahit ano. Wala sa tuntunin ang nakakaabot sa koneksyong bukas na. Kaya ang isang pag-aayos na inilapat sa gitna ng insidente ay maaaring magmukhang wala itong ginawa.

Ilagay ang tuntunin sa panloob na landas ng TCP

Sa isang gateway na Linux na nakabatay sa patakaran, ang ipinadalang packet ay mukhang ordinaryong TCP pa rin kapag nakita ito ng firewall. Nagpapasya ang patakaran ng IPsec na poprotektahan ang packet; hindi nakikita ng firewall ang header ng ESP para sa panloob na daloy, kaya ang pagtutugma sa ESP dito ay naglalarawan ng ganap na ibang packet. Ang pagkakaibang iyon ang dahilan kung bakit ang ilang tuntunin ay mukhang tama at hindi kailanman tumutugma.

Sa mga termino ng iptables, kabilang ang tuntunin sa talahanayan ng mangle sa landas ng pagpapasa, limitado sa mga packet ng handshake: iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1270. Ang bilang ay isang halimbawa, hindi isang pangkalahatang pare-pareho; kunin ito mula sa overhead ng encapsulation at sa tunay na MTU ng landas. Itinatakda ng katumbas na nftables ang pinakamataas na laki ng segment sa isang chain na forward o postrouting.

Panatilihing hiwalay ang mga panlabas na tuntunin sa pakikinig para sa IKE at ESP mula sa mga panloob na tuntunin ng pagpapasa. Ang isang tuntuning sumusubok na pahintulutan ang daloy ng application at ang panlabas na protocol nang sabay ay nagtatapos na hindi tumutugma nang mapagkakatiwalaan sa alinman.

Igalang ang may-ari ng firewall at ang pagkakasunod-sunod ng NAT

Kung pagmamay-ari ng UFW ang firewall ng host, idagdag ang mga pagbabago sa mangle at pagpapasa sa pamamagitan ng sinusuportahang permanenteng configuration nito sa halip na mag-type ng utos na nawawala sa susunod na pag-reload. Ang tuntuning ipinasok sa maling talahanayan o pagkatapos ng terminal na tuntunin ay walang epekto, at itinatago iyon sa iyo ng live na talahanayan.

Ang pagsasalin ng pinagmulan ay isang hiwalay na desisyon na madalas na nakikipag-ugnayan dito. Ang isang pagbubukod na inilagay bago ang pangkalahatang tuntunin ng masquerade ay pumipigil sa protektadong trapiko na mawala ang pinagmulang hinihingi ng patakaran nito; hindi nito inaayos ang problema sa laki, at ang tuntunin sa laki ay hindi inaayos ang problema sa pagsasalin.

I-verify nang makitid, pagkatapos ay huminto

Magbukas ng bagong koneksyon sa serbisyong nabibigo at panoorin ang application at ang mga counter ng tuntunin. Kung mawala ang pag-hang, mayroon kang ebidensya tungkol sa landas ng TCP na iyon kasama ang encapsulation na iyon. Wala kang ebidensyang umaangkop ang bawat protocol ng VPN, naayos ang bawat application ng UDP, o ang isang partikular na serbisyo sa itaas ang orihinal na dahilan.

Hayaan ang feedback ng laki ng ICMP na gumana kung saan pinapayagan ng patakaran, at tratuhin nang maingat ang awtomatikong pag-aayos batay sa MTU ng ruta kapag ang panlabas na landas ng IPsec ay hindi kinakatawan ng panloob na ruta. Habang mas makitid ang konklusyon, mas madaling masuri ang susunod na insidente.

Kaugnay na mga artikulo