Екі шешім де VPN деп аталады және олар әртүрлі мәселелерді шешеді. Сайттар арасындағы туннель екі шлюзді қосады, сондықтан олардың артындағы әрбір хост ештеңе орнатпай-ақ екінші жақтағы рұқсат етілген мекенжайларға жете алады. Қашықтан қатынау туннелі жекелеген құрылғыларды желіге қосады, бір уақытта бір клиент. Бұл салыстыру маңызды, өйткені орнату қателерінің көбісі біреуін конфигурациялап, екіншісінің әрекетін күтуден туындайды, ал симптом әдетте туннель шынымен жеткен қызметтегі күту уақытының бітуі болады.

Екі шешім, екі шекара

Site-to-siteRemote access
Endpointstwo gatewaysa gateway and each client
Who configuresnetwork ownerseach user or an MDM
Scope of reachwhatever the gateways routewhatever the client is granted
Broadcast discoverynot carriednot carried

Екі шешімнің ешқайсысы LAN хабар тарату доменін кеңейтпейді. Алыс жақтағы құрылғылар жергілікті табу тізімінде көрінбейді, және оны күту — бас тартуға тиіс бірінші болжам. Әдейі жариялаған жеке DNS атаулары кез келген табу протоколынан гөрі болжамдырақ және жеткізуші ауысқанда да сақталады.

Бір сайтта 10.10.0.0/24 және екіншісінде 10.20.0.0/24 алыңыз. A шлюзіне 10.20.0.0/24 префиксін туннельге жіберетін маршрут немесе трафик селекторы қажет, ал B шлюзіне оның айна бейнесі қажет. Содан кейін екі жақтағы хосттар қарапайым IP қосылымын пайдаланады және туннель бар екенін ешқашан білмейді. Бұл көрінбеушілік — ерекшелік, және ақаулардың туннель қателері емес, қарапайым желі қателеріне ұқсауының себебі де осы.

Саясатқа негізделген және маршрутқа негізделген бір туннель емес

Саясатқа негізделген IPsec орнатуында келісілген трафик селекторлары қай дереккөз бен межелі жұптардың қорғалатынын дәл анықтайды. Егер бір шлюздің артында жаңа қосалқы желі пайда болса және оны ешбір селектор қамтымаса, туннель жұмысын жалғастырады, ал жаңа қосалқы желі жай ғана тасымалданбайды. Маршрутқа негізделген шешімде трафикті интерфейс қабылдайды, ал шешімді маршруттау кестесі қабылдайды, бұл префикс қосуды туннельді қайта келісу емес, маршрут өзгерісіне айналдырады.

StrongSwan екі көріністі де тікелей көрсетеді, және оларды бірге оқу нақты қандай модель орнатқаныңызды анықтаудың жолы.

swanctl --list-sas
ip xfrm policy
ip -4 route show table all | grep -E '10\.(10|20)\.'

Сізге қажет префиксті тастап кеткен селекторлар тізімі пакетті ұстамай-ақ ақауды түсіндіреді, ал дұрыс емес интерфейске көрсеткен маршрут қайтар жолдағы айна ақауын түсіндіреді. Бірдеңені қайта келісу алдында екеуін де оқыңыз, өйткені кілтті жаңарту ешқашан конфигурацияламаған селекторды қоспайды.

Адрестеуді туннельге дейін жоспарлаңыз

Қабаттасатын ауқымдар — конфигурациямен түзетуге болмайтын жобалау қатесі. Егер екі сайт та 192.168.1.0/24 пайдаланса, 192.168.1.50 қажет хосттың екі үміткері бар және таңдаудың жолы жоқ. Туннель аутентификациядан өтеді, қауіпсіздік ассоциациялары орнатылады, ал маршруттау шешімі бәрібір қате немесе екіұшты болады.

Үш адал нұсқаның бірін таңдаңыз: бір сайтты қайта нөмірлеңіз, қабаттасатын ауқымды шлюзде аударыңыз, сонда әр жақ бөлек префикс көреді, немесе сол хосттар үшін тікелей маршруттаудан бас тартып, қызметті басқа жолмен жариялаңыз. Әрқайсысының құны бар, және екі жылдық көкжиекте біріншісі әдетте ең арзан. Туннель пайда болмай тұрып шешіңіз, өйткені кейін өзгеріс ескі мекенжайы бар әрбір құрылғыға тиеді.

MTU мәселесін де ерте шешіңіз. Туннель пайдалы жүктемені азайтады, және фрагментацияға сүйенетін шешім шлюздерде MSS-ті бекітетін шешімнен өзгеше әрекет етеді.

Бағыттау және саясат туннельден тыс тұр

Шлюз туннель интерфейсі мен LAN интерфейсінің арасында пакеттерді бағыттауға дайын болуы керек, және екі бағытқа да қызметке рұқсат беретін саясат қажет. Linux-та бұл екі бөлек параметр, қосымша бағытталған ағынның жалпы рұқсат етілгенін анықтайтын firewall ережелері.

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -s 10.20.0.0/24 -d 10.10.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.10.0.0/24 -d 10.20.0.0/24 -j ACCEPT

Қабылдаушы хост үшінші қабатты қосады: оның firewall-ы әлі де қашықтағы қосалқы желіден клиентті қабылдауы керек. Тек өзінің жергілікті /24-ін рұқсат ететін файлдық сервер 10.20.0.7-ден бағытталған трафикті қабылдамайды, туннель қаншалықты сау көрінсе де, және бұл бас тартуды маршрут ақауы деп оқу оңай.

Шлюзден емес, хосттан тексеріңіз

Шлюздің өзі жіберген ping бағытталған пайдаланушы трафигінен басқа дереккөз мекенжайы мен басқа саясатты ұстануы мүмкін. Бұл оны әлсіз тестке айналдырады және кейде шатастырады: қолданба істен шыққанда ол сәтті болады, немесе қолданба жұмыс істеп тұрғанда ол сәтсіз болады.

ip route get 10.10.0.5 from 10.20.0.7
ping -I 10.20.0.7 10.10.0.5
curl -sv --max-time 5 http://files.10-10.internal/ -o /dev/null

Нақты хостты, нақты дереккөз мекенжайын және қолданба пайдаланатын нақты протоколды пайдаланыңыз. Содан кейін қайтару жолын бөлек оқыңыз, өйткені қайтару маршруты жоқ жұмыс істеп тұрған алға бағыт бөгелген қызметке ұқсайтын күту уақытының бітуін туғызады.

Шешімді өзіңіз жауап беретін сұраққа қарай таңдаңыз: желілерді қосасыз ба, әлде құрылғыларды қабылдайсыз ба? Қалғанының бәрі, қай жеткізушіні конфигурациялайтыныңыз да, сол жауаптан шығады.

Қатысты мақалалар