Windows'тогу L2TP/IPsec 789 катасы: профилди түзүп, сунушту бекитиңиз
789 катасы IPsec алмашуусунда ишке ашпайт, сырсөздө эмес. L2TP профилин скрипт менен түзүп, сунушту бекитиңиз жана кийинки коддорду баскыч боюнча окуңуз.
Windows'тогу L2TP байланышындагы 789 катасы туннелдин IPsec коопсуздук алмашуусунун ичинде өлгөнүн билдирет, бул Windows колдонуучунун сырсөзүн бир жакка жөнөтө электен көп мурун болот. Сырсөздү кайра аракет кылуу же аны каталогдо калыбына келтирүү бул баскычты алдыга жылдыра албайт. Аны алдыга жылдырган нерсе — байланышты PowerShell'ден шлюз чындап сунуш кылган сунуш менен кайра куруу, анткени Параметрлер устасы IPsec өзгөртүүлөрүн үнсүз тандап, эмнени тандаганын эч качан көрсөтпөйт. Бул ошого арналган колдонмо: профилди түзүңүз, сунушту бекитиңиз, анан кийинки код бир нерсе айтышы үчүн баскычтар таблицасын колдонуңуз.
Профилди устасыз түзүңүз
Add-VpnConnection жергиликтүү телефон китебинин жазуусун жазат, ошондуктан натыйжа Параметрлер колдонмосу кийинчерээк өзгөрткөн ошол эле объект. Байланыш машинанын ар бир эсеби үчүн болушу керек болсо, аны жогорулатылган сессиядан, ал эми жеке бойдон калышы керек болсо, колдонуучу контекстинен иштетиңиз:
Add-VpnConnection -Name "Contoso L2TP" `
-ServerAddress 203.0.113.10 `
-TunnelType L2tp `
-EncryptionLevel Required `
-AuthenticationMethod MSChapv2 `
-RememberCredential -Force
-AuthenticationMethod параметрин шлюз сунуш кылган нерсеге дал келтириңиз. MSChapv2, EAP жана PAP бири-бирин алмаштырбайт, ал эми сервер кабыл албаган ыкманы талап кылган профиль кандайдыр бир колдонуучу жазуусу каралганга чейин эле ишке ашпайт. Кандайдыр бир реалдуу нерсе үчүн -EncryptionLevel Required сактаңыз; Optional Windows'ко каршы тарап сунуш кылса, шифрленбеген туннелди кабыл алууга жол берет, бул лабораториялык кыска жол, жөнөтүлүүчү параметр эмес.
Эгер -L2tpPsk берсеңиз, ал алдын ала бөлүшүлгөн ачкыч дисктеги профилге жазылат, андан ошол машинада профилди окуй алган ар ким аны калыбына келтире алат. Шлюз колдосо, каршы тарапты аутентификациялоо үчүн сертификат колдонуңуз, ал эми PSK сөзсүз болсо, аны ар бир орнотуу жүрүшүнө жабыштыруунун ордуна кампадан жана shell тарыхынан тышкары кармаңыз.
Демейки маанилерди кабыл алуунун ордуна сунушту бекитиңиз
Windows IPsec өзгөртүүлөрүн өзү толтурат, ошондуктан бирдей көрүнгөн байланышы бар эки машина бир эле шлюзга каршы ар кандай ишке ашпай калышы мүмкүн. Set-VpnConnectionIPsecConfiguration аларды бекитүүнүн колдоого алынган жолу:
Set-VpnConnectionIPsecConfiguration -ConnectionName "Contoso L2TP" `
-AuthenticationTransformConstants SHA256128 `
-CipherTransformConstants AES128 `
-EncryptionMethod AES128 `
-IntegrityCheckMethod SHA256 `
-DHGroup Group14 `
-PfsGroup None `
-PassThru -Force
Бул топтом — L2TP/IPsec'тин бир кеңири тараган жайгашуусу, универсалдуу жооп эмес. Ар бир параметр белгиленген маанилер тизмесин кабыл алат, ал эми платформа картага түшүрө албаган айкалыш үнсүз алсызданган профилдин ордуна cmdlet катасы катары кайтат. Мындай катаны маанилер жөнүндө билдирүү деп караңыз, укуктарыңыз жөнүндө эмес.
Сунушту шлюздун документтеринен же анын иштеп турган 1 жана 2 фаза параметрлеринен көчүрүңүз, жана шлюз четке каккан өзгөртүүлөрдү журналга жазып турганда гана бир убакта бир талааны өзгөртүңүз. Беш талааны айланып өтүү кокустан иштеген байланышты жана кийинки адамга эч нерсени түшүндүрбөгөн жазууну жаратат.
Ийгиликсиздикти ката тексти боюнча эмес, баскыч боюнча окуңуз
789 кардардын диалогунда баары бирдей көрүнгөн коддор үй-бүлөсүнө таандык. Профилге кайра тийүүдөн мурун кодду ал таандык баскычтын каршысына коюңуз:
| What you see | Stage that failed | Check first |
|---|---|---|
| Nothing happens, then a timeout | No IKE response at all | Server address, UDP 500 and 4500 reachability, NAT traversal on the gateway |
| Error 789 | IKE security exchange | Proposal, pre-shared key, certificate trust and client clock |
| Error 691 or a repeated password prompt | User authentication | Account state, domain, RADIUS or NPS policy |
| Tunnel up, some hosts unreachable | Routing or DNS after PPP | Split-tunnel routes, pushed DNS, remote subnet mask |
Бул жерде ыйгарым укуктардын эки ролу маанилүү. Алдын ала бөлүшүлгөн ачкыч же сертификат тараптарды бири-бирине ырастайт, ал эми MSChapv2 же EAP сизди туннелдин ичинде ырастайт. Колдонуучунун сырсөзүн калыбына келтирүү биринчисин оңдой албайт, жаңы жалпы сыр экинчисин оңдой албайт, ал эми экөөнү тең бир убакта өзгөртүү кайсынысы туура эмес болгонунун далилин жок кылат.
Сертификат жолунда текшерүүнү алсыратууну караганга чейин кардардын саатын, ишеним чынжырын жана шлюз күткөн инсандыкты текшериңиз. Текшерүүнү өчүрүү көрүнгөн 789'ду туура эмес тарапка ишенип туташкан туннелге айлантат, ал эми кардарда эч нерсе бул болгонун айтпайт. Microsoft'тун алыскы кирүү каталарынын тизмеси коддордун өзүнө шилтеме, жана ал коопсуздук катмарынын ийгиликсиздиктерин кирүү ийгиликсиздиктеринен бөлөт.
Оңдолду деп айтуудан мурун эки учтан тең текшериңиз
Профилди кайра окуңуз, бирок чыгарылышта сунушту күтпөңүз. Get-VpnConnection аталышын, сервер дарегин, туннел түрүн, шифрлөө деңгээлин жана аутентификация ыкмасын билдирет жана өзгөртүүлөр жөнүндө эч нерсе билбейт, ошондуктан кайра окуу жазуунун бар экенин жана туура хостко шилтеме кыларын тастыктайт:
Get-VpnConnection -Name "Contoso L2TP" |
Select-Object Name, ServerAddress, TunnelType, EncryptionLevel, AuthenticationMethod
Диалогдун ордуна сан алуу үчүн буйрук сабынан чалыңыз: rasdial "Contoso L2TP" интерфейс кайтарган ошол эле ийгиликсиздик кодун кайтарат, ал эми rasdial "Contoso L2TP" /disconnect аракеттердин ортосунда аны тазалайт. Андан кийин ошол эле аракет үчүн шлюз тарабын окуңуз. strongSwan ipsec statusall же маршрутизатордун IKE журналы кайсы сунуш келгенин жана кайсынысы четке кагылганын айтат, жана аны cmdlet маанилери менен салыштыруу эки учтун келишкенин чындап далилдеген жалгыз кадам.
Ийгиликтүү туташуу — финиш сызыгы эмес. Колдонуучуга маанилүү колдонмону ачыңыз, анткени маршруттар, жиберилген DNS жана бөлүнгөн туннелдин параметрлери туннел көтөрүлгөндөн кийин ишке ашпайт жана такыр ката диалогун чыгарбайт.
Аны автоматташтырыңыз жана таза артка кайтарыңыз
Көзөмөлсүз орнотуу — муну скрипт кылуунун себеби, ал эми чалуу баскычы ыйгарым укуктар агып чыккан жер. rasdial аларды өз буйрук сабында кабыл алат, анда башка жергиликтүү колдонуучулар жана журнал жыйноочулардын көбү аларды окуй алышат:
subprocess.run(["rasdial", "Contoso L2TP"], check=True)
Тапшырманы аткарган эсепке чектелген ыйгарым укукту артык көрүңүз, же профилге аны -RememberCredential аркылуу сактоого уруксат бериңиз, пландалган тапшырмада сырсөздү аргумент катары берүүнүн ордуна. Орнотуу буйруктарынын өзүн -Force менен кайталоо коопсуз, бирок алар эски сунушту кубаныч менен жаап калат, ошондуктан кайра иштетүү скрипт учурдагы маанилерди алып жүргөндө гана жардам берет.
Профилдер кайра жүктөөлөрдөн өтүп, алар үчүн курулган шлюз конфигурациясынан узак жашайт. Шлюздун сунушу жылып кеткенде, маанилердин экинчи топтомун үстүнө катмарлоонун ордуна жазууну алып салып, аны кайра түзүңүз: Remove-VpnConnection -Name "Contoso L2TP" -Force, андан кийин эки cmdlet'ти жаңы топтом менен кайталаңыз.
Циклди скрипттин жанында жашаган төрт текшерүү менен жабыңыз: Get-VpnConnection күтүлгөн туннел түрүн жана шифрлөө деңгээлин көрсөтөт; шлюз кардар дарегиңиз үчүн аякталган 1 жана 2 фазаны журналга жазат; rasdial ийгилик кайтарат жана колдонмо ачылат; жана скриптте жазылган сунуш шлюздун учурдагы параметрине дал келет. Кийинки 789 келгенде, бул салыштыруу түштөн кийинки убакыттын ордуна бир нече мүнөт алат.