L2TP, GRE же IPsec: сессияны кайсы катмар алып жүрүү керек?
L2TP PPP сессияларын алып жүрөт, GRE — маршрутталган пакеттерди, IPsec тандалган трафикти коргойт. Ар бир катмарга бир милдет берип, андан кийин ар бирин өзүнчө текшериңиз.
Эки суроо бир долбоордук жазууда L2TP, GRE жана IPsec кездешкен сайын чаташат: мен кайсы сессияны алып жүрөм жана аны кайсы катмар коргойт? Биринчисин туура эмес чечсеңиз, төмөнкүнүн баары ички жактан ырааттуу бойдон калат, бирок туура эмес маселени чечет — колдонуучуларга кошулуу керек болгон жерде маршрутталган катмар жапкыч курулган, же сайт-сайт дарбазасынын ордуна кошулуу концентратору турат. Төмөнкү иш баракчасы бирөө түзмөккө кирээрден мурун ушул айырманы талап кылат. Аны тартиби менен толуктаңыз, ошондо ар бир сап өзүнчө текшерүүгө боло турган нерсеге айланат.
Протоколдор тизмесинен эмес, сессиядан баштаңыз
PPP сессиясын кармаган алыскы колдонуучу менен эки дарбазанын ортосундагы маршрутталган катмар жапкыч — экөө тең акыры IPsecке оролсо да, бул эки башка тармактык мамиле. Биринчиси ар бир колдонуучунун байланышын бүтүрөт жана даректерди бөлүштүрүүнү, адамдын же түзмөктүн аутентификациясын жана ошол колдонуучу кайсы ички тармактарга жете аларын атаган саясатты талап кылат. Экинчиси эч ким кошулбаган сайттардын ортосунда пакеттерди жөнөтөт.
Экөөнүн кайсынысын куруп жатканыңызды атаган бир сүйлөм жазыңыз, андан кийин аны өзүңүз аны башкара турган адамдай окуп чыгыңыз. Эгер сүйлөмгө «жана» деген сөз керек болсо, сиз экөөнү тең куруп жатасыз, ал эми иш баракчага ар бирине жарым-жартылай кызмат кылган бир компромисстик тилкенин ордуна эки тилке керек. Эгер ал колдонуучуну атаса, бирок даректер пулун атабаса, же префиксти атаса, бирок жөнөтүү саясатын атабаса, сүйлөм дагы эле толук эмес. Формулировка бюрократиялык угулат, бирок бул башка учурда колдоо кызматынын билети менен табыла турган долбоорду кармоонун эң арзан жери.
Ар бир катмарга так бир милдет бериңиз
L2TPv2 өзүнүн эки акыркы чекитинин ортосунда PPP сессияларын алып жүрөт. PPP байланыш сүйлөшүүсүн жана ал сүйлөшүлгөндө колдонуучунун аутентификациясын жүргүзөт; L2TP эч кандай криптография кошпойт, ошондуктан жылаңач L2TP демону IPsec коопсуздук мамилесинин эч бир бөлүгүн ишке ашырбайт жана сиз ишенген байланыштын ичинде гана болот.
GRE — эки даректин ортосундагы инкапсуляция. Ал тармактык катмардын пакеттерин логикалык катмар жапкыч аркылуу алып жүрөт жана өз алдынча купуялуулукту да, аутентификацияланган өнөктөштүн инсандыгын да сунуштабайт. Бул кемчилик эмес: аталыш карапайым болуп долбоорлонгон, ошондуктан өткөрүү техникасында иштетүүгө арзан бойдон калат. Натыйжа — GRE ушул пакетти эки даректин ортосунда кантип жылдыруу керектигине гана жооп берет, башка эч нерсеге эмес, жана бул ага берүүгө тийиш болгон суроо.
Ошентип IPsec трафикти тандоочу, өнөктөштөрдү аутентификациялоочу жана ага коргоо айтылган нерсени шифрлоочу катмар болуп калат. Кайсы трафикти коргой турганы — конфигурациялык чечим, ал акыркы чекиттер чынында жараткан инкапсуляцияга дал келиши керек, анткени GRE сырткы дареги үчүн жазылган саясат ички префикстер үчүн жазылгандан башкача жүрөт. GRE спецификациясы жүктү, GRE аталышын жана сырткы жеткирүү протоколун көрүнүктүү түрдө бөлүп турат, жана сиздин саясатыңызга да ушундай бөлүнүү керек.
| Layer | Its one job | What it never does |
|---|---|---|
| PPP | Link negotiation, optional user authentication, address assignment | Protect traffic between gateways |
| L2TPv2 | Carry the PPP session between two endpoints | Encrypt or authenticate peers |
| GRE | Encapsulate network-layer packets between two addresses | Hide or authenticate the payload |
| IPsec | Authenticate peers and encrypt selected traffic | Carry a dial-in user session by itself |
Конфигурациядан мурун пакет жолун жазыңыз
Бир пакетти алып, кошулган ар бир аталышты кошулуу тартиби менен жазып чыгыңыз жана аны кошкон түзмөктү атаңыз. Кошулуучу колдонуучу үчүн бул адатта IPsec ичиндеги L2TP ичиндеги PPP; сайт катмар жапкычы үчүн бул IPsec ичиндеги GRE ичиндеги ички IP пакети. Эгер эки түзмөк бир аталышты кошсо, сизде цикл же кайталанган туннель бар, жана саясатты канча оңдосоңуз да ал оңдобойт.
Ошол эле тизме MTUну чечет, анткени пайдаланууга боло турган ички өлчөм — өлчөнгөн жолдун MTUсунан ушул тапта атаган аталыштарды кемитип тапкандан башка эч нерсе эмес. Форум жазуусунан сан көчүрбөңүз: сырткы IP, UDP жана ESP чыгымын, андан кийин GRE же L2TPни, андан кийин тиешелүү жерде PPPни кошуп, чынында өлчөгөн жолдун MTUсунан кемитиңиз. Тек чоң өткөрүүлөрдө пайда болгон белгилер, же орногон соң биринчи чоң жоопто өлгөн сессиялар адатта бул кошумчанын болжол менен жасалганына алып барат.
Ар бир катмарды өзүнчө, сырттан ичке карай текшериңиз
Текшерүүлөрдү тартиби менен аткарыңыз жана биринчи ийгиликсиз болгонунда токтоңуз. Ар бир сап башка суроого жооп берет, ошондуктан ийгиликсиздик туннель бузулду дегендин ордуна иш баракчанын бир тилкесин көрсөтөт.
ip xfrm state # is the IPsec SA up?
ip -s link show gre1 # does the overlay interface carry packets?
ip route get 10.20.0.5 # does the inner prefix route where you think?
ss -lun | grep -E "1701|4500" # are the L2TP and NAT-T listeners bound?Cisco кутусунда эквивалент ролго жараша, ал эми так синтаксис платформага жана чыгарылышка жараша: IPsec өнөктөштөрү үчүн show crypto session, GRE же туннель интерфейси үчүн интерфейс эсептегичтери, жана кошулуу ролу үчүн VPDN же PPP текшерүүсү. PPPны бүтүргөн буйруктар топтому GRE колдоосу жөнүндө эч нерсени далилдебейт, ал эми иштеп турган GRE интерфейси PPP кызматы жөнүндө эч нерсени далилдебейт, ошондуктан диаграммадагыны эмес, чынында конфигурациялаган ролду текшериңиз.
Ар бир чыгарылышты өзү тиешелүү иш баракчанын сабынын жанына жазып коюңуз. Бузулуу активдүү кезде алынган жазуулар кийинчерээк эстен кайра тартылган топологиядан кымбат.
Бузуу тартибин белгилеңиз, андан кийин кайра текшериңиз
Бузуу тескери тартипте жүрөт, себеби бар: корголгон трафикти IPsec саясатынан ал үчүн жазылган инкапсуляцияны алып салганга чейин чыгарыңыз, болбосо саясат эми жок интерфейсти көрсөтүп калат жана кийинки конфигурация жүктөө байланышы жок жерде ийгиликсиз болот. Linuxта бул туннель интерфейсинен мурун абал жана саясат жазууларын жок кылууну билдирет; маршрутизатордо — туннелден мурун crypto картасын же профиль жазуусун алып салууну.
Кайра курулгандан кийин кабылдоонун төрт байкоосун бир-бирден кайталаңыз: сырткы жеткиликтүүлүк, орнотулган IPsec бирикмеси, долбоор камтыган жерде орнотулган PPP сессиясы жана чыныгы бара турган дарекке ички жөнөтүү. Бир жашыл жарык калган үчөө үчүн далил эмес, жана дал ошол боштук өндүрүштө эң узак жашаган ийгиликсиздик — туннель күйүп турат, шифрленген, бирок эч нерсе жөнөтпөйт, анткени ички маршрут эч качан кошулган эмес.
Толукталган иш баракчаны түзмөктүн конфигурациясынын жанында сактаңыз. Толуктай албаган ар кандай тилке — милдет ыйгарылбаган катмар, ал эми милдети жок катмар адатта стекте болбошу керек катмар.