Ang buong lagusan sa strongSwan ay nangangailangan ng 0.0.0.0/0 sa magkabilang panig
Ang buong lagusan ay nangangailangan ng 0.0.0.0/0 bilang remote_ts ng kliyente at local_ts ng gateway, kasama ang pagpapasa, NAT at ruta ng pagbalik. Suriin ang apat.
Ang koneksyong strongSwan na gumagana para sa isang pribadong subnet ay hindi magdadala ng trapiko ng internet dahil lang may nag-edit ng isang linya. Ang buong lagusan ay isang kasunduan sa pagitan ng dalawang panig tungkol sa kung aling mga address ang pinoprotektahan ng child SA, at tinatawag ng bawat panig ang isa pa kaugnay ng sarili nito. Gawing tama ang isang panig at mali ang isa pa, at ang child SA ay hindi babangon o babangon na mas makitid kaysa sa nilayon. Sinusundan ng limang pagsusuri sa ibaba ang kasunduang iyon mula sa kliyente, sa gateway, at palabas sa internet.
Suriin muna ang selektor ng kliyente
Inilalarawan ng kliyente ang nais nitong protektahan sa malayong panig bilang remote_ts, at lahat ng ipinapadala nito ay nagmumula sa sarili nitong itinalagang address. Para sa trapiko ng internet dapat saklawin ng halagang iyon ang mga destinasyong talagang maaabot ng gumagamit, na sa pagsasagawa ay nangangahulugang buong espasyo ng IPv4. Ang kliyenteng naglilista pa rin ng isang subnet ay humihingi ng hati na lagusan, anuman ang pangalan ng profile sa interface. Ang panig ng pinagmulan ay karaniwang dynamic dahil ang address ay itinatalaga sa pag-connect. Ang nakapirming pinagmulan na nakasulat doon ay masisira sa sandaling magbago ang pangkat ng address.
children {
net {
local_ts = dynamic
remote_ts = 0.0.0.0/0
}
}
Ang sipi ay hindi buong file ng koneksyon, at ipinapalagay nito na ang pagpapatunay, mga pagkakakilanlan at ang pangkat ng virtual na address ay naisagawa na. Ang selektor ng pinagmulan ng kliyente at ang address na itinatalaga ng server ay dapat pa ring magtugma, kung hindi ay babangon ang child SA na may saklaw na hindi inaasahan ng alinmang panig. I-load ito gamit ang swanctl --load-all at basahin ang output bago ipagpalagay ang tagumpay. Ang file na napaparse ay maaari pa ring tanggihan dahil sa selektor na hindi nagsasapaw sa mungkahi ng kabilang panig.
Suriin ang selektor ng gateway sa sarili nitong panig
Binabasa ng gateway ang parehong konsepto mula sa kabaligtarang direksyon. Ang mga destinasyon ng internet ay lokal sa gateway, kaya ang local_ts nito ang malawak at ang remote_ts nito ay naglalarawan ng pangkat ng kliyente. Ang pagbabaligtad na iyon ang pinakakaraniwang pagkakamali sa isang konfigurasyon ng buong lagusan, at ito ay nakakalampas sa pagsusuri dahil ang dalawang linya ay mukhang makatwiran nang magkahiwalay.
children {
rw {
local_ts = 0.0.0.0/0
remote_ts = 10.77.0.0/24
}
}
Ang pagkopya ng sipi ng kliyente sa file ng gateway ay lumilikha ng pares ng selektor na walang inilalarawang kapaki-pakinabang, dahil ang dalawang panig ay mangangako ng parehong papel. Ang gabay sa pagpapasa ng strongSwan ay tahasang nagdodokumento ng pagpapares ng kliyente at gateway, at sulit itong basahin sa tabi ng file ng koneksyon sa halip na pagkatapos ng kabiguan. Ang file ng gateway ay nangangailangan din ng depinisyon ng pangkat na tinutukoy ng remote_ts. Ang selektor na nagngangalan ng pangkat na wala ay naglo-load nang walang reklamo at nabibigo sa pag-connect.
Ang lumang ipsec.conf ay gumagamit ng kaliwa at kanang papel na may magkaibang susi, at ang linyang rightsubnet ay hindi direktang kapalit ng halaga ng swanctl. Panatilihin ang dalawang sintaks sa magkahiwalay na file sa halip na ipaskil ang isa sa loob ng isa. Ang paghahalo sa kanila sa isang direktoryo ay ang paraan na ang gumaganang koneksyon ay tahimik na bumabalik pagkatapos ng reboot.
Suriin ang napagkasunduang child SA, hindi ang file
Ang naka-save na konfigurasyon ay nagpapatunay ng layunin at wala nang iba pa. Maaaring paliitin ng kabilang panig ang hiniling, at ang umiiral na child SA ay hindi pinapalitan dahil lang nagbago ang file sa ilalim nito. Kumpirmahin kung ano talaga ang naka-install bago baguhin ang anupaman.
swanctl --list-conns
swanctl --list-sas
ip xfrm policy list
Ipinapakita ng unang utos kung ano ang nilo-load ng daemon, ng pangalawa ang mga naitatag na child SA, at ng pangatlo ang mga patakarang ipapataw ng kernel. Kung sinasabi ng file na 0.0.0.0/0 at ang listahan ay nagpapakita ng isang subnet, pinaliit ng negosasyon ang saklaw at hindi ito ipapaliwanag ng muling pagbasa ng file. Itigil ang child, simulan muli, at ihambing muli ang tatlong output. Ang child na bumabalik na may parehong makitid na saklaw ay pinapaliit ng malayong panig at hindi ng lokal na file, at iyon ay pakikipag-usap sa kabilang administrador sa halip na lokal na pagbabago.
Basahin ang dalawang direksyon sa listahan ng patakaran, dahil ang lagusang nag-i-install ng isang direksyon at hindi ang isa ay problema sa ruta na nakasuot ng konfigurasyon. Dapat pangalanan ng patakaran pasulong at pabalik ang parehong pares ng selektor sa repleksyon, at ang kulang na salamin ay depekto sa daemon o sa mungkahi, hindi sa teksto ng selektor.
Suriin ang pagpapasa at ang ruta ng pagbalik
Ang selektor ay tumatanggap ng trapiko papunta sa gateway, ngunit hindi nito pinapasa ang trapikong iyon nang mas malayo. Dapat na naka-enable ang pagpapasa, dapat pahintulutan ng firewall ang daloy, at dapat mahanap ng sagot ang daan pabalik sa pangkat ng kliyente. Tatlong magkahiwalay na pangangailangan iyon, at bawat isa ay nabibigo sa magkaibang sintomas. Ang kulang na tuntunin sa pagpapasa ay kumikilos tulad ng itim na butas, samantalang ang kulang na ruta ng pagbalik ay kumikilos tulad ng isang-direksyong lagusan.
sysctl net.ipv4.ip_forward
iptables -t nat -S | grep -i masq
ip route get 1.1.1.1
Ang mga pribadong address ng kliyente ay karaniwang nangangailangan ng sadyang pagsasalin ng pinagmulan bago makalabas ng pampublikong interface, samantalang ang tahasang nirrutang paglalaan ay nangangailangan ng ibang pagtrato. Kung may NAT, panatilihin ang mga eksepsyon na sinusuportahan ng implementasyon upang ang trapikong dapat siyasatin ng patakarang pangkaligtasan ay hindi maisalin nang lagpas dito. Ang malawak na tuntunin ng masquerade na kinopya mula sa ibang gateway ay nagbabago ng mas maraming daloy kaysa sa nilayon ng may-akda. Isulat ang tuntunin para sa pangkat ng kliyente lamang, at mag-iwan ng komento kung bakit ito umiiral.
Sa kliyente, kumpirmahin ang mga rutang ini-install ng backend at hindi ang mga rutang inakala mo. Ang tagapamahala na may naka-disable na pag-install ng ruta ay nangangailangan ng rutang disenyo na pinapanatili sa kamay, at ang disenyong iyon ay dapat i-update sa tuwing magbabago ang lagusan. Suriin ang talahanayan ng ruta pagkatapos ng muling pagkonekta, hindi lamang pagkatapos ng bagong boot.
Suriin kung ano ang hindi pa sakop ng lagusan
Ang pares ng selektor ay sumasaklaw sa IPv4 at wala nang iba. Ang IPv6, DNS at anumang patakaran sa antas ng aplikasyon ay magkahiwalay na desisyon na tahimik na binabalewala ng malawak na selektor ng IPv4. Ang lagusang nagdadala ng bawat pakete ng IPv4 ay maaari pa ring maglabas ng bawat paghahanap ng pangalan.
Tahasang sabihin ang nilalayong daan ng DNS, dahil ang buong lagusang nagreresolba pa rin ng mga pangalan sa pamamagitan ng lokal na resolver ay naglalabas ng mga query sa labas ng lagusan at sinisira ang mga pribadong pangalan. Kung ang kliyente ay bibigyan ng address na IPv6, ang pamilyang iyon ng address ay nangangailangan ng parehong pagtrato, kung hindi ay pipiliin ng host ang daang hindi pinoprotektahan ng lagusan. Subukan gamit ang pangalang tanging ang pribadong panig ang makakasagot, at ituring ang pampublikong sagot bilang paglabas.
resolvectl query intranet.example.internal
traceroute -n 1.1.1.1
Kumpirmahin ang kadena gamit ang dalawang utos na iyon kasama ang mga napagkasunduang selektor mula sa listahan sa itaas. Kung ang traceroute ay nagpapakita ng lokal na router bilang unang hop, hindi ginagamit ng trapiko ang lagusan anuman ang iginigiit ng mga selektor. Ang pag-access sa internet ay kumpleto lamang kapag ang piniling trapiko ay tinanggap, ipinasa at ibinalik sa pamamagitan ng dinisenyong gateway. Ang paghahanap ng 0.0.0.0/0 sa isang profile ay simula ng kadenang iyon, hindi patunay.