PingServer
PingServer سمت مقابل PingClient است. در مسیر upstream، packetهای disguise شده توسط client را به حالت اصلی برمیگرداند و در مسیر downstream همان strategy را دوباره برای برگشت به سمت client اعمال میکند.
این نود هم pure packet tunnel است و per-connection line state ندارد.
strategyها
باید با سمت client سازگار باشند:
| strategy | رفتار سمت server |
|---|---|
wrap-in-new-ip-and-icmp-header | انتظار outer IPv4 + ICMP echo + packet اصلی را دارد و بعد از verify source/dest و identifier، decapsulate میکند. |
wrap-in-icmp-header-and-reuse-ipv4-addresses | ICMP payload و metadata trailer را باز میکند و protocol/transport length اصلی را برمیگرداند. |
wrap-in-only-icmp-header | ICMP echo header را از raw payload حذف میکند. |
change-only-ipv4-protocol-number | upstream ICMP را به swap-protocol برمیگرداند و downstream را دوباره ICMP میکند. |
نمونه تنظیم
{
"name": "icmp-server",
"type": "PingServer",
"settings": {
"strategy": "wrap-in-new-ip-and-icmp-header",
"identifier": 4660,
"source": "203.0.113.20",
"dest": "198.51.100.10",
"xor-byte": 90,
"roundup-size": true,
"sequence-start": 0,
"ttl": 64
},
"next": "tun-out"
}
تنظیمات
| گزینه | پیشفرض | توضیح |
|---|---|---|
strategy | wrap-in-icmp-header-and-reuse-ipv4-addresses | باید با سمت client یکی باشد |
identifier | 44975 | ICMP echo identifier |
sequence-start | 0 | sequence اولیه |
ipv4-id-start | 0 | outer IPv4 id در strategy اول |
ttl | 64 | outer TTL در strategy اول |
tos | 0 | outer TOS در strategy اول |
xor-byte | - | XOR فقط برای ICMP payload modeها |
roundup-size | false | padding فقط برای ICMP payload modeها |
source, dest | - | فقط برای wrap-in-new-ip-and-icmp-header لازم هستند |
swap-protocol | - | فقط برای change-only-ipv4-protocol-number لازم است |
نکتهها
sourceوdestدر strategy اول باید با جهت سمت server سازگار باشند.- ترافیک IPv4 unmatched در همان جهت بدون تغییر عبور میکند، اما IPv6 در strategyهای IPv4 drop میشود.
- این نود برای ICMP tunnel/disguise است، نه ping health-check معمولی.
- legacy aliasهایی مثل
warp-*،warp-in-icmp-header-and-update-ipv4-header،change-only-ip4-packet-identifier-numberوswap-identifierبرای سازگاری قدیمی پذیرفته میشوند.