Белгилер бир форманы ээрчийт: хост иштейт, анан ал кардар катары VPN-ге туташат, эми LAN кардарлары ага жетет, бирок анын жооптору жоголот. Хосттогу кармоо жооптор LAN интерфейсинин ордуна туннел түзмөгү аркылуу чыгарын көрсөтөт. Туннелде эч нерсе бузулган эмес, ал эми оңдоо — маршрут, кайра туташуу эмес. Төмөнкү төрт текшерүүнү тартиби менен аткарыңыз жана биринчи ийгиликсиз болгонунда токтоңуз.

Жооп — жаңы пакет, маршруттун тескери жүрүшү эмес

Жооп суроо баскан жол менен кайра келет деген ойдон баш тарткан пайдалуу. Маршруттоо ар бир пакет жана ар бир багыт боюнча жиберүүчү хостто чечилет. Туннелдин ичинде 10.64.0.23 дарегинен келген суроо кайтаруу жолун түзбөйт; хост жооп бергенде, ал жооп жаңы пакет катары таблица менен салыштырылат жана кайсы маршрут жеңсе, ошону менен чыгат.

Ошондуктан LAN-га да кызмат кылган машинадагы толук туннел кардары ушундай баш айландырган бузулууну жаратат. Кардар демейки маршрутту, же айрым кардарлар жактырган эки жарым демейки маршрутту орнотот, ал эми LAN кардарына жооп эми туннелге дал келет. Ал провайдерге кетет, анын аны андан ары жиберүүгө себеби жок, ал эми LAN кардары хост иштеп, жергиликтүү жооп берип турса да убакыт бүтүүсүн көрөт. Кармоо муну ачык кылат, маршруттоо таблицасы түшүндүрөт.

Калганын окууда эки кошумча тармакты эсиңизде тутуңуз. Бири — алыскы кардарлар келген VPN дарек пулу, бул мисалда 10.64.0.0/24. Экинчиси — ишин улантуучу LAN, 172.16.24.0/24, маршрутизатору 172.16.24.1 дарегинде. Кемчилик — алардын ортосундагы трафикти демейки маршрут чечет.

Аны кармоо жана издөө менен далилдеңиз

Бир нерсени өзгөртүүдөн мурун жооп кайсы түзмөктү колдонорун ырастаңыз. Издөө кармоодон тезирээк жана пакет курулганда өзөк жооп бере турган так суроого жооп берет.

ip route get 10.64.0.23 from 172.16.24.10
tcpdump -ni any -c 6 icmp

Жоопту эки бөлүктө окуңуз. Эгер ал dev tun0 деп көрсөтсө, хост жоопту инкапсуляциялап провайдерге берет, ал эми LAN кардары аны эч качан көрбөйт. Эгер ал dev eth0 деп көрсөтсө, бирок кардар дагы эле убакыт бүтүүсүн алса, маршрут буга чейин туура жана пакет кийин ташталат, бул башка маселе жана башка оңдоо.

Ошол эле кадамдагы кармоо ping чече албаган шектенүүнү чечет. LAN кардарына жеткен жаңыртуу жообу кандайдыр бир жол иштеп жатканын далилдейт, аны кайсы интерфейс алып өткөнүн эмес, ошондуктан кармоону хосттун өзүндө жүргүзүп, кадрлар кайдан чыгарын байкаңыз. Ошол кошумча тармактагы принтер жооп берүүнү улантат, анткени анын түз маршруту туннелдин демейкисинен такыраак. Жөнөтүлгөн порт каалаган башка агым сыяктуу эле ийгиликсиз болот, анткени интерфейсти таблица тандайт, байланыш эмес.

Туннелден ашып түшкөн эң тар маршрутту орнотуңуз

Префикс узундугу чечет, метрика эмес, ошондуктан LAN маршрутизатору аркылуу кардар пулунун маршруту VPN кардары орноткон каалаган демейки маршруттан басымдуу. Метрика операциясы керек эмес, демейки маршрут кардар койгон жерде кала берет.

ip route replace 10.64.0.0/24 via 172.16.24.1 dev eth0
ip route get 10.64.0.23 from 172.16.24.10

Экинчи add ордуна replace колдонуңуз, анткени кайра туташкан кардар өз жазуусун орнотуп койгон болот, ал эми экинчи add уруксат маселесине окшогон «маршрут бар» катасы менен ийгиликсиз болот. Windows хостто барабардыгы — route add 10.64.0.0 mask 255.255.255.0 172.16.24.1 -p, мында -p жазууну кайра жүктөөлөрдүн ортосунда сактайт, анткени туннел кайра көтөрүлгөндө кардар таблицаны кайра курушу мүмкүн. Азыркы Windows хостто колдоого алынган барабардык — New-NetRoute -DestinationPrefix 10.64.0.0/24 -NextHop 172.16.24.1 -InterfaceAlias Ethernet -PolicyStore PersistentStore, ал эми эски route буйругу мурас формасы катары сакталат.

Бир деталь бул туурабы же жөн гана ишенимдүүбү экенин чечет: кийинки секирик кардарларга кайтуучу жолду чындап ээлеген маршрутизатор болушу керек. Маршрутту туннел аркылуу гана жетүүчү дарекке багыттоо таза бузулуу эмес, үзгүлтүктүү жоготуу катары көрүнгөн илмек жаратат. Сапты бекемдеээрдин алдында кийинки секириктин LAN кошумча тармагында экенин ырастаңыз.

Кайра туташкандан кийин жоопту сактаңыз

Кол менен кошулган маршрут эң жакшы учурда кийинки кайра туташууга чейин турат. Эгер кардар пулу динамикалык болсо, аны сервер конфигурациясында бекитиңиз, ошондо сиз маршруттаган префикс кардарлар алган префикс бойдон калат; болбосо жазуу бош диапазонду көрсөтөт жана белги апталардан кийин ачык себепсиз кайтат. Маршрутту кардардын өзүнүн up-скриптине жазуу — башка ишенимдүү вариант, анткени ал кардар таблицаны кайра жазгандан кийин иштейт.

Абалы бар коргоо дубалы туура маршрутту баары бир жеңиши мүмкүн. Эгер кармоо азыр жооптун eth0 аркылуу чыгарын көрсөтсө, ал эми кардар дагы эле убакыт бүтүүсүн алса, хост пакетти жиберүүдөн мурун таштап жатабы текшериңиз. Кайтарык жолду катуу чыпкалоо жана net.ipv4.conf.all.rp_filter 1 деп коюлса, булагы кайсы интерфейстен келсе, ошону менен кайра маршрутталбаган пакеттерди таштайт, бул дал жаңы эле жаратып, кийин оңдогон асимметриялуу учур, ал эми conntrack абалы жөнөтүлгөн порттор үчүн ошол эле тарыхты айтат.

Акыркы текшерүү — адамдар өткөрүп жиберген текшерүү: туннел төмөндөп, кайра көтөрүлгөндөн кийин издөөнү кайталаңыз. Төрт маани сиз жазганга дал келиши керек: багыт, кийинки секирик, түзмөк жана тандалган булак. Эгер алардын бири жылса, кардар таблицаны кайра жазган, ал эми оңдоо анын илмектеринде, shell тарыхында эмес.

Тектеш макалалар