Ubuntu To Ubuntu Connection Test
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 (ترتیب پیشنهادی)
- Ping tunnel endpoints (Step 1)
- curl IP test (Step 2)
- ping 8.8.8.8 via tunnel (Step 3)
- iperf3 throughput (Step 4) — optional for quality
- tcpdump — if x-ui issue (Step 5)