Ինչու CGNAT-ի հետևում գտնվող VPN սերվերը երբեք չի ընդունում միացումներ
100.64 հասցե, այլ տեղ լուծվող դինամիկ DNS անուն և մուտքային ձեռքսեղմման բացակայություն մեկ խնդիր են՝ օպերատորի NAT-ը։ Հաստատեք այն, ապա փոխանցեք ելքային հոսքը ռելեի միջոցով։
Երթուղիչը հաղորդում է WAN հասցե, որը սկսվում է 100.72-ով, դինամիկ DNS անունը լուծվում է այլ հանրային հասցեի, և այդ երթուղիչի VPN սերվերը երբեք չի ավարտում ձեռքսեղմումը դրսից։ Պորտերի փոխանցումը կարգավորված է, ծառայությունը աշխատում է, և LAN-ից փորձարկումը դեռ աշխատում է։ Երթուղիչի մատյանում ոչինչ սխալի նման չի երևում։ Այդ համակցությունը օպերատորի մակարդակի NAT է, և ոչ մի firewall կանոն չի կարող բացել պորտ այն հասցեում, որը ISP-ն է պահում։
Համատեղ հասցեի հաստատումը տևում է երկու րոպե և կանխում է կարգավորման փոփոխությունների մեկ շաբաթը։
Օպերատորի NAT-ին մատնանշող նշանները
Համեմատեք երթուղիչի կարգավիճակի էջի WAN հասցեն արտաքին հարցումով հաղորդված հասցեի հետ։ 100.64.0.0/10-ի սահմաններում WAN հասցեն սովորական նշան է, իսկ 10/8, 172.16/12 և 192.168/16 մասնավոր միջակայքերը նշանակում են նույնը։ Եթե traceroute-ը ցույց է տալիս նույն հանրային ցատկը կրկնված, կամ վաղ ցատկը պատասխանում է մասնավոր հասցեով, ապա երթուղիչի և ինտերնետի միջև կա ևս մեկ թարգմանիչ։ Որոշ ISP-ներ հատկացված հասցեն նշում են միայն հաճախորդի պորտալում, այնպես որ արտահանեք այդ արժեքը traceroute-ի հետ միասին։
Փոխել արձանագրությունները կամ պորտերը չի օգնի, քանի որ խնդիրը մուտքային հասանելիությունն է, ոչ թե փակ պորտը։
Ինչու փոխանցումը և դինամիկ DNS-ը չեն կարող ուղղել դա
Պորտի փոխանցման կանոնը քարտեզագրում է պորտ երթուղիչի WAN ինտերֆեյսի վրա, սակայն մուտքային հոսքը երբեք չի հասնում այդ ինտերֆեյսին։ ISP-ն նախ թարգմանում է այն և փոխանցում է միայն այն, ինչ թույլ է տալիս իր աղյուսակը։ Համատեղ հասցեի հրապարակումը դինամիկ DNS-ում ուղղորդում է հաճախորդներին դեպի ISP-ի դարպաս, որն օգտագործում են շատ բաժանորդներ, դրա համար անունը լուծվում է, իսկ ձեռքսեղմումը դեռ ձախողվում է։ Hairpin թեստերը հաջողվում են, որովհետև երթուղիչը ներսից պատասխանում է իր իսկ կանոնին, և UPnP-ն ունի ճիշտ նույն կույր կետը։
Հաճախորդի վերակարգավորումը նույնպես չի օգնի, քանի որ ձախողումը տեղի է ունենում նախքան հաճախորդի որևէ պարամետրի ընթերցումը։
Փոխանցում VPS-ի միջով բացահայտ երթուղիներով
Վարձեք ամենափոքր VPS-ը, որը կարող է կրել հոսքը, դրեք հանրային հասցե առջևում, ապա ստիպեք տնային երթուղիչին ելքային կապ հաստատել դրա հետ։ Տնային ցանցից ելքային UDP-ն անցնում է օպերատորի NAT-ով, ուստի թունելը կառուցվում է ներսից, և VPS-ը դառնում է հասանելի վերջնակետ։ Տնային կողմը դառնում է ֆիքսված թունելային հասցեով հաճախորդ, ոչ թե սերվեր։
VPS-ում ավելացրեք հաճախորդին հատուկ գրացուցակի գրառում, որպեսզի սերվերն իմանա, թե որ գործընկերն է տիրապետում տնային ենթացանցին, և ավելացրեք համապատասխան միջուկային երթուղի։
# /etc/openvpn/server/ccd/home-site.conf ifconfig-push 10.8.0.10 255.255.255.0 iroute 192.168.50.0 255.255.255.0 # server.conf client-config-dir /etc/openvpn/server/ccd route 192.168.50.0 255.255.255.0 push "route 10.8.0.0 255.255.255.0"
iroute տողը OpenVPN-ին ասում է, թե որ հաճախորդն է ստանում տնային ենթացանցի հոսքը՝ route տողը այդ ենթացանցը դնում է VPS-ի միջուկային աղյուսակում, որպեսզի փաթեթներն ընդհանրապես մտնեն թունել։ Հրապարակված ծառայության համար ավելացրեք նշանակման NAT կանոն, որը հանրային պորտը փոխանցում է 10.8.0.10-ին, և միացրեք net.ipv4.ip_forward-ը։
Փորձարկեք ուղին դրսից
Ստուգեք յուրաքանչյուր ցատկ հանրային կողմում, որովհետև հաջող թունելը չի ապացուցում, որ ծառայությունը հասանելի է։ VPS-ի լսման վիճակը և փաթեթների որսացումը տարբերում են «ոչինչ չհասավ»-ը «հասավ ու դեն նետվեց»-ից։
ss -lunp | grep 1194 tcpdump -ni any udp port 1194 nft list ruleset | grep -A4 dnat # from a phone on mobile data, not the home Wi-Fi nc -vz -u 203.0.113.10 1194
Եթե որսացումը ցույց է տալիս հեռախոսից եկող փաթեթներ, բայց պատասխան չկա, հաջորդ կանգառը սերվերի կարգավորումն է կամ firewall-ը։ Եթե որսացումը ոչինչ չի ցույց տալիս, հաճախորդը դեռ լուծում է կամ ուղարկում է սխալ հասցե։
Առաջին հերթին գնահատելի այլընտրանքներ
ISP-ից ստացված առանձին IPv4 հասցեն ամենակարճ լուծումն է և սովորաբար փոքր ամսական վճար է։ Ներկառուցված IPv6-ը հեռացնում է թարգմանությունը երկու ծայրերում, երբ VPN-ը, հաճախորդի ցանցը և DNS գրառումները բոլորն էլ կրում են այն։ Տնային ցանցի ներսում ենթացանցային երթուղիչով mesh շերտը հասնում է նույն փոխանցմանը առանց VPS-ի, բայց համակարգման ծառայությունից կախվածության գնով։
Ընտրեք փոխանցումը, երբ պահանջը կայուն մուտքային հասանելիությունն է, և յուրաքանչյուր կանոն պետք է մնա ձեր վերահսկողության տակ։ Ընտրեք ISP-ի հասցեն, երբ բյուջեն թույլ է տալիս, և նպատակը պարզապես դրա մասին չմտածելն է։