← شروع آموزش

WIUNIX ACADEMY

آموزش نصب WireGuard و اتصال دو شبکه در اوبونتو و دبیان

صفحهٔ 6 از 8؛ مراحل قبلی و پیش‌نیازها را پیش از ادامه مرور کن.

آموزش متناسب با محیط تو

کجا اجرا می‌کنی؟

سیستم‌عامل و نسخه را انتخاب کن تا مراحل، دستورها و راه‌حل‌ها برای همان محیط نمایش داده شوند.

Ubuntu 26.04 LTSبررسی‌شده با مستندات رسمی ·

آموزش متناسب با مقادیر تو

تنظیمات این آموزش

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

آی‌پی، دامنه یا پورت مثال‌ها با محیط تو فرق دارد؟ دکمهٔ زیر را باز کن، مقادیر را تغییر بده و «اعمال در آموزش» را بزن؛ سپس دستورهای به‌روز‌شده را کپی کن.

تنظیم مقادیر برای محیط من24 مقدار قابل‌تغییر
17

قدم بعدی

دریافت‌کنندهٔ موقت در میزبان LAN A

روی میزبان آزمایش A در ترمینال اختصاصی اجرا شود. پورت8080 باید آزاد و در فایروال میزبان از طرف آزمایش مقابل مجاز باشد. سرویس فقط به آدرس LAN و پوشهٔ تازه متصل می‌شود؛ دادهٔ بی‌خطر HTTP است، نه سرویس تولید. ترمینال برای توقف با Ctrl+C باز بماند.

Bash
( set -eu
umask 077
demo_dir=$(mktemp -d)
printf 'received-at-site-A\n' > "$demo_dir/marker.txt"
python3 -m http.server 8080 --bind 10.10.10.100 --directory "$demo_dir"
)
از کجا بدانم درست انجام شد؟

دریافت‌کننده فقط پوشهٔ نشانگر را روی آدرس داخلی ارائه می‌کند.

18

قدم بعدی

بررسی دادهٔ A از میزبان داخلی B

روی میزبان آزمایش 10.20.20.100 با روتر پیش‌فرض 10.20.20.1 اجرا شود. کد موفق HTTP و بدنهٔ دقیق و مبدأ واقعی در لاگ مقصد بررسی شوند؛ پینگ تونل جای عبور از روترها و دو دروازهٔ LAN را نمی‌گیرد.

Bash
( set -eu
body=$(curl --fail --silent --show-error --noproxy '*' --connect-timeout 5 --max-time 10 http://10.10.10.100:8080/marker.txt)
test "$body" = received-at-site-A
printf 'A receiver body verified\n'
)
ping -c 3 -W 2 10.10.10.100
از کجا بدانم درست انجام شد؟

نشانگر دقیق مقصد دریافت و مبدأ اصلی در آن دیده می‌شود.

عیب‌یابی بر پایهٔ مسیر بسته

پنل مرتبط با همان دستگاه استفاده شود؛ فایل خصوصی یا dump کامل ارسال نشود. دست‌دهی برقرار همراه با قطع LAN معمولاً به مسیر برگشت، forwarding، مبدأ یا سیاست میزبان مربوط است. بدون دست‌دهی، ابتدا هویت عمومی، Endpoint و مجوز UDP بررسی شوند؛ اسکن UDP احراز هویت را ثابت نمی‌کند.

دست‌دهی ناموفق: همتا و Endpoint

روی هر دروازه، آدرس عمومی واقعی طرف مقابل جای نمونه قرار گیرد. لاگ قبل از ارسال از نظر فرادادهٔ شبکه پالایش شود.

Bash
sudo wg show wg0 public-key
sudo wg show wg0 endpoints
sudo wg show wg0 latest-handshakes
sudo ss -lunp
ip route get 203.0.113.20
sudo journalctl -u wg-quick@wg0.service -n 40 --no-pager
sudo nft list table inet academy_wg

دست‌دهی موفق و دادهٔ LAN ناموفق

روی A؛ در B آدرس‌ها معکوس‌اند. مسیر برگشت روتر و فایروال میزبان هم بررسی شوند. reverse-path filtering سخت‌گیرانه ممکن است مسیر نامتقارن را رد کند؛ ابتدا طراحی مسیر اصلاح شود، نه خاموش‌کردن سراسری اعتبارسنجی.

Bash
ip route get 10.20.20.100 from 10.10.10.100 iif ens19
sudo sysctl net.ipv4.ip_forward net.ipv4.conf.all.rp_filter net.ipv4.conf.ens19.rp_filter net.ipv4.conf.wg0.rp_filter
sudo wg show wg0 allowed-ips
sudo wg show wg0 transfer
sudo nft list chain inet academy_wg forward

بستهٔ کوچک موفق و بستهٔ بزرگ متوقف

روی میزبان LAN در A؛ بار به‌اضافه۲۸ اندازهٔ بستهٔ IPv4 داخل تونل است. شکست یک پینگ می‌تواند ناشی از فیلتر ICMP باشد. پیام fragmentation-needed در مسیر زیرساخت و انتقال TCP واقعی هم بررسی شوند.

Bash
ping -c 3 -W 2 -M do -s 1200 10.20.20.100
ping -c 3 -W 2 -M do -s 1392 10.20.20.100
همهٔ آموزش‌های آکادمی ↗