در تنظیمات هستید و یک پیکربندی IKEv2 اضافه می‌کنید، و دو فیلد متنی می‌خواهند که هیچ‌کس به شما نداده است: Remote ID و Local ID. هیچ‌یک نام کاربری شما نیست، و هیچ‌یک نسخه دوم فیلد Server نیست. Remote ID هویتی است که دروازه باید به آیفون شما اثبات کند؛ Local ID هویتی است که آیفون شما به دروازه ادعا می‌کند. اگر هر یک را اشتباه کنید، تونل پس از آنکه سرور پاسخ داده می‌میرد، و به همین دلیل خطا شبیه مشکل گذرواژه به نظر می‌رسد اما نیست.

فیلدها کجای iOS هستند

تنظیمات > عمومی > VPN و مدیریت دستگاه > VPN را باز کنید و یک پیکربندی IKEv2 اضافه کنید. زیر احراز هویت، نام کاربری یا گواهی‌نامه را انتخاب می‌کنید و تنها پس از آن Remote ID و Local ID به شکل کادرهای متن آزاد ظاهر می‌شوند. این‌ها شناسه‌اند، نه نشانی: iOS آن‌ها را در تبادل IKE_AUTH حمل می‌کند، جایی که IKEv2 هویت آغازگر را IDi و هویت پاسخ‌دهنده را IDr می‌نامد.

پس از ذخیره، iOS پیکربندی را در یک ردیف جمع می‌کند و دیگر مقادیر را نشان نمی‌دهد. پیش از آنکه نتیجه بگیرید فیلدها خالی‌اند، دکمه اطلاعات را بزنید یا پروفایل را دوباره باز کنید. پیکربندی‌ای که MDM می‌فرستد ممکن است آن‌ها را کاملاً خاکستری کند، و این تغییر می‌دهد چه کسی می‌تواند مشکل را درست کند.

Remote ID نام دروازه است

این مقداری است که آیفون شما انتظار دارد سرور اثبات کند. با احراز هویت گواهی‌نامه، این مقدار با نام موجود در گواهی‌نامه سرور مقایسه می‌شود، معمولاً subject یا یک ورودی subjectAltName. اگر گواهی‌نامه برای vpn.example.com صادر شده باشد، همان نام میزبان Remote ID است، حتی وقتی با یک نشانی IP خالی به دستگاه می‌رسید.

همین ناهمخوانی خطای کلاسیک است: بسته‌ها می‌رسند، سرور پاسخ می‌دهد، و با این حال اتصال فرو می‌ریزد چون هویت درون گواهی‌نامه با آنچه پروفایل می‌خواست نمی‌خواند. نشانه‌رفتن فیلد Server به IP خام کمکی نمی‌کند، و در بسیاری از دروازه‌ها سرور به‌سادگی پاسخ‌دادن به هویتی را که نمی‌تواند تطبیق دهد متوقف می‌کند.

دروازه تنظیم متناظری دارد. سرور strongSwan هویت خودش را با leftid می‌فرستد و می‌تواند هویت کلاینت را با rightid محدود کند؛ اگر دو طرف درباره رشته هم‌نظر نباشند، IKE_AUTH در هر دو جهت شکست می‌خورد. به‌جای رونویسی URL از نوار مرورگر، از اپراتور بپرسید گواهی‌نامه برای کدام هویت صادر شده است.

Apple کلیدهای محموله را با نام‌های RemoteIdentifier و LocalIdentifier در مرجع تنظیمات IKEv2 مستند کرده است. هر دو رشته ساده‌اند، پس بزرگی و کوچکی حروف و فاصله انتهایی می‌تواند مهم باشد.

Local ID همان چیزی است که آیفون شما ادعا می‌کند

در احراز هویت با نام کاربری، EAP نام کاربری و گذرواژه را بررسی می‌کند، و Local ID هویت جداگانه IKE است که برخی دروازه‌ها آن را هم الزام می‌کنند. یک دروازه ممکن است بخواهد Local ID برابر نام کاربری باشد، نشانی ایمیل باشد، یا با ورودی‌ای در سیاست اتصال آن بخواند؛ دیگران آن را نادیده می‌گیرند. خالی‌گذاشتن آن تنها وقتی بی‌خطر است که اپراتور بگوید.

در احراز هویت گواهی‌نامه، Local ID باید با هویتی بخواند که دروازه برای آن گواهی‌نامه کلاینت می‌پذیرد، معمولاً نام عمومی گواهی‌نامه یا مقداری که به پرونده دستگاه نگاشت شده است. کپی‌کردن پروفایل همکار، هویت او را هم کپی می‌کند. در بهترین حالت دروازه دستگاه اشتباه را ثبت می‌کند؛ در بدترین حالت سیاستی برای هر دستگاه شما را رد می‌کند.

تله این است که فرض کنید خالی یعنی بدون هویت. فیلد خالی را فقط به این دلیل که ناتمام به نظر می‌رسد با نشانی ایمیل خود پر نکنید. مقدار موردنظر را تأیید کنید و آن را دقیقاً همان‌گونه که داده شده وارد کنید.

بررسی پنج‌دقیقه‌ای پیش از ذخیره

آن‌ها را به ترتیب انجام دهید؛ اولین مرحله‌ای که شکست می‌خورد همان است که باید درست شود.

  1. سه رشته از اپراتور بگیرید: نام موجود در گواهی‌نامه سرور، Local ID مورد انتظار و روش احراز هویت.
  2. روش احراز هویت را تطبیق دهید. Remote ID و Local ID جایگزین نام کاربری و گذرواژه نیستند، و پروفایل گواهی‌نامه گذرواژه را نمی‌پذیرد.
  3. مقادیر را دقیقاً تایپ کنید، با بزرگی و کوچکی حروف، بدون فاصله انتهایی.
  4. اعتبارسنجی گواهی‌نامه را روشن نگه دارید. نصب یک گواهی‌نامه ریشه بی‌ربط برای خاموش‌کردن هشدار، ناهمخوانی نام را پنهان می‌کند نه درست.
  5. با داده همراه آزمایش کنید، نه با Wi-Fi دفتر، تا یک دروازه اسیر یا DNS تقسیم‌شده خود را جای مشکل هویت جا نزند.
FieldWhat belongs thereWhat a wrong value looks like
Remote IDThe DNS name in the gateway certificateServer answers, then the tunnel drops with a certificate or identity error
Local IDThe identity the gateway policy expects for youIKE_AUTH or user authentication fails after the server responds
ServerA reachable hostname or IPTimeout with no identity exchange at all

جدول را از بالا بخوانید. timeout در ردیف Server یعنی فیلدهای هویت هرگز آزمایش نشده‌اند، پس همان‌جا متوقف شوید. خطایی که فقط پس از پاسخ سرور ظاهر می‌شود تقریباً همیشه ناهمخوانی Remote ID یا Local ID است.

خطاهایی که به فیلد اشتباه اشاره می‌کنند

پیامی مانند "User authentication failed" مربوط به اعتبارنامه یا EAP است، نه Remote ID. هشدار گواهی‌نامه مربوط به نام درون گواهی‌نامه است، و همان‌جا محل تلاقی Remote ID و فیلد Server است. "The VPN server did not respond" معمولاً یعنی UDP 500 و 4500 هرگز کامل نشدند، یا عبور NAT شکست خورد، و هیچ هویتی مقایسه نشد.

در سمت دروازه، شکست‌های هویت متفاوت به نظر می‌رسند: همتا در جریان IKE_AUTH رد می‌شود، یا لاگ شناسه‌ای را که کلاینت فرستاده نام می‌برد و می‌گوید با هیچ اتصالی نمی‌خواند. همان خط لاگ سریع‌ترین راه حل مناقشه است، چون رشته دقیقی را که تلفن فرستاده نشان می‌دهد.

بازنشانی گذرواژه هویت مورد انتظار سرور را درست نمی‌کند، و تغییر Remote ID گذرواژه اشتباه را درست نمی‌کند. اول مرحله را جدا کنید، سپس فیلدی را که به آن مرحله تعلق دارد ویرایش کنید.

وقتی پروفایل مدیریت می‌شود

اگر فیلدها خاکستری‌اند، پیکربندی از MDM آمده است و تلفن جای درست‌کردن آن نیست. محموله VPN شناسه‌ها را حمل می‌کند، پس تغییر درست در پروفایل روی سرور مدیریت است و سپس نصب دوباره آن روی دستگاه.

در تنظیمات > عمومی > VPN و مدیریت دستگاه بررسی کنید آیا پروفایل مدیریت می‌شود و چه کسی آن را امضا کرده است. اگر نمی‌توانید آن را حذف کنید، نمی‌توانید شناسه‌ها را محلی ویرایش کنید، و ساختن پروفایل محلی دوم فقط یک پیکربندی متضاد می‌سازد.

پیش از بستن تنظیمات، سه رشته‌ای را که وارد کردید و منبعشان را بنویسید. دفعه بعد که تونل شکست خورد، شناسه دریافتی در لاگ دروازه را با آن یادداشت مقایسه کنید: اگر متفاوت بود، شما به فیلد نگاه می‌کنید نه گذرواژه.

مقالات مرتبط