VPN шлюзіне IP қайта жіберу қажет: нені тексеру керек
Шлюз өз мекенжайына жауап бере алады, бірақ интерфейстер арасында ештеңе өтпейді. Әр отбасы бойынша қайта жіберуді, содан кейін қайтару жолын тексеріңіз.
Клиентіңіз шлюз мекенжайына ping жібере алады, ал оның артындағы барлық ресурстар қолжетімсіз күйінде қалады. Бұл екі бақылау сізбен сөйлесіп тұрған хостты және маршруттауды орындамайтын маршрутизаторды сипаттайды, бұл бір машинадағы әртүрлі рөлдер. Қайта жіберу — олардың арасындағы ауыстырып-қосқыш.
Екі рөл де тәуелсіз, екі мекенжай отбасы да солай.
Өз мекенжайына жауап беру ештеңені дәлелдемейді
Пакет шлюздің өзіне адрестелгенде, жергілікті стек оны тұтынады және қайта жіберу туралы шешім қабылданбайды. Сондықтан туннель мекенжайына немесе басқару интерфейсіне сәтті ping демонның тірі екенін және туннельдің көтерілгенін айтады, бірақ қораптың артындағы желіге арналған трафик туралы ештеңе айтпайды. Ядро өзіне адрестелмеген пакеттер үшін ғана қайта жіберу жолын қарайды.
Талапты параметр ретінде емес, рөл ретінде оқыңыз: бұл хост пакеттерді екі интерфейс арасында жылжытуы керек. Тек қашықтағы желіге жету қажет ноутбук бұл рөлді ешқашан алмайды, ал сайт-сайт соңғы нүктесі әрқашан алады. Талапты осылай оқу жұмыс істеп тұрған клиент конфигурациясының шлюзге көшірілгенде неге сәтсіз болатынын түсіндіреді.
Дәл сол сөйлем қайта жіберу шешімінің алдындағы брандмауэрге де қатысты, оның нені қайта жіберуге болатыны туралы өз саясаты бар.
Әр мекенжай отбасын бөлек тексеріңіз
IPv4 қайта жіберу — бір ауыстырып-қосқыш, ал IPv6 қайта жіберу — әр интерфейс үшін өз мінез-құлқы бар екіншісі. Біріншісін қосу екіншісі туралы ештеңе айтпайды, ал қос стекті клиент желінің жартысына жете алады, ал қалғаны қараңғы күйінде қалады. Сондықтан әртүрлі отбасылардың екі клиенті бір шлюз туралы келіспеуі мүмкін. Кез келген параметрді өзгерту алдында сәтсіз клиент қай отбасыны пайдаланғанын сұраңыз. Маршруттау дизайны қате деп қорытынды жасамас бұрын екеуін де растаңыз.
sysctl net.ipv4.ip_forward
sysctl -a --pattern 'net.ipv6.conf.(all|default).forwarding'
nft list ruleset | head -n 40
Көптеген дистрибутивтерде жұмыс уақытында оқыған мәнді сол жерге қызмет немесе конфигурация файлы қойған, сондықтан бір реттік пәрменмен жасалған өзгеріс қайта жүктеу кезінде жоғалуы мүмкін. Жұмыс мәнін өзгерту алдында осы параметрге ие файлды табыңыз.
Қайта жіберу — төрт талаптың бірі
Жұмыс істейтін қайта жіберілген ағын бір уақытта төрт нәрсені талап етеді: клиент меже туннельдің артында екенін білуі керек, шлюздің алға маршруты болуы керек, жауаптардың қайтару жолы болуы керек және брандмауэр трафикке рұқсат беруі керек. Бастапқы мекенжайды түрлендіру бұл дизайнға ереже ретінде емес, опция ретінде жатады, өйткені симметриялы жолдары бар жеке маршрутталған желіге ол қажет емес, ал асимметриялыға әдетте қажет. Төртеуінің әрқайсысы дербес сәтсіз болады, сондықтан біреуін жөндеу симптомды сирек жылжытады. Кез келгенін өзгерту алдында төртеуін де жазып қойыңыз.
Бұлтты платформалар бесінші ойды қосады. Кейбіреулері даналарда бастау мен межені тексеруді талап етеді, бұл қонақ ядросының қалай конфигурацияланғанына қарамастан қайта жіберілген пакеттерді тастайды. Онда өкілеттік платформаның өз желілік құжаттамасында, VM ішіндегі sysctl шығысында емес.
Шлюзден емес, клиенттен сынаңыз
Шлюздің өз қабығында жүргізілген сынақ сіз жаңа ғана қосқан қайта жіберу жолының ешбір бөлігінен өтпейді. Трафикті мәселесі бар клиенттен жасаңыз және оның шлюздің өзіне емес, шлюздің артындағы бірдеңеге жететінін растаңыз. Бұл сіз өзгерткен рөлді жаттықтыратын жалғыз сынақ.
Тыңдаушы ережелерін және қайта жіберу ережелерін ойыңызда және өзгерістер жазбасында бөлек ұстаңыз. VPN портын ашу клиенттерді қызметке кіргізеді; ол оларға оның артындағы желіде ештеңе бермейді, және жылдар бойы өскен брандмауэр тізімінде екеуі бірдей көрінеді.
Пакеттер келіп, содан кейін қызмет пайдаланушыны қабылдамаса, сіз желіден асып кеттіңіз. Қайта жіберу саясатын қайта кеңейтудің орнына қолданба авторизациясымен жалғастырыңыз.