VPN-нен тыс тек бір жергілікті веб-қызметті порт бойынша бағыттау
Бастапқы порт ережесі бір хост қызметін WAN арқылы шығара ала ма, қалған хост VPN-ді пайдаланып қала ма және бұл қанша тұрады, соны шешіңіз.
Бір хост қызметі интернетке физикалық жоғары арна арқылы жауап беруі керек, ал машинадағы қалғанның бәрі туннельді пайдалануды жалғастырады. Саясатқа негізделген маршруттау бұл жүктемені көтере ала ма, оны үш шарт шешеді және әрқайсысын ереже жазбас бұрын тексеру арзан. Қызмет осы хостта аяқталуы керек, DNAT немесе бағытталған порттың артында емес, VPN-нің өз ережелері ерекшелікке рұқсат беруі керек, және сіз сұранысты емес, жауапты сәйкестендіруіңіз керек. Үшеуінің біреуі сәтсіз болса, төмендегі командалар қатесіз жүктеледі, бірақ пайдалы ештеңе жасамайды.
Ереже жазбас бұрын үш шартты тексеріңіз
Портты DNAT арқылы жариялайтын контейнер немесе портты қайта бағыттаудың артындағы сервер осы хостта пайда болмайтын пакеттер жасайды. Ол пакеттер қайта бағытталады, сондықтан хосттың жергілікті кірісіне негізделген ереже оларды ешқашан көрмейді және трафик әдепкі маршрутты ала береді. Жалғастырмас бұрын қызметтің шынымен қайда жұмыс істейтінін растаңыз, өйткені адамдар осы шартта жиі қателеседі.
Екінші шарт — механика емес, саясат. Туннельді айналып өтетін кез келген маршрут туннель мақсатынан ерекшелік болып табылады, ал басқарылатын хостта бұл шешім саясат иесіне тиесілі, тайм-аутты жөндеп жатқан адамға емес.
Жауапты сәйкестендіріңіз, клиенттің баратын портын емес
TCP 443-те тыңдайтын сервердің жауабы хосттан бастапқы порт 443-пен шығады. Сол хосттағы браузер қашықтағы HTTPS сайтына қосылғанда қысқа мерзімді бастапқы порт пен баратын порт 443 жібереді. Екеуі де 443 портының трафигі және олардың тек біреуі ғана WAN кестесін алуы керек, сондықтан баратын портты сәйкестендіру дұрыс емес жартысын ұстап алар еді.
Жауап бағыты — ажырата алатын нәрсе. Бастапқы портты сәйкестендіріңіз, ережені жергілікті жасалған пакеттермен шектеңіз, сонда ереже браузер сұраныстарына тиіспей қызметтің өз жауаптарын қамтиды.
Ереже оған сілтеме жасамас бұрын толық қайтару кестесін құрыңыз
Бос кесте маршрут жоқ дегенді білдіреді, бұл бұзылған саясаттан гөрі бұзылған қызметке ұқсайды. Алдымен оны толтырыңыз, хостта басқа ештеңе талап етпейтін кесте нөмірі мен басымдықпен:
ip -4 route add table 100 192.0.2.0/24 dev eth0
ip -4 route add table 100 default via 192.0.2.1 dev eth0
ip -4 rule add priority 1000 iif lo ipproto tcp sport 443 lookup 100
Сандарды көшірмей, тірі хосттан оқыңыз. ip -4 rule show қай басымдықтар алынғанын айтады, ал бұрыннан бар басымдыққа ереже қосу жеке-жеке дұрыс көрінетін екі ереженің ретін байқатпай өзгертеді.
Мұнда нағыз жұмысты екі селектор істейді. iif lo — ядро хосттың өзі жасаған пакеттерді қалай хабарлайтыны, сондықтан ереже сырттан келетін қайта бағытталған трафикті байқаусызда ұстай алмайды. ipproto tcp sport 443 оны бір тасымалдау және бір портпен шектейді, бұл талап рұқсат еткендей тар. Протокол селекторын алып тастасаңыз, ереже UDP 443-ті де ұстайды, ол басқа мінез-құлықты басқа қызмет.
Жеке жауаптарды туннель ішінде ұстаңыз
Егер сол тыңдаушы жеке жақтағы клиенттерге де жауап берсе, 100-кестедегі бәрін ұстайтын WAN әдепкісі сол жауаптарды жоғары арна арқылы қайтаруға тырысады. WAN әдепкісіне бағынбауы тиіс жеке префикстерді қосыңыз немесе оларды келесі саясат ережесіне түсіріңіз:
ip -4 route add table 100 throw 10.90.0.0/24
throw маршруты осы кестедегі іздеуді аяқтайды және пакетті ережелер тізіміне қайтарады, сондықтан кейінгі VPN саясаты өз мүмкіндігін алады. Ол өзі туннельге ештеңе бағыттамайды, ал кейінгі ешбір ереженің сәйкес маршруты болмаса, пакет бәрібір сәтсіз аяқталады; throw-ды түзету деп есептеудің орнына келесі саясатты тексеріңіз.
Кері жолды сүзу және хосттың брандмауэр ережелері келіп түскен сұранысқа әлі де қолданылады. Валидацияны әлсіретпес бұрын олардың нақты үкімдерін қараңыз, өйткені маршруттау ерекшелігі rp_filter-ті мүмкін емес деп санайтын қайтару жолын қабылдауға мәжбүрлемейді.
TCP, содан кейін QUIC, содан кейін қайта жүктеуді тексеріңіз
Уәкілетті сыртқы клиенттен бір және жеке жақтан бір қосылым ашыңыз, содан кейін жауап іздеуін нақты мекенжайлармен және порттармен тексеріңіз. Сыртқы жауап 100-кестені алса, жеке жауап алмаса, саясат сіз сұрағанды жасап тұр.
HTTP/3 UDP арқылы беріледі және TCP ережесімен сәйкестендірілмейді, сондықтан QUIC тыңдаушысына өз селекторы қажет, әйтпесе HTTPS жұмыс істеп тұрғанда ол туннельді пайдалана береді. Қандай ережелерге тоқтасаңыз, оларды интерфейске ие компонентте сақтаңыз және қайта қосылу немесе DHCP жаңартуынан кейін растаңыз. Қарсылас менеджер қайта жүктеуден кейін жұмыс уақытындағы маршрутты жойса, бұл көзде түзетілуі тиіс меншік мәселесі, үстіне кеңірек NAT ережелерін қосудың себебі емес.