VPN туташат, бирок LAN түзмөктөрүнө жетпейт: эмнени текшерүү керек
Шлюз өз дарегине жооп берет, бирок анын артында эч нерсе жооп бербейт. Ийгиликсиз чекти табуу үчүн кардар агымын кадам сайын көзөмөлдөңүз.
Трафик тоннелге кирет, шлюз өз дарегине жооп берет, ал эми анын артында эч нерсе жооп бербейт. Бул үлгү кеңири таралган жана бул карама-каршылык эмес: шлюзден келген жооп тоннелдин бүткөнүн далилдейт, ал эми анын сыртына даректөөлөнгөн пакетке эмне болорун тууралуу эч нерсени далилдебейт. Эки тест бир эле машинадагы ар башка код жолдорун иштетет.
Мындан ары шлюздун аркы тарабындагы нерсени текшериңиз. Шлюздун өз дареги кайра багыттоо канчалык бузулса да жооп берүүнү улантат.
Шлюз өз стегинен жооп берет
Шлюзга даректөөлөнгөн пакет анын жергиликтүү кирүү жолуна жеткирилет, ал жерде ядро угуп жаткан сокет аны кабыл алабы же жокпу чечет. Шлюздун артындагы хостко даректөөлөнгөн пакет анын ордуна кайра багыттоо жолуна жеткирилет, ал жерде башка текшерүүлөр топтому колдонулат. Кайра багыттоону толугу менен өчүрүүгө болот, же ядро аны күйгүзүп, анан тоннелди такыр эске салбаган чыпка эрежеси аны четке кагып коюшу мүмкүн. Мунун эч бири шлюздун өз жообуна таасир этпейт, ошондуктан симптом ушунчалык ишенимдүү адаштырат.
Тоннел аркылуу жеткиликтүү башкаруу барагы да биринчи категорияга кирет. Алар тоннел жөнүндө далил, анын артындагы тармак жөнүндө эмес.
Агымды аны таштаган биринчи чекке чейин көзөмөлдөңүз
Кардардан баштап, агым колдоно турган маршрут менен баштапкы даректи ырастаңыз. Андан кийин шлюзда дал ошол агымдын келишин, дагы ошол эле агымдын LAN тарапка кетишин байкаңыз. Эгер ал эч качан келбесе, маселе кардар тарабында же тоннелдин уруксат берилген префикстеринде. Эгер ал келип, эч качан кетпесе, маселе кайра багыттоодо же алдыдагы жолдун чыпкасында, ал эми жазуу кайсы экенин айтып койгон.
Ушул эле тестти шлюзден аткаруу кызыктуу жарымын жашырат, анткени шлюзден пайда болгон пакеттин башталышы жана кайтуу талабы башка. Ар бир кадамда кардардын агымын анын өз баштапкы дареги менен колдонуңуз. Туура эмес интерфейстен алынган жазуу ишенимдүү бош сөз берет.
Кайтуу маршруттары жана хосттун өрт дубалдары өз-өзүнчө ийгиликсиз болот
Пакет хостко жеткенден кийин дагы үч нерсе аткарылышы керек. Кызмат пакет жөнөтүлгөн даректе угуп турушу керек, хосттун өрт дубалы аны кабыл алышы керек, жана жооптун кардарлар пулуна карай кайтуу маршруту болушу керек. Акыркысы көп ийгиликсиз болот, анткени хосттун демейки маршруту тоннелдин диапазонун эч качан укпаган маршрутизаторго көрсөтөт. Натыйжада хосттун көз карашынан орношкон жана каршы багытта үнсүз өлгөн байланыш пайда болот.
Кайтуу жолун атайын текшериңиз: кардардан жөнөтүп, кайтууну байкаңыз. Бир багыттуу жазуу бир сааттык божомол чече албаганды секунддарда чечет.
Ар бир секирүүнү кардардын баштапкы дареги менен ырастаңыз
Текшерүүлөрдү ирети менен аткарыңыз жана ар бир чыгууну сактаңыз, анткени баалуулук салыштырууда, өзүнчө сапта эмес. Төмөнкү буйруктар баштапкы даректи бекемдейт, тандалган маршрутту көрсөтөт жана кайра багыттоонун эки тарабын жазат. Өзүңүздүн LAN хостун жана тоннел интерфейсин алмаштырыңыз.
ip route get 192.168.50.20 from 10.8.0.2
ping -I 10.8.0.2 -c 3 192.168.50.20
sudo tcpdump -ni tun0 host 192.168.50.20
sudo tcpdump -ni br0 host 192.168.50.20
Маршрут суроосу кардар ошол пакетти тоннелге жөнөтөбү же жокпу көрсөтөт, ал эми ping хосттон бир нерсе кайттыбы же жокпу көрсөтөт. Эки жазуды салыштыруу келүүнү чыгуудан ажыратат, анткени тоннел интерфейсиндеги кадрга LAN интерфейсинде теңдеши жок болсо, бул кызматтын бузулушу эмес, кайра багыттоо чечими. Эки жазуу тең суроону, бирөө гана жоопту көрсөтсө, калган шектүү — кайтуу маршруту.
Кайсы дарек жооп бергенин жана кайсы багытталган максат ийгиликсиз болгонун жазыңыз. Ошол сүйлөм отчётту сервер жеткиликсиз деген ырастоонун ордуна аракетке жарактуу кылат.