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

نخست: روشن کنید تونل شما چه چیزی را بازیابی می‌کند

رابط TUN بسته‌های IP را حمل می‌کند، بنابراین سرآیند VLAN فریم شعبه در همان مسیریابی متوقف می‌شود که ترافیک را به تونل هل داده است. رابط TAP فریم‌های Ethernet را حمل می‌کند، یعنی برچسب‌ها می‌توانند زنده بمانند وقتی که پل و قواعد پذیرش VLAN اجازه عبورشان را بدهند. پیش از استدلال درباره اینکه ضبط باید چه داشته باشد، نوع رابط را بخوانید.

هیچ‌یک از دو گزینه نقص نیست. دو طراحی به پرسش‌های متفاوتی پاسخ می‌دهند و برچسب را در جای‌های متفاوتی می‌گذارند.

رابط را خودتان تأیید کنید، نه اینکه آن را از نام محصول استنباط کنید. جزئیات پیوند نوع دستگاه را نام می‌برد و پرچم‌های فعال را نشان می‌دهد، و ضبطی که روی یک دستگاه TUN گرفته شود فقط به این دلیل که درخواست کرده‌اید سرآیند Ethernet پیدا نمی‌کند. اگر با این حال برچسب‌هایی در ضبط TUN دیده شود، تقریباً مطمئناً رابط دیگری یا تونلی را می‌خوانید که فریم‌ها را درون بار خود حمل می‌کند. پیش از ادامه توجه کنید در کدام حالت هستید.

دوم: حسگر را جایی بگذارید که شیء هنوز وجود دارد

سه جایگاه بیشتر طراحی‌های مسیریابی‌شده را پوشش می‌دهد: بخش Ethernet شعبه، شبکه بیرونی میان دو سر تونل، و مسیر پس از پردازش تونل. هر کدام شیء متفاوتی می‌بیند، و برچسب تنها در اولی وجود دارد. انتخاب جایگاه حسگر تصمیمی درباره این است که سیاست به کدام شیء نیاز دارد، نه مسئله‌ای از سر آسودگی.

Observation pointWhat is actually thereQuestion it can answer
Branch Ethernet segmentTagged frames on the local wireWhich VLAN carried this frame here
Outer tunnel networkThe protected carrier between endpointsWhich endpoints are exchanging traffic
After tunnel processingRecovered IP packetsWhich branch prefix the packet claims

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

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

سوم: بافت منبع را به دست آورید، نه اینکه به آن اعتماد کنید

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

بافتی که کارخواه فراهم می‌کند شاهدی بر عضویت نیست. این یک ادعاست، و جای آن در ستون دیگری است.

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

چهارم: مسیر پاسخ و آنچه رمزگشایی از دست می‌دهد را تأیید کنید

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

بازیابی ترافیک درونی IP هم به معنای دیدن برنامه درون آن نیست، زیرا TLS که روی تونل حمل می‌شود TLS می‌ماند.

ip -d link show tun0
tcpdump -i tun0 -n -e -c 5

این دو فرمان به پرسش رابط پاسخ می‌دهند و نشان می‌دهند ضبط واقعاً چه دارد، که از بحث درباره معماری سریع‌تر است. نام رابطی را که طراحی شما به کار می‌برد جایگزین کنید و ضبط را در حالی اجرا کنید که جریانی که برایتان مهم است فعال است. وقتی هیچ برچسبی روی دستگاه TUN ظاهر نمی‌شود، یافته این است که طراحی به‌جای پل‌سازی مسیریابی کرده است، نه اینکه حسگر داده از دست داده باشد. سپس یا حسگر را به جایگاهی ببرید که می‌تواند برچسب را ببیند، یا قاعده را به زبانی بازنویسی کنید که جایگاه کنونی می‌تواند پشتیبانی کند.

مقالات مرتبط