Ubuntu To Ubuntu Connection Test

From wiki karavi
Revision as of 15:45, 6 July 2026 by Karavi (talk | contribs) (Created page with "== Mikrotik Ubuntu L2TPv3 — Testing Hub and s23 == این صفحه دستورهای تست و عیب‌یابی تونل L2TPv3 بین '''Hub Ubuntu''' و '''Remote s23''' را پوشش می‌دهد. ترتیب اجرا از ساده به پیشرفته است. '''مرتبط:''' Mikrotik_Ubuntu_L2TPv3 ---- === Topology (این سناریو) === {| class="wikitable" |- ! نقش !! Hostname !! Public IP !! Tunnel IP !! Interface |- | Hub || m5-ubuntu-4gb-nbg1 |...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Mikrotik Ubuntu L2TPv3 — Testing Hub and s23

این صفحه دستورهای تست و عیب‌یابی تونل L2TPv3 بین Hub Ubuntu و Remote s23 را پوشش می‌دهد. ترتیب اجرا از ساده به پیشرفته است.

مرتبط: Mikrotik_Ubuntu_L2TPv3


Topology (این سناریو)

نقش Hostname Public IP Tunnel IP Interface
Hub m5-ubuntu-4gb-nbg1 157.90.26.4 10.0.1.1/30 l2tpeth1
Remote s23 78.157.42.206 10.0.1.2/30 l2tpeth0

Prerequisites (پیش‌نیاز قبل از تست)

قبل از اجرای تست‌ها موارد زیر باید برقرار باشند:

  • سرویس ql2tpd روی هر دو سرور در وضعیت active (running) باشد
  • اینترفیس تونل IP داشته باشد: Hub روی l2tpeth1، s23 روی l2tpeth0
  • روی Hub قوانین NAT و FORWARD برای subnet 10.0.1.0/30 اعمال شده باشد
  • روی s23 policy routing با from 10.0.1.2 lookup 100 فعال باشد
  • برای تست IP در ایران از https://api.ipnote.ir/myip استفاده کنید (نه ifconfig.me)

Step 1 — Ping tunnel endpoints (تست لایه تونل)

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

From s23 to Hub

ping -c 4 10.0.1.1

توضیح: اگر پاسخ با تأخیر پایدار حدود ۷۰ms و بدون packet loss دریافت شد، تونل L2TPv3 سالم است.

From Hub to s23

ping -c 4 10.0.1.2

توضیح: پینگ دوطرفه تأیید می‌کند هر دو سرور اینترفیس تونل را بالا نگه داشته‌اند.

نتیجه تفسیر
0% packet loss تونل برقرار است — به مرحله بعد بروید
100% packet loss ql2tpd، فایروال proto 115 یا IP اینترفیس را بررسی کنید

Step 2 — IP egress test (تمایز اینترنت عادی و تونل)

مهم‌ترین تست روزمره برای selective routing روی سرور s23.

Normal internet (بدون تونل) — run on s23

curl -4 -s "https://api.ipnote.ir/myip"

توضیح: باید IP عمومی خود سرور s23 یعنی 78.157.42.206 نمایش داده شود.

Forced via tunnel — run on s23

curl -4 --interface l2tpeth0 -s "https://api.ipnote.ir/myip"

توضیح: باید IP عمومی Hub یعنی 157.90.26.4 برگردد؛ یعنی NAT روی Hub درست است.

خروجی curl معنی
78.157.42.206 ترافیک از WAN مستقیم خارج شده
157.90.26.4 ترافیک از تونل و NAT Hub خارج شده
timeout / خطا policy routing s23 یا NAT Hub ناقص است

Step 3 — Ping internet via tunnel (ICMP از source تونل)

ping -4 -I l2tpeth0 -c 4 8.8.8.8

اجرا روی: s23

توضیح: بسته با source 10.0.1.2 ارسال می‌شود و مسیر forward و NAT روی Hub را تأیید می‌کند.

نتیجه تفسیر
پاسخ از 8.8.8.8 forward و NAT روی Hub فعال است
100% loss ولی ping 10.0.1.1 OK تقریباً قطعی مشکل NAT یا FORWARD روی Hub است

Step 4 — Throughput test with iperf3 (تست سرعت بین دو سرور)

اندازه‌گیری throughput واقعی تونل؛ برای ارزیابی BBR و تنظیمات TCP مفید است.

Install (یک‌بار روی هر دو سرور)

apt install -y iperf3

Server on Hub

iperf3 -s -B 10.0.1.1

توضیح: iperf3 فقط روی آدرس تونل Hub گوش می‌دهد تا ترافیک تست از WAN عبور نکند.

Upload s23 → Hub

iperf3 -c 10.0.1.1 -B 10.0.1.2 -t 10

اجرا روی: s23

توضیح: سرعت ارسال از Remote به Hub را در ده ثانیه اندازه می‌گیرد؛ Retr باید نزدیک صفر باشد.

Download Hub → s23 (reverse)

iperf3 -c 10.0.1.1 -B 10.0.1.2 -t 10 -R

اجرا روی: s23

توضیح: جهت دانلود را تست می‌کند؛ بدون BBR معمولاً کندتر از آپلود است.

Parallel streams

iperf3 -c 10.0.1.1 -B 10.0.1.2 -t 10 -P 4

توضیح: چهار اتصال همزمان throughput کل تونل را بهتر نشان می‌دهد.

شاخص مقدار قابل قبول (تقریبی)
Throughput صدها Mbps بسته به لینک
Retr نزدیک 0 — بالا یعنی ازدحام یا MTU

Step 5 — Live packet capture (tcpdump روی تونل)

tcpdump -ni l2tpeth0 host 10.0.1.2

اجرا روی: s23

توضیح: هنگام اتصال کلاینت x-ui یا curl --interface l2tpeth0 باید پکت با source 10.0.1.2 دیده شود.

مشاهده معنی
پکت 10.0.1.2 → اینترنت outbound از تونل فعال است
هیچ پکتی routing rule یا inboundTag در x-ui اشتباه است

Step 6 — L2TP protocol 115 capture (عیب‌یابی برقراری تونل)

وقتی اینترفیس l2tpeth ساخته می‌شود ولی DOWN است یا ping صفر است.

On Hub

tcpdump -ni eth0 host 78.157.42.206 and proto 115

توضیح: پکت‌های L2TPv3 با encapsulation IP بین Hub و s23 را روی WAN Hub نمایش می‌دهد.

On s23

tcpdump -ni ens160 host 157.90.26.4 and proto 115

توضیح: اینترفیس WAN روی s23 معمولاً ens160 است نه eth0.

سپس روی هر دو سرور:

systemctl restart ql2tpd

توضیح: اگر هیچ پکت 115 دیده نشد، فایروال datacenter پروتکل 115 را بلاک می‌کند.


Step 7 — Quick checklist policy routing (s23)

ip rule show | grep 10.0.1.2
ip route show table 100
ip -br addr show l2tpeth0

توضیح: بدون rule from 10.0.1.2 lookup 100 و default در table 100، x-ui outbound کار نمی‌کند.


Step 8 — Quick checklist NAT on Hub

sysctl net.ipv4.ip_forward
iptables -t nat -L POSTROUTING -n -v | grep 10.0.1
iptables -L FORWARD -n -v | grep l2tpeth1

توضیح: ip_forward=1 و MASQUERADE برای 10.0.1.0/30 الزامی است.


Expected results summary (جدول خلاصه)

Test Server Expected on success
ping 10.0.1.1 s23 0% packet loss
ping 10.0.1.2 Hub 0% packet loss
curl (no interface) s23 78.157.42.206
curl --interface l2tpeth0 s23 157.90.26.4
ping -I l2tpeth0 8.8.8.8 s23 0% packet loss
iperf3 -c 10.0.1.1 -B 10.0.1.2 s23 high throughput, low Retr
Client IP (x-ui via l2tp-out) Client 157.90.26.4

Recommended test order (ترتیب پیشنهادی)

  1. Ping tunnel endpoints (Step 1)
  2. curl IP test (Step 2)
  3. ping 8.8.8.8 via tunnel (Step 3)
  4. iperf3 throughput (Step 4) — optional for quality
  5. tcpdump — if x-ui issue (Step 5)