pfSense VPN сервери жана кардары катары: эки жол, бир маршрутизатор
Кирүүчү кызмат жана чыгуучу туннель бир түзмөктү бөлүшө алат. Алардын маршруттары, котормосу жана бузулуулары өзүнчө калабы, муну үч шарт чечет.
Бир түзмөк бир убакта эки тарапка карай алат: роумингдеги колдонуучулар ичке туташат, ал эми ошол эле куту тандалган трафик башка тармак аркылуу чыгышы үчүн сыртка чыгуу провайдерине туташат. Эки кызматты күйгүзүү бир нече мүнөт алат; алардын чогуу жашоосу долбоорду талап кылат, анткени экинчи ролу биринчиси таянган маршруттоо таблицасын кайра жазат. Бул курулуштун иштешин үч шарт чечет: кирүүчү кызмат өзүнүн кайтуу жолун сактайбы, чыгуучу туннель дагы эле өнөктөшүнө жетет беле, жана өткөргүңүз келген трафик чыгуу үчүн тандалабы. Бирөөндө жаңылсаңыз, экөө тең туташканын билдирген, бирок ортосунда пайдалуу эч нерсе өтпөгөн эки туннель аласыз. Төмөнкү текшерүүлөр ар бир шартты бузулуулар адатта пайда болгон тартипте орнотот.
Каалаган жөндөөгө кол тийгизээрден мурун эки ролду атаңыз
Ар бир үлгү үчүн төрт фактыны жазыңыз: анын алыскы өнөктөшү, аутентификация материалы, тарата турган дарек пулу жана анын артындагы тармактар. Эки үлгү түзмөктөгү өзүнчө объектилер жана жазууларыңызда да өзүнчө калышы керек. Кийинки дээрлик бардык баш аламан белгилер алардын маанилери аралашкандан келип чыгат, ал эми эки үлгү бир жазуулар топтомун бөлүшсө, туура эмес пул туура эмес талаага ошентип түшөт.
Кирүүчү кызматка чыгуучу туннелдин даректери менен да, түзмөк маршруттаган каалаган жеке тармак менен да капталбаган туннелдик тармак керек. Капталышуу — эки ролдо тең бир убакта белгилерди жараткан жалгыз ката, аны кагазда кармоо алда канча арзан. Каалаган кызматты конфигурациялоодон мурун эки пулду жана ар бир маршрутталган жеке тармакты бир жерде салыштырыңыз.
Жалпы жабдуу жалпы эсептик маалыматтарды билдирбейт, ал эми алыскы жетүү пулунан алынган кардар сертификаты чыгуу провайдерине каршы колдонулууга тийиш эмес. Өзүнчө материал кайтарып алууну да бүт флоттук окуянын ордуна жергиликтүү чечимге айландырат.
Сервердин жоопторун WAN жолунда кармаңыз
Түзмөк өзү жараткан жооптор — этиятсыз демейки маршруттун биринчи курманы. Роумингдеги колдонуучунун капталган пакети келгенде, жооп жергиликтүү пайда болгон трафик жана ал ошол колдонуучу кирген интерфейстен чыгышы керек. Эгер чыгуучу кардар аны кармаган демейки маршрутту орноткон болсо, жооп туура эмес туннелге кирет да, кызмат дагы эле ден соолуктуу көрүнгөн кезде сессия токтойт.
Муну чечкен бир гана белги кутуча жок, анткени чечим чыгуучу кардар кайсы трафикти кармай алары тууралуу. Же эч кандай маршрут тартпай, тандаганыңызды гана багыттаңыз, же маршруттарды тартып, түзмөктүн өз кызматтарын иштеп туруучу өзгөчөлүктөрдү кошуңуз. Тандоону үлгүнүн жанына жазыңыз, болбосо кийинки адам экинчисин болжолдойт.
netstat -rn | head -20
pfctl -sr | grep -i vpn
ifconfig | grep -A3 ovpn
Маршруттоо таблицасын эң узун дал келүү боюнча окуңуз, бир нерсени конфигурациялаган тартибиңиз боюнча эмес. Суроо — чыгуу өнөктөшүнүн дареги үчүн кайсы жазуу жеңет жана кирүүчү кызматтын жообу үчүн кайсы жазуу жеңет, жана бул эки жооп айырмаланышы мүмкүн.
Чыгуучу туннелге өзүнүн акыркы чекитин жегенге жол бербеңиз
Чыгуучу кардар туннелди түзүү үчүн өнөктөшүнүн коомдук дарегине жетиши керек. Эгер ошол дарек өзү туннелге маршрутталса, кардар өз куйругун кубалайт: транспорт эч качан көтөрүлбөйт, же көтөрүлүп, маршрут орнотулган учурда кулайт. Журнал маршруттоо бузулуусунан көрө аутентификация убактысынын бүтүшүнө окшош, ошондуктан маршрут биринчи текшерүүгө татыктуу.
Маршрутту эсептик маалыматтардан мурун жана туннель көтөрүлгөндөн кийин дагы бир жолу текшериңиз, анткени жазуу жүктөөдө туура, ал эми бир мүнөттөн кийин туура эмес болушу мүмкүн. Өнөктөштүн дареги кадимки WAN жолун көрсөтүшү керек, эч качан туннель түзмөгүн эмес. Транспорт турукташкандан кийин кызыктуу суроо өткөрүлгөн трафикке өтөт, бул кийинки чечим.
netstat -rn | grep -F '198.51.100.10'
traceroute -n 198.51.100.10
Кайсы колдонуучулар чыгууну аларын тандаңыз
Башат саясаты трафиктин түзмөккө кирген кире беришине таандык, ошондуктан алыскы жетүү пулун же анын ичиндеги тарраак инсандарды тандаңыз. Чыгууга эч качан жөнөтүлбөй турган жеке багыттарды жана башкаруу өзгөчөлүктөрүн сактаңыз, жана бул эрежелерди кең эрежеден мурун койңуз. Андан кийин чыгуу жолуна өзүнүн котормосу же маршрутталган кайтуу түзүлүшү керек, бул көпчүлүк долбоорлордо пулду камтыган чыгуу интерфейсиндеги чыгуучу NAT дегенди билдирет. Котормо чыгууну тандабайт; ал мурун эле кеткенди гана кайра жазат, ошондуктан тиешеси жок WANдагы NAT эрежеси тандоого эч нерсе өзгөртпөйт.
Алыскы тарап бул долбоордон өткөрүлгөн трафикке уруксат берерин ырастаңыз, анткени кээ бир провайдерлер уруксат берет, кээ бирлери жок. Айырмачылык туташкан, бирок эч нерсе ташыбаган туннель катары көрүнөт, аны жергиликтүү бузулуу деп окуу оңой. Үч агымды өзүнчө текшериңиз, анткени алар көз карандысыз иштебей калат, ал эми үчтөн экөө жарым курулган долбоор.
openvpn --config user07.ovpn
curl -sS https://ifconfig.me
curl --interface 10.10.10.1 -sS https://intranet.corp.example/health
Биринчи буйрук — роумингдеги колдонуучунун тышкы туташуусу, ал кардар инициализация ырааттуулугу бүткөнүн билдиргенде иштейт. Экинчиси ошол туташкан ноутбуктан иштетилет жана сиздин WAN дарегиңиздин ордуна чыгуу провайдеринин дарегин билдириши керек. Үчүнчүсү түзмөктө пулдун дарегине байланган түрдө жүрөт жана алыскы колдонуучуну такыр тартпастан өткөрүлгөн трафик үчүн башат саясатын текшерет. Эгер ал ордуна WANдан жооп берсе, саясат дал келген жок, ал эми NATты оңдоонун кандайдыр бир өлчөмү тандоо маселесин оңдобойт.
Чыгуу иштебей калганда эмне болорун чечиңиз
Бузулуу жүрүм-турумун ал болоордон мурун жазыңыз: чыгуучу туннель кулаганда колдонуучулар кадимки WANга кайтабы, же чыгуу кайтканга чейин бөгөттөлөбү? Эки жооп тең коргоого татыктуу, ал эми түзмөк сиздин ордуңузга тандабайт. Алынган маршрут же өлүк дарбазага көрсөткөн саясат автоматтык түрдө толук бөгөттөө натыйжасын бербейт. Бөгөттөөнү кааласаңыз, саясат муну ачык айтышы керек жана аны чыгууну алып салуу менен текшерүү керек, ал тууралуу ойлонуу менен эмес. Кайтууну кааласаңыз, муну колдонуучуларга жарыялаңыз, анткени үнсүз кадимки жолду алган трафик — бирөө жабылган деп эсептеген так ошол трафик.
Кардар үлгүсүн өчүрүңүз, туташкан колдонуучу дагы эмнеге жете аларын караңыз, анан аны кайра иштетиңиз. Мөөнөтү бүткөн сурам — сиз сураган толук бөгөттөө натыйжасы; WAN дареги менен жооп берген сурам — документтештирбеген кайтууңуз. Текшерүүнү IPv6 жана DNS үчүн кайталаңыз, анткени IPv4 үчүн жазылган саясат AAAA трафиги тууралуу эч нерсе айтпайт жана каалаган туннель түрткөн resolver сурам чындыгында чыккан жерден жооп берет.
pfSsh.php playback svc stop openvpn client 2
curl --max-time 6 -sS https://ifconfig.me
pfSsh.php playback svc start openvpn client 2
Netgate'тин маршрутталган OpenVPN рецепти башат саясатынын, интерфейс дайындоонун жана чыгуучу котормонун кантип шайкеш келерин көрсөтөт, ал эми анын сайттан сайтка камтылышы толугу менен көчүрүлбөй турган бөлүк. Ал сизге айтпаган нерсе — жогорудагы үч шарттын кайсынысын сиздин долбоор уже бузган.