Linux VPN клиентін ескі құрылғының протоколына сәйкестендіріңіз
Құрылғының жарияланған порттарын оқыңыз, содан кейін сәйкес клиентті орнатыңыз: GRE үстіндегі pppd, IKEv1 XAuth үшін strongSwan немесе портал үшін openconnect.
Төрт протокол тұқымдасы сөреде әлі тұрған барлық дерлік құрылғыны қамтиды және олардың әрқайсысы Linux-та басқаша сәтсіздікке ұшырайды. Қашықтағы жақтың жариялаған порттары мен конфигурацияланған ұсыныстары сіздің пакетіңізді анықтайды, кездейсоқ іске қосқан дистрибутивіңіз емес. Форум жазбасында айтылғанды орнатып, содан кейін бірдеңе қосылғанша өңдеу — түстен кейінгі уақыт осылай жоғалады. Құрылғыны оқыңыз, екінші орнатыңыз, үшінші тексеріңіз.
Қашықтағы жақ нені жариялайтынын жазып алыңыз
Пакет менеджерін ашпас бұрын құрылғы күтетін протоколды, порттарды және аутентификацияны жазыңыз. Төрт тұқымдас ескі жабдықтың көп бөлігін қамтиды, ал төмендегі кесте — бір экрандағы бүкіл шешім.
| Family | Ports | Linux side |
|---|---|---|
| PPTP | TCP 1723 plus GRE, IP protocol 47 | pppd with a peer file |
| L2TP/IPsec | UDP 500, 4500, 1701 | NetworkManager plugin over strongSwan |
| IKEv1 aggressive with XAuth | UDP 500 | native strongSwan connection |
| AnyConnect-style portal | TCP 443 | openconnect with a TUN device |
Нұсқаулық пен құрылғының өз файрвол ережелері оның кіру бетіндегі протокол атауынан сенімдірек. IPsec жарнамалайтын құрылғы тек IKEv1 сөйлеуі мүмкін, ал ешкім қолданбаған firmware шығарылымы соңында IKEv2 қосатын нәрсе болуы мүмкін. Деректер жолын да, конфигурация портын да растаңыз, өйткені ескі жабдық пен заманауи желілер дәл осы жерде ажырайды. Бұл қадамда қателесу — клиентіңізді екінші жақта ешқашан болмаған мүмкіндікке қарсы жөндеу деген сөз.
PPTP: pppd-ны өңдемес бұрын GRE-ді дәлелдеңіз
Linux-та PPTP — сіз іске қосатын демон емес, pppd шақыруы, ал қосылым параметрлері pppd шақырылғанда оқитын атаулы peer файлында өмір сүреді. Дистрибутивтер оны әлі де бумалайды, дегенмен протоколдың белгілі әлсіздіктері оны кез келген құпия нәрсеге жарамсыз етеді, сондықтан оны тек басқа ештеңе ұсынбайтын құрылғы үшін қатаң сақтаңыз. Клиент келіссөз жүргізіп жатқанда GRE-ге назар аударыңыз, болжамның орнына қысқа жазумен. Ең көп уақыт жоғалтатын сәтсіздік — аутентификация емес, жоқ деректер жолы.
pppd call branch-office
tcpdump -ni any proto gre -c 5
Егер конфигурация аяқталып, байланыс ешқашан трафик тасымаса, тіркелгі деректеріне тимес бұрын GRE жолынан күдіктеніңіз. Бұлттық қауіпсіздік топтарына 47 протоколы үшін айқын ереже қажет, ал кейбір желілер оны көрінетін қатесіз толығымен бұғаттайды. Нақты қолданатын желіңізден сынаңыз, бәріне рұқсат беретін зертханадан емес.
L2TP/IPsec: бір сәйкес ұсыныс он әрекетті жеңеді
Демон журналын оқыңыз, жұмыс үстелінің диалогын емес, өйткені диалог бірнеше түрлі сәтсіздікті бір хабарламаға біріктіреді. NO_PROPOSAL_CHOSEN қатесі бірінші фазаға жатады: клиент сервер қабылдамайтын шифрлауды, хэшті немесе Diffie-Hellman тобын ұсынды. Құрылғының нені қолдайтынын тізімдеп, оған сәйкес бір ұсыныс жазыңыз, өйткені кездейсоқ комбинациялар көбіне сол қатені баяуырақ береді. Жұмыс үстелінде практикалық клиент — астында strongSwan немесе Libreswan бар NetworkManager L2TP кеңейтімі.
Жұмыс үстелі кеңейтімі үшін бір мағына беретін ұсыныс жолы жұмысты тапсыратын демон үшін басқа мағына беруі мүмкін, сондықтан өңдеп жатқан қабатқа сай синтаксисті сақтаңыз. Егер құрылғы туннель құпиясын да талап етсе, бұл IPsec кілтінен бөлек кезең. Бірдеңе теруден бұрын интерфейс қайсысын сұрап жатқанын растаңыз.
XAuth-пен агрессивті IKEv1 және портал жағдайы
FortiGate стиліндегі соңғы нүкте әдетте қалайды XAuth-пен агрессивті режимді және конфигурацияланған режим мекенжайын, оны графикалық кеңейтім мүлде көрсетпеуі мүмкін. Жергілікті демон оны шешеді, ал төмендегі блок толық файл емес, сол конфигурацияның пішіні. Ұсыныс мәндері үшін өндірушінің ағымдағы құжаттамасын қараңыз.
conn branch
keyexchange=ikev1
aggressive=yes
leftauth=psk
leftauth2=xauth
leftsourceip=%config
right=203.0.113.10
strongSwan-ның ескірген шығарылымдары 5 нұсқасы leftauth2=xauth қолданатын жерде xauth=client қолданған, сондықтан көшірілген үзінді тек синтаксис бойынша сәтсіздікке ұшырауы мүмкін. TLS порталы үшін AnyConnect протоколында сөйлейтін openconnect Cisco мен көптеген қайта брендтелген өнімдерді шешеді және оған TUN құрылғысы мен оны конфигурациялау құқықтары қажет. Портал мекенжайын браузер көрсеткендей дәл беріңіз, құрылғы күтетін кез келген жолды қоса, содан кейін оның артындағыны сынамас бұрын берілген мекенжайды тексеріңіз. Интерфейсті алдын ала жасау конфигурация кезінде бір түрдегі тосынсыйды жояды.
sudo ip tuntap add dev tun0 mode tun
sudo openconnect --protocol=anyconnect vpn.example.com
Қосылыңыз, содан кейін тұрақты ретпен тексеріңіз
Бір уақытта дәл бір VPN менеджерін іске қосыңыз, өйткені NetworkManager профилі мен қолмен іске қосылған демон маршруттар мен DNS үшін таласады. Қолмен қосылымды сынамас бұрын профильді түсіріңіз және ескі туннель интерфейсі қалмағанын растаңыз. Содан кейін осы ретпен тексеріңіз: туннель мекенжайы, қажет жалғыз ішкі хостқа маршрут, атауларды шешу және соңында нақты сұраныс. Жасыл белгіше аутентификацияны дәлелдейді, басқа ештеңені емес.
ip -4 addr show tun0
ip route get 10.20.30.10
getent hosts app.internal
Егер қандай да бір қадам сәтсіз болса, келесісін сынаудың орнына сол жерде тоқтаңыз, өйткені сынған маршруттың төменгі жағындағы DNS сәтсіздігі сізге ештеңе үйретпейді. Тәжірибе жасамас бұрын жұмыс істеп тұрған профильдің көшірмесін сақтаңыз, өйткені жойылған қосылым файлын жоғалту оңай және оны қайта құру қиын. Ұсыныс мәндерін құрылғы үлгісі мен firmware нұсқасымен бір жазбада сақтаңыз, өйткені қорап ауыстырылғанда сол жазба көші-қон мен археология жобасының айырмашылығы.