DNS جغرافیایی و انیکست: بررسی نقطه ورود VPN که دریافت میکنید
DNS جغرافیایی و انیکست نقاط ورود را با قواعد متفاوت انتخاب میکنند. بررسی کنید پاسخ کدام حلکننده را بازتاب میدهد و سپس اینکه نشست از تغییر گره جان سالم به در میبرد یا نه.
پاسخ نزدیک DNS تا زمانی که اتصال جای دیگری فرود نیاید، مسئلهای حلشده به نظر میرسد. DNS جغرافیایی و انیکست هر دو میکوشند مسیر را کوتاه کنند و این تصمیم را از اطلاعات متفاوت میگیرند. هیچکدام تضمین نمیکند که دروازهای که به آن میرسید قابل دسترس باشد، هویتی را که کارخواه شما انتظار دارد ارائه دهد، یا نشست شما از تغییر گره جان سالم به در ببرد. بررسیهای زیر این چهار پرسش را از هم جدا میکنند.
بررسی کنید حلکننده در واقع مکان چه کسی را گزارش میدهد
سرور معتبری که به پرسوجویی حساس به توپولوژی پاسخ میدهد معمولاً نشانی حلکننده بازگشتیای را میبیند که پرسیده است، نه نشانی شخصی که نام را تایپ کرده است. یک حلکننده متمرکز میتواند از کارخواهانی که به آنها خدمت میکند دور باشد و پاسخ بازتاب حلکننده است نه آنها. این نقص نیست؛ پروتکل تا زمانی که اطلاعات اضافی داده نشود همینگونه رفتار میکند. مشخصات زیرشبکه کارخواه EDNS هم محدودیت و هم راهکار اختیاری را توصیف میکند.
زیرشبکه کارخواه EDNS میتواند اطلاعات شبکه مبدأ را حمل کند، به شرط آنکه هر مشارکتکننده آن را پشتیبانی و فعال کند. اختیاری است، پیامدهایی برای حریم خصوصی و انباره دارد و اجازه این فرض نیست که هر حلکننده عمومی مکان دقیق کاربر را گزارش میدهد. پیش از طراحی بر پایه آن، از گردانندگان حلکنندهها بپرسید.
dig +short vpn.example.com @1.1.1.1
dig +short vpn.example.com @9.9.9.9
dig +subnet=203.0.113.0/24 +short vpn.example.com
بررسی کنید مسیریابی انیکست چه تصمیمی گرفت
با انیکست، چند مکان دسترسپذیری یک نشانی سرویس را اعلام میکنند و شبکه هر کارخواه را به گرهای میرساند که مسیریابیاش ترجیح میدهد. این انتخاب را BGP و سیاست پیرامون آن میکند، نه فاصله روی نقشه. نزدیکی توپولوژیک هم عموماً به معنای کارایی بهتر رفتوبرگشت نیست، چون مسیری که کوتاه به نظر میرسد میتواند شلوغ یا نامتقارن باشد. نشانیای که به شما داده شده هیچ چیزی درباره اینکه کدام گره پاسخ داده نمیگوید.
مکان سرویسدهی را از سمت سرویس یا از پاسخی که آن را نام میبرد تأیید کنید، نه فقط از پاسخ DNS. traceroute -n 198.51.100.20 مسیری را که پیمودهاید نشان میدهد و همچنان میزبان انتهای آن را نام نمیبرد، پس آن را مسیر بخوانید نه پاسخ.
بررسی کنید نشست از تغییر گره جان سالم به در میبرد
پرسوجوی DNS کوتاه است و نشست VPN بلند، و نیازهای وضعیت این دو کاملاً متفاوت است. مسیریابی میتواند در میانه نشست جابهجا شود و وقتی چنین میشود، بستههای بعدی ممکن است به گرهای برسند که هرگز تونل شما را ندیده است. اینکه این قابل تحمل باشد به پیادهسازی بستگی دارد: وضعیت مشترک، اتصال دوباره آگاهانه یا شکستی مستند. نشانی بهتنهایی هیچیک از اینها را فراهم نمیکند.
جابهجایی را مشاهده کنید نه اینکه فرضش کنید. sudo tcpdump -ni any -c 20 esp بستههای بیرونی را همراه با تغییر مسیر نشان میدهد و تغییر ناگهانی در نشانی همتا همان جابهجایی است. رفتار موردنظر را برای پیادهسازیای که اجرا میکنید صریحاً تعریف کنید، سپس با تحمیل تغییر مسیر آن را بیازمایید. اگر طراحی تکرار نشست را فرض میکند، سازوکار را نام ببرید و شکستی را که پوشش نمیدهد نام ببرید.
بررسی کنید هویت همچنان مطابقت دارد
هر نقطه ورود باید هویتی را ارائه دهد که پروفایل کارخواه شما انتظار دارد. گواهی صادرشده برای نام سرویس روی همه گرهها کار میکند، در حالی که گواهیهای هر گره کارخواه را به پذیرش چیزی تازه مجبور میکنند و همانجا است که کاربران یاد میگیرند هشدارها را رد کنند. هویت موردانتظار و پروفایل را با مدل ورود سازگار نگه دارید.
آن را از کارخواهی بررسی کنید که به گرهای نامعمول رسیده است، چون همان موردی است که گواهی هر گره در آن دیده میشود. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com زنجیره و نامها را چاپ میکند و کارخواه دقیقاً همین را مقایسه میکند. سپس تصمیم بگیرید پروفایل باید تنگتر شود یا مدل گواهی تغییر کند.
ثبت را بررسی کنید، نه فقط نخستین پاسخ
سه سناریو را ارزیابی کنید و برای هر یک چهار واقعیت بنویسید: ورود عادی، یک مکان ناموجود و مورد بازیابی توافقشده. آن چهار واقعیت عبارتاند از حلکننده بهکاررفته، نشانی بازگرداندهشده، مکانی که سرویس داد و یک نتیجه تازه از برنامه. این ثبت، مسئله انتخاب DNS را از مسئله دروازه، مسئله مسیریابی یا مسئله وضعیت نشست جدا میکند. بدون آن، هر چهار مورد از دید کارخواه یکسان به نظر میرسند.
dig +short vpn.example.com
getent hosts vpn.example.com
curl -s -o /dev/null -w "%{http_code}
" https://vpn.example.com/health
سناریوها را از شبکههای دسترسی نماینده اجرا کنید نه فقط از دفتر، چون تمام پرسش درباره این است که کارخواهان مختلف واقعاً به کدام نقطه ورود میرسند. یک شبکه نمونهای از یک است.