Azumi67 / LocalTun_TCP

This implements a TCP tun between a client & server using a TUN interface. The client and server communicate by encapsulating network packets within TCP connections. Encapsulation & decapsulation is Simultaneous.You can establish the tunnel in DIRECT or REVERSE mode and then use the local private ips to be used in port forward or tunnels.
Apache License 2.0
51 stars 7 forks source link
azumi ipsec ipv4 ipv6 localtunnel reverse-tunnel tcp tun-device

R (2) نام پروژه : لوکال تانل به صورت دایرکت یا ریورس - Tun interface و بر روی پورت TCP


این تانل برای استفاده شخصی و گیم انلاین است. اموزش استفاده از اسکریپت قرار داده شد.

گزینه retry به سرور و کلاینت اضافه شد که در صورت قطعی تانل، به صورت اتوماتیک ریست شود

برای گیم انلاین، من از این پروژه همراه به udp port forward استفاده میکنم : (https://github.com/Azumi67/PortforwardSec/tree/main) ( به زودی یک اسکریپت برای راحتی کار port forward هم مینویسم)

برای تانل دوم با dokodemo و frp و rathole و Backhaul هم خیلی خوب جواب میده. اما با همون dokodemo door داخل گیم سرعت خوبی تجربه میکنید

لطفا اگر استفاده شخصی ندارید و گیمر نیستید، از پروژه های دیگری استفاده نمایید

اگر مشکل قطعی تانل با ipsec داشتید، یا ریست تایمر ان را به دو دقیقه تغییر دهید یا ipsec را استقاده نکنید

check امکانات


Image آپدیت ------------------------------------ - ریست تایمر اجباری به دلیل مشکل ساز بودن در گیم از اسکریپت حذف شد - تغییراتی در authentication method انجام شد و از pub key & priv key استفاده خواهد شد - لاگ های تانل در مسیر etc/server.log/ یا etc/client.log/ ذخیره میشود - گزینه worker اضافه شد. دیفالت بر اساس cpu cores و انتخابی - مورد Challenge n Response Authentication به همراه unique nonce و Sha 256 به همراه expiry time حذف شد - این مورد xtaci/smux دوباره با retry logic حذف شد - این مورد tcpnodelay و tcp keepalive اضافه شد
توضیحات ------------------------------------
- هدف نوشتن این برنامه یادگیری و استفاده شخصی در گیم های خودم بوده است - شما به صورت ریورس یا دایرکت، یک لوکال ایپی دریافت میکنید و سپس از آن پرایوت ایپی ها برای دایرکت تانل، پورت فوروارد یا ریورس استفاده مینمایید. - پس از انجام تانل‌ لوکال به صورت دایرکت یا ریورس، به طور مثال میتوانید از پورت فوروارد استفاده نمایید یا مثلا دایرکت تانل چیزل استفاده نمایید یا ریورس. - در روش ریورس، سرور اصلی میتواند ایران باشد و کلاینت خارج و در روش دایرکت، سرور اصلی میتواند خارج باشد و کلاینت ایران. بدین صورت میتوان تانل لوکالی بر روی سرور های خارج محدود در ان سرور ایران(به صورت ریورس) هم ایجاد کرد. - با ایپی 4 سرور و هم با ایپی 6 سرور و کلاینت میشود که وصل شد . - پورت تنها برای ارتباط بین سرور و کلاینت میباشد و شما تنها باید از پرایوت ایپی ها برای تانل اصلی استفاده نمایید. - اول دستورات سرور را اجرا کنید و سپس دستورات کلاینت . میتوانید هم به صورت دایرکت یا ریورس انجام دهید. یعنی سرور اصلی خارج و کلاینت ایران و یا سرور اصلی ایران و کلاینت خارج باشد - این پروژه دارای اسکریپت و اموزش برای کسانی که مانند من مصرف شخصی دارند و گیم انلاین انجام میدهند، است.
--------------------- ![6348248](https://github.com/Azumi67/PrivateIP-Tunnel/assets/119934376/398f8b07-65be-472e-9821-631f7b70f783) **آموزش استفاده از اسکریپت**
Image روش دایرکت یا ریورس با پابلیک ایپی 4 یا 6 ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج**

Image

- نخست یک پرایوت کی generate میشود که در کلاینت استفاده میشود. - اگر کانفیگ دایرکت بود سرور خارج و کلاینت ایران است و اگر کانفیگ ریورس بود، سرور ایران و کلاینت خارج است

Image

- پورت سرور را وارد میکنم - برای پرایوت ایپی تانل از ایپی ورژن 4 استفاده میکنم و برای سرور و کلاینت ایپی پرایوت مورد نظر را انتخاب میکنم - برای ایپی پرایوت ورژن 4 از ساب نت 24 و برای ایپی پرایوت ورژن 6 از ساب نت 64 استفاده میکنم - نام tun را ازومی قرار میدهم و مقدار mtu را 1380 وارد میکنم - نمیخواهم لاگ ها در مسیر etc ذخیره شود و برای همین N را وارد میکنم - چون میخواهم برای گیم استفاده کنم، گزینه tcpnodelay را فعال میکنم

Image

- گزینه tcp keepalive را فعال میکنم و مقدار 1m به این معنی که هر 1 دقیقه Keepalive انجام میشود را فعال میکنم - گزینه worker را ویرایش میکنم و گزینه default بر اساس cpu cores را انتخاب میکنم - همچنین socket را فعال میکنم و مقدار socket buff را همان مقدار پیش فرض میذارم - سپس Ipsec را فعال میکنم و secret key را وارد میکنم - ریست تایمر را برای ipsec فعال میکنم و مقدار انتخابی را وارد میکنم

Image

- ریست تایمر tun را فعال میکنم و عدد انتخابی را وارد میکنم . مثلا من هر 12 ساعت یا 24 ساعت ریست میکنم - پس از فعال کردن ریست تایمر هم در سرور خارج و هم کلاینت برای sync شدن تایم ها بهتر است یک بار هر در سرویس مربوطه هم زمان در سرور و کلاینت ریست شوند - اول سرور و سپس کلاینت ریست شود - سرور خارج : systemctl restart kazumi-local , systemctl restart reset-timer - کلاینت ایران : systemctl restart iazumi-local , systemctl restart reset-timer ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/49000de2-53b6-4c5c-888d-f1f397d77b92)**کلاینت ایران**

Image

- پورت سرور و ایپی پابلیک 4 سرور را وارد میکنم. اگر ایپی پابلیک 6 را انتخاب کرده بودید ایپی پابلیک 6 سرور را وارد میکنید - پرایوت کی که در سرور خارج generate شده بود را اینجا وارد میکنم و سپس enter را وارد میکنم. دقت نمایید تمام محتوا کپی شود

Image

- مانند سرور خارج پرایوت ایپی های مربوطه را انتخاب میکنم - چون پرایوت ایپی 4 است پس ساب نت 24 را انتخاب میکنم - ذخیره لاگ را غیرفعال میکنم - گزینه tcp keepalive را فعال و بر روی 1m میذارم - گزینه tcpnodelay هم فعال میکنم - گزینه worker را ویرایش میکنم و default را انتخاب میکنم - سوکت هم مانند سرورفعال میکنم و مقدار پیش فرض را enter میکنم

Image

- گزینه ipsec را فعال میکنم و secret key که در سرور وارد کردم را در کلاینت هم وارد میکنم - ریست تایمر ipsec و tun هم فعال میکنم و مقادیر مشابه سرور را وارد میکنم - اگر پینگ بین دو پرایوت ایپی برقرار نشد خود تانل پس از چند ثانیه connection را فعال میکند - پس از انجام کانفیگ برای sync کردن ریست تایمر ها یک بار در سرور و کلاینت، سرویس ها را ریست کنید - اول سرور و سپس کلاینت ریست شود - سرور خارج : systemctl restart kazumi-local , systemctl restart reset-timer - کلاینت ایران : systemctl restart iazumi-local , systemctl restart reset-timer **ویرایش کانفیگ**

Image

- در اینجا میتوانم هر مقداری را تغییر دهم. - پابلیک ایپی گزینه دوم تنها برای نشان دادن انلاین بودن key میباشد و نیازی به تغییر ندارد - گزینه 3 نشان دادن پرایوت کی است و برای زمانی استفاده میشود که میخواهیم از این کلید در کلاینت دیگری استفاده نماییم. به این صورت که کلید نمایشی را در کلاینت مربوطه paste میکنیم. - هر مقدار اعم از پرایوت ایپی یا پورت را عوض کردید در کلاینت هم عوض کنید و گزینه save را بزنید ------------------
Image روش دایرکت با vxlan پابلیک ایپی 4 یا 6 ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج**

Image

- نخست یک پرایوت کی generate میشود که در کلاینت استفاده میشود. - اگر کانفیگ دایرکت بود سرور خارج و کلاینت ایران است و اگر کانفیگ ریورس بود، سرور ایران و کلاینت خارج است

Image

- پورت سرور را وارد میکنم - برای پرایوت ایپی تانل از ایپی ورژن 4 استفاده میکنم و برای سرور و کلاینت ایپی پرایوت مورد نظر را انتخاب میکنم - برای ایپی پرایوت ورژن 4 از ساب نت 24 و برای ایپی پرایوت ورژن 6 از ساب نت 64 استفاده میکنم - نام tun را ازومی قرار میدهم و مقدار mtu را 1380 وارد میکنم - نمیخواهم لاگ ها در مسیر etc ذخیره شود و برای همین N را وارد میکنم - چون میخواهم برای گیم استفاده کنم، گزینه tcpnodelay را فعال میکنم - گزینه tcp keepalive را فعال میکنم و مقدار 1m به این معنی که هر 1 دقیقه Keepalive انجام میشود را فعال میکنم - گزینه worker را ویرایش میکنم و گزینه default بر اساس cpu cores را انتخاب میکنم - همچنین socket را فعال میکنم و مقدار socket buff را همان مقدار پیش فرض میذارم

Image

- سپس Ipsec را فعال میکنم و secret key را وارد میکنم - ریست تایمر را برای ipsec و tun فعال میکنم و مقدار انتخابی را وارد میکنم . مثلا من برای ریست تایمر مقدار 12 یا بیشتر را قرار میدهم

Image

- سپس از من سوال میشود که کانفیگ vxlan یا geneve را میخواهم که من vxlan را انتخاب میکنم - سپس از من سوال میشود که ایا میخواهم که خود اسکریپت نام اینترفیس را پیدا کند که گزینه y را وارد میکنم - مقدار mtu هم اتوماتیک حساب میشود - پس از فعال کردن ریست تایمر هم در سرور خارج و هم کلاینت برای sync شدن تایم ها بهتر است یک بار هر در سرویس مربوطه هم زمان در سرور و کلاینت ریست شوند - اول سرور و سپس کلاینت ریست شود - سرور خارج : systemctl restart kazumi-local , systemctl restart reset-timer - کلاینت ایران : systemctl restart iazumi-local , systemctl restart reset-timer ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/49000de2-53b6-4c5c-888d-f1f397d77b92)**کلاینت ایران**

Image

- پورت سرور و ایپی پابلیک 4 سرور را وارد میکنم. اگر ایپی پابلیک 6 را انتخاب کرده بودید ایپی پابلیک 6 سرور را وارد میکنید - پرایوت کی که در سرور خارج generate شده بود را اینجا وارد میکنم و سپس enter را وارد میکنم. دقت نمایید تمام محتوا کپی شود

Image

- مانند سرور خارج پرایوت ایپی های مربوطه را انتخاب میکنم - چون پرایوت ایپی 4 است پس ساب نت 24 را انتخاب میکنم - ذخیره لاگ را غیرفعال میکنم - گزینه tcp keepalive را فعال و بر روی 1m میذارم - گزینه tcpnodelay هم فعال میکنم - گزینه worker را ویرایش میکنم و default را انتخاب میکنم - سوکت هم مانند سرورفعال میکنم و مقدار پیش فرض را enter میکنم - گزینه ipsec را فعال میکنم و secret key که در سرور وارد کردم را در کلاینت هم وارد میکنم

Image

- ریست تایمر ipsec و tun هم فعال میکنم و مقادیر مشابه سرور را وارد میکنم - اگر پینگ بین دو پرایوت ایپی برقرار نشد خود تانل پس از چند ثانیه connection را فعال میکند - کانفیگ vxlan را انتخاب میکنم - سپس از من سوال میشود که ایا میخواهم که خود اسکریپت نام اینترفیس را پیدا کند که گزینه y را وارد میکنم - مقدار mtu هم اتوماتیک حساب میشود - پس از انجام کانفیگ برای sync کردن ریست تایمر ها یک بار در سرور و کلاینت، سرویس ها را ریست کنید - اول سرور و سپس کلاینت ریست شود - سرور خارج : systemctl restart kazumi-local , systemctl restart reset-timer - کلاینت ایران : systemctl restart iazumi-local , systemctl restart reset-timer **ویرایش کانفیگ**

Image

- در اینجا میتوانم هر مقداری را تغییر دهم. - پابلیک ایپی گزینه دوم تنها برای نشان دادن انلاین بودن key میباشد و نیازی به تغییر ندارد - گزینه 3 نشان دادن پرایوت کی است و برای زمانی استفاده میشود که میخواهیم از این کلید در کلاینت دیگری استفاده نماییم. به این صورت که کلید نمایشی را در کلاینت مربوطه paste میکنیم. - هر مقدار اعم از پرایوت ایپی یا پورت را عوض کردید در کلاینت هم عوض کنید و گزینه save را بزنید - به طور مثال من پرایوت ایپی tun را عوض کردم. چون کانفیگ vxlan است باید ایپی پرایوت نخست با ایپی ورژن 4 شروع شود اما پرایوت ایپی خود vxlan میتواند ایپی ورژن 4 یا 6 باشد - برای تغییر ایپی پرایوت vxlan هم مانند اسکرین شات عمل کنید و اگر ایپی پرایوت 6 میخواهید گزینه دوم را انتخاب و ایپی را بدون ساب نت وارد نمایید. - در کلاینت هم تغییرات را انجام دهید. دقت نمایید اگر به طور مثال ایپی پرایوت در سرور db3::1 است باید در کلاینت db3::2 باشد ------------------
Image روش ریورس با geneve پابلیک ایپی 4 یا 6 ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران**

Image

- نخست یک پرایوت کی generate میشود که در کلاینت استفاده میشود. - اگر کانفیگ دایرکت بود سرور خارج و کلاینت ایران است و اگر کانفیگ ریورس بود، سرور ایران و کلاینت خارج است

Image

- پورت سرور را وارد میکنم - برای پرایوت ایپی تانل از ایپی ورژن 4 استفاده میکنم و برای سرور و کلاینت ایپی پرایوت مورد نظر را انتخاب میکنم - برای ایپی پرایوت ورژن 4 از ساب نت 24 و برای ایپی پرایوت ورژن 6 از ساب نت 64 استفاده میکنم - نام tun را ازومی قرار میدهم و مقدار mtu را 1380 وارد میکنم - نمیخواهم لاگ ها در مسیر etc ذخیره شود و برای همین N را وارد میکنم - چون میخواهم برای گیم استفاده کنم، گزینه tcpnodelay را فعال میکنم - گزینه tcp keepalive را فعال میکنم و مقدار 1m به این معنی که هر 1 دقیقه Keepalive انجام میشود را فعال میکنم - گزینه worker را ویرایش میکنم و گزینه default بر اساس cpu cores را انتخاب میکنم - همچنین socket را فعال میکنم و مقدار socket buff را همان مقدار پیش فرض میذارم

Image

- ریست تایمر را برای ipsec و tun فعال میکنم و مقدار انتخابی را وارد میکنم . مثلا من برای ریست تایمر مقدار 12 یا بیشتر را قرار میدهم - سپس از من سوال میشود که کانفیگ vxlan یا geneve را میخواهم که من geneve را انتخاب میکنم - مقدار mtu هم اتوماتیک حساب میشود - سپس Ipsec را فعال میکنم و secret key را وارد میکنم - پس از فعال کردن ریست تایمر هم در سرور خارج و هم کلاینت برای sync شدن تایم ها بهتر است یک بار هر در سرویس مربوطه هم زمان در سرور و کلاینت ریست شوند - اول سرور و سپس کلاینت ریست شود - کلاینت خارج : systemctl restart krazumi-local , systemctl restart reset-timer - سرور ایران : systemctl restart irazumi-local , systemctl restart reset-timer ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/49000de2-53b6-4c5c-888d-f1f397d77b92)**کلاینت خارج**

Image

- پورت سرور و ایپی پابلیک 4 سرور را وارد میکنم. اگر ایپی پابلیک 6 را انتخاب کرده بودید ایپی پابلیک 6 سرور را وارد میکنید - پرایوت کی که در سرور ایران generate شده بود را اینجا وارد میکنم و سپس enter را وارد میکنم. دقت نمایید تمام محتوا کپی شود

Image

- مانند سرور ایران پرایوت ایپی های مربوطه را انتخاب میکنم - چون پرایوت ایپی 4 است پس ساب نت 24 را انتخاب میکنم - ذخیره لاگ را غیرفعال میکنم - گزینه tcp keepalive را فعال و بر روی 1m میذارم - گزینه tcpnodelay هم فعال میکنم - گزینه worker را ویرایش میکنم و default را انتخاب میکنم - سوکت هم مانند سرورفعال میکنم و مقدار پیش فرض را enter میکنم

Image

- ریست تایمر ipsec و tun هم فعال میکنم و مقادیر مشابه سرور را وارد میکنم - اگر پینگ بین دو پرایوت ایپی برقرار نشد خود تانل پس از چند ثانیه connection را فعال میکند - کانفیگ geneve را انتخاب میکنم - مقدار mtu هم اتوماتیک حساب میشود - گزینه ipsec را فعال میکنم و secret key که در سرور وارد کردم را در کلاینت هم وارد میکنم - پس از انجام کانفیگ برای sync کردن ریست تایمر ها یک بار در سرور و کلاینت، سرویس ها را ریست کنید - اول سرور و سپس کلاینت ریست شود - کلاینت خارج : systemctl restart krazumi-local , systemctl restart reset-timer - سرور ایران : systemctl restart irazumi-local , systemctl restart reset-timer **ویرایش کانفیگ**

Image

- در اینجا میتوانم هر مقداری را تغییر دهم. - پابلیک ایپی گزینه دوم تنها برای نشان دادن انلاین بودن key میباشد و نیازی به تغییر ندارد - گزینه 3 نشان دادن پرایوت کی است و برای زمانی استفاده میشود که میخواهیم از این کلید در کلاینت دیگری استفاده نماییم. به این صورت که کلید نمایشی را در کلاینت مربوطه paste میکنیم. - هر مقدار اعم از پرایوت ایپی یا پورت را عوض کردید در کلاینت هم عوض کنید و گزینه save را بزنید - به طور مثال من پرایوت ایپی tun را عوض کردم. چون کانفیگ geneve است باید ایپی پرایوت نخست با ایپی ورژن 4 شروع شود اما پرایوت ایپی خود geneve میتواند ایپی ورژن 4 یا 6 باشد - برای تغییر ایپی پرایوت geneve هم مانند اسکرین شات عمل کنید و اگر ایپی پرایوت 6 میخواهید گزینه دوم را انتخاب و ایپی را بدون ساب نت وارد نمایید. - در کلاینت هم تغییرات را انجام دهید. دقت نمایید اگر به طور مثال ایپی پرایوت در سرور db3::1 است باید در کلاینت db3::2 باشد ------------------
Image روش دایراکت یا ریورس با وایرگارد پابلیک ایپی 4 یا 6 ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج**

Image

- نخست یک پرایوت کی generate میشود که در کلاینت استفاده میشود. - اگر کانفیگ دایرکت بود سرور خارج و کلاینت ایران است و اگر کانفیگ ریورس بود، سرور ایران و کلاینت خارج است

Image

- پورت سرور را وارد میکنم - برای پرایوت ایپی تانل از ایپی ورژن 6 استفاده میکنم و برای سرور و کلاینت ایپی پرایوت مورد نظر را انتخاب میکنم - برای ایپی پرایوت ورژن 4 از ساب نت 24 و برای ایپی پرایوت ورژن 6 از ساب نت 64 استفاده میکنم - نام tun را ازو قرار میدهم و مقدار mtu را 1380 وارد میکنم - نمیخواهم لاگ ها در مسیر etc ذخیره شود و برای همین N را وارد میکنم - چون میخواهم برای گیم استفاده کنم، گزینه tcpnodelay را فعال میکنم - گزینه tcp keepalive را فعال میکنم و مقدار 1m به این معنی که هر 1 دقیقه Keepalive انجام میشود را فعال میکنم - گزینه worker را ویرایش میکنم و گزینه default بر اساس cpu cores را انتخاب میکنم - همچنین socket را فعال میکنم و مقدار socket buff را همان مقدار پیش فرض میذارم

Image

- حالا کلید های مورد نیاز برای وایرگارد generate میشود. از اینها در کلاینت استفاده میشود. - پرایوت ایپی را 6 انتخاب میکنم و برای سرور و کلاینت، ایپی مورد نظر از لیست را انتخاب میکنم

Image

- پورت وایرگارد را وارد میکنم - پس از اینکه پرایوت ایپی ها را انتخاب کردیم سپس از من سوال میشود که ایا میخواهم که خود اسکریپت نام اینترفیس را پیدا کند که گزینه y را وارد میکنم - مقدار mtu هم اتوماتیک حساب میشود

Image

- سپس Ipsec را فعال میکنم و secret key را وارد میکنم

Image

- ریست تایمر را برای ipsec و tun فعال میکنم و مقدار انتخابی را وارد میکنم . مثلا من برای ریست تایمر مقدار 12 یا بیشتر را قرار میدهم - پس از فعال کردن ریست تایمر هم در سرور خارج و هم کلاینت برای sync شدن تایم ها بهتر است یک بار هر در سرویس مربوطه هم زمان در سرور و کلاینت ریست شوند - اول سرور و سپس کلاینت ریست شود - سرور خارج : systemctl restart kazumi-local , systemctl restart reset-timer - کلاینت ایران : systemctl restart iazumi-local , systemctl restart reset-timer ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/49000de2-53b6-4c5c-888d-f1f397d77b92)**کلاینت ایران**

Image

- پورت سرور و ایپی پابلیک 4 سرور را وارد میکنم. اگر ایپی پابلیک 6 را انتخاب کرده بودید ایپی پابلیک 6 سرور را وارد میکنید - پرایوت کی که در سرور خارج generate شده بود را اینجا وارد میکنم و سپس enter را وارد میکنم. دقت نمایید تمام محتوا کپی شود

Image

- مانند سرور خارج پرایوت ایپی های مربوطه را انتخاب میکنم - چون پرایوت ایپی 6 است پس ساب نت 64 را انتخاب میکنم - ذخیره لاگ را غیرفعال میکنم - گزینه tcp keepalive را فعال و بر روی 1m میذارم - گزینه tcpnodelay هم فعال میکنم - گزینه worker را ویرایش میکنم و default را انتخاب میکنم

Image

- سوکت هم مانند سرورفعال میکنم و مقدار پیش فرض را enter میکنم - سپس پابلیک کی سرور و پرایوت کی کلاینت را که قبلا generate شده است را وارد میکنم - پورت وایرگاردی که در سرور خارج دادم را وارد میکنم - پرایوت ایپی 6 در سرور خارج برای کانفیگ وایرگارد داده بودم. همان ایپی ها را در کلاینت انتخاب میکنم

Image

- سپس از من سوال میشود که ایا میخواهم که خود اسکریپت نام اینترفیس را پیدا کند که گزینه y را وارد میکنم - مقدار mtu هم اتوماتیک حساب میشود - گزینه ipsec را فعال میکنم و secret key که در سرور وارد کردم را در کلاینت هم وارد میکنم

Image

- ریست تایمر ipsec و tun هم فعال میکنم و مقادیر مشابه سرور را وارد میکنم - اگر پینگ بین دو پرایوت ایپی برقرار نشد خود تانل پس از چند ثانیه connection را فعال میکند - پس از انجام کانفیگ برای sync کردن ریست تایمر ها یک بار در سرور و کلاینت، سرویس ها را ریست کنید - اول سرور و سپس کلاینت ریست شود - سرور خارج : systemctl restart kazumi-local , systemctl restart reset-timer - کلاینت ایران : systemctl restart iazumi-local ,systemctl restart reset-timer **ویرایش کانفیگ**

Image

- در اینجا میتوانم هر مقداری را تغییر دهم. - پابلیک ایپی گزینه دوم تنها برای نشان دادن انلاین بودن key میباشد و نیازی به تغییر ندارد - گزینه 3 نشان دادن پرایوت کی است و برای زمانی استفاده میشود که میخواهیم از این کلید در کلاینت دیگری استفاده نماییم. به این صورت که کلید نمایشی را در کلاینت مربوطه paste میکنیم. - هر مقدار اعم از پرایوت ایپی یا پورت را عوض کردید در کلاینت هم عوض کنید و گزینه save را بزنید - میتوان ورژن پرایوت ایپی تانل را از 4 به 6 یا از ورژن 6 به 4 تغییر داد. به طور مثال من در این اموزش از پرایوت ایپی 6 برای وایرگارد و tun آستفاده کردم و ان ها را توسط ویرایش به ورژن 4 تغییر میدهم - پرایوت ایپی وایرگارد همان wg address میباشد. - در کلاینت هم تغییرات را انجام دهید. دقت نمایید اگر به طور مثال ایپی پرایوت در سرور db3::1 است باید در کلاینت db3::2 باشد ------------------
------------------ ![R (a2)](https://github.com/Azumi67/PrivateIP-Tunnel/assets/119934376/716fd45e-635c-4796-b8cf-856024e5b2b2) **اسکریپت من** ---------------- ``` bash -c "$(curl -fsSL https://raw.githubusercontent.com/Azumi67/LocalTun_TCP/main/tun.sh)" ``` --------------------------------------------- ![6348248](https://github.com/Azumi67/PrivateIP-Tunnel/assets/119934376/398f8b07-65be-472e-9821-631f7b70f783) **روش اجرا** - - حتما در صورت استفاده از فایراول، پورت و پرایوت ایپی ها را در فایروال اضافه نمایید.
Imageنصب
``` apt update -y apt install wget -y apt install unzip -y ## amd64 rm amd64.zip wget https://github.com/Azumi67/LocalTun_TCP/releases/download/v1.7/amd64.zip unzip amd64.zip -d /root/localTUN cd localTUN chmod +x tun-server chmod +x tun-client Key creation : openssl genrsa -out private_key.pem 2048 openssl rsa -pubout -in private_key.pem -out public_key.pem ```
Imageدایرکت لوکال تانل پرایوت ایپی 4 - public ipv4 - کامند های سرور (خارج)
``` ./tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 30.0.0.1 -client-private 30.0.0.2 -subnet 24 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default ```
- کامند های کلاینت (ایران)
``` ./tun-client -server-addr KHAREJ_IPV4 -server-port 800 -priv-key=/root/private_key.pem -client-private 30.0.0.2 -server-private 30.0.0.1 -subnet 24 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default ```
- نحوه ساختن سرویس
``` nano /etc/systemd/system/azumilocal.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/localTUN/tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 30.0.0.1 -client-private 30.0.0.2 -subnet 24 -device tun2 -mtu 1480 -tcpnodelay -keepalive 1m -worker default [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumilocal.service systemctl enable /etc/systemd/system/azumilocal.service systemctl start azumilocal.service ```
- نحوه ساختن سرویس ریست
``` nano /root/reset.sh # copy this inside # #!/bin/bash while true; do ping -c 2 30.0.0.1 >/dev/null 2>&1 ##30.0.0.1 is your remote private ip address if [ $? -ne 0 ]; then systemctl restart azumilocal ## this is localtun service systemctl restart strong-azumi1 ## this is for ipsec fi sleep 5 #time for ping interval check done ## do not copy this## nano /etc/systemd/system/azumireset.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service reset After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/reset.sh [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumireset.service systemctl enable /etc/systemd/system/azumireset.service systemctl start azumireset.service systemctl status azumireset.service ```
Imageدایرکت لوکال تانل پرایوت ایپی 6 - public ipv4 ``` - کامند های سرور (خارج)
``` ./tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 2001:db8::1 -client-private 2001:db8::2 -subnet 64 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default ```
- کامند های کلاینت (ایران)
``` ./tun-client -server-addr KHAREJ_IPV4 -server-port 800 -priv-key=/root/private_key.pem -client-private 2001:db8::2 -server-private 2001:db8::1 -subnet 64 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default ```
- نحوه ساختن سرویس
``` nano /etc/systemd/system/azumilocal.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/localTUN/tun-client -server-addr KHAREJ_IPV4 -server-port 800 -priv-key=/root/private_key.pem -client-private 2001:db8::2 -server-private 2001:db8::1 -subnet 64 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumilocal.service systemctl enable /etc/systemd/system/azumilocal.service systemctl start azumilocal.service ```
- نحوه ساختن سرویس ریست
``` nano /root/reset.sh # copy this inside # #!/bin/bash while true; do ping -c 2 2001:db8::1 >/dev/null 2>&1 ##2001:db8::1 is your remote private ip address if [ $? -ne 0 ]; then systemctl restart azumilocal ## this is localtun service systemctl restart strong-azumi1 ## this is for ipsec fi sleep 5 #time for ping interval check done ## do not copy this## nano /etc/systemd/system/azumireset.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service reset After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/reset.sh [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumireset.service systemctl enable /etc/systemd/system/azumireset.service systemctl start azumireset.service systemctl status azumireset.service ```
Imageدایرکت لوکال تانل پرایوت ایپی 6 - public ipv4 ```
Imageدایرکت لوکال تانل پرایوت ایپی 4 - public ipv6 - کامند های سرور (خارج)
``` ./tun-server_amd64 -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 30.0.0.1 -client-private 30.0.0.2 -subnet 24 -device tun2 -mtu 1480 -tcpnodelay -keepalive 1m -worker default ```
- کامند های کلاینت (ایران)
``` ./tun-client -server-addr KHAREJ_IPV6 -server-port 800 -priv-key=/root/private_key.pem -client-private 30.0.0.2 -server-private 30.0.0.1 -subnet 24 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default ```
- نحوه ساختن سرویس
``` nano /etc/systemd/system/azumilocal.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/localTUN/tun-client -server-addr KHAREJ_IPV6 -server-port 800 -priv-key=/root/private_key.pem -client-private 30.0.0.2 -server-private 30.0.0.1 -subnet 24 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumilocal.service systemctl enable /etc/systemd/system/azumilocal.service systemctl start azumilocal.service ```
- نحوه ساختن سرویس ریست
``` nano /root/reset.sh # copy this inside # #!/bin/bash while true; do ping -c 2 30.0.0.1 >/dev/null 2>&1 ##30.0.0.1 is your remote private ip address if [ $? -ne 0 ]; then systemctl restart azumilocal ## this is localtun service systemctl restart strong-azumi1 ## this is for ipsec fi sleep 5 #time for ping interval check done ## do not copy this## nano /etc/systemd/system/azumireset.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service reset After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/reset.sh [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumireset.service systemctl enable /etc/systemd/system/azumireset.service systemctl start azumireset.service systemctl status azumireset.service ```
Imageدایرکت لوکال تانل پرایوت ایپی 6 - public ipv6 - کامند های سرور (خارج)
``` ./tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 2001:db8::1 -client-private 2001:db8::2 -subnet 64 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default ```
- کامند های کلاینت (ایران)
``` ./tun-client -server-addr [KHAREJ_IPV6] -server-port 800 -priv-key=/root/private_key.pem -client-private 2001:db8::2 -server-private 2001:db8::1 -subnet 64 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default ```
- نحوه ساختن سرویس
``` nano /etc/systemd/system/azumilocal.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/localTUN/tun-client -server-addr [KHAREJ_IPV6] -server-port 800 -priv-key=/root/private_key.pem -client-private 2001:db8::2 -server-private 2001:db8::1 -subnet 64 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumilocal.service systemctl enable /etc/systemd/system/azumilocal.service systemctl start azumilocal.service ```
- نحوه ساختن سرویس ریست
``` nano /root/reset.sh # copy this inside # #!/bin/bash while true; do ping -c 2 2001:db8::1 >/dev/null 2>&1 ##2001:db8::1 is your remote private ip address if [ $? -ne 0 ]; then systemctl restart azumilocal ## this is localtun service systemctl restart strong-azumi1 ## this is for ipsec fi sleep 5 #time for ping interval check done ## do not copy this## nano /etc/systemd/system/azumireset.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service reset After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/reset.sh [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumireset.service systemctl enable /etc/systemd/system/azumireset.service systemctl start azumireset.service systemctl status azumireset.service ```
Imageریورس لوکال تانل پرایوت ایپی 4 - public ipv4 - کامند های سرور ( ایران)
``` ./tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 30.0.0.1 -client-private 30.0.0.2 -subnet 24 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default ```
- کامند های کلاینت (خارج)
``` ./tun-client -server-addr IRAN_IPV4 -server-port 800 -priv-key=/root/private_key.pem -client-private 30.0.0.2 -server-private 30.0.0.1 -subnet 24 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default ```
- نحوه ساختن سرویس
``` nano /etc/systemd/system/azumilocal.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/localTUN/tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 30.0.0.1 -client-private 30.0.0.2 -subnet 24 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumilocal.service systemctl enable /etc/systemd/system/azumilocal.service systemctl start azumilocal.service ```
- نحوه ساختن سرویس ریست
``` nano /root/reset.sh # copy this inside # #!/bin/bash while true; do ping -c 2 30.0.0.2 >/dev/null 2>&1 ##30.0.0.2 is your remote private ip address if [ $? -ne 0 ]; then systemctl restart azumilocal ## this is localtun service systemctl restart strong-azumi1 ## this is for ipsec fi sleep 5 #time for ping interval check done ## do not copy this## nano /etc/systemd/system/azumireset.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service reset After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/reset.sh [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumireset.service systemctl enable /etc/systemd/system/azumireset.service systemctl start azumireset.service systemctl status azumireset.service ```
Imageریورس لوکال تانل پرایوت ایپی 6 - public ipv4 - کامند های سرور (ایران)
``` ./tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 2001:db8::1 -client-private 2001:db8::2 -subnet 64 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default ```
- کامند های کلاینت (خارج)
``` ./tun-client -server-addr IRAN_IPV4 -server-port 800 -priv-key=/root/private_key.pem -client-private 2001:db8::2 -server-private 2001:db8::1 -subnet 64 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default ```
- نحوه ساختن سرویس
``` nano /etc/systemd/system/azumilocal.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/localTUN/tun-client -server-addr IRAN_IPV4 -server-port 800 -priv-key=/root/private_key.pem -client-private 2001:db8::2 -server-private 2001:db8::1 -subnet 64 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumilocal.service systemctl enable /etc/systemd/system/azumilocal.service systemctl start azumilocal.service ```
- نحوه ساختن سرویس ریست
``` nano /root/reset.sh # copy this inside # #!/bin/bash while true; do ping -c 2 2001:db8::1 >/dev/null 2>&1 ##2001:db8::1 is your remote private ip address if [ $? -ne 0 ]; then systemctl restart azumilocal ## this is localtun service systemctl restart strong-azumi1 ## this is for ipsec fi sleep 5 #time for ping interval check done ## do not copy this## nano /etc/systemd/system/azumireset.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service reset After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/reset.sh [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumireset.service systemctl enable /etc/systemd/system/azumireset.service systemctl start azumireset.service systemctl status azumireset.service ```
Imageریورس لوکال تانل پرایوت ایپی 4 - public ipv6 - کامند های سرور (ایران)
``` ./tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 30.0.0.1 -client-private 30.0.0.2 -pub-key=/root/keys/public_key.pem -subnet 24 -device tun2 -mtu 1380 -tcpnodelay -keepalive 1m -worker default ```
- کامند های کلاینت (خارج)
``` ./tun-client -server-addr [IRAN_IPV6] -server-port 800 -priv-key=/root/private_key.pem -client-private 30.0.0.2 -server-private 30.0.0.1 -subnet 24 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default ```
- نحوه ساختن سرویس
``` nano /etc/systemd/system/azumilocal.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/localTUN/tun-client -server-addr [IRAN_IPV6] -server-port 800 -priv-key=/root/private_key.pem -client-private 30.0.0.2 -server-private 30.0.0.1 -subnet 24 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumilocal.service systemctl enable /etc/systemd/system/azumilocal.service systemctl start azumilocal.service ```
- نحوه ساختن سرویس ریست
``` nano /root/reset.sh # copy this inside # #!/bin/bash while true; do ping -c 2 30.0.0.1 >/dev/null 2>&1 ##30.0.0.1 is your remote private ip address if [ $? -ne 0 ]; then systemctl restart azumilocal ## this is localtun service systemctl restart strong-azumi1 ## this is for ipsec fi sleep 5 #time for ping interval check done ## do not copy this## nano /etc/systemd/system/azumireset.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service reset After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/reset.sh [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumireset.service systemctl enable /etc/systemd/system/azumireset.service systemctl start azumireset.service systemctl status azumireset.service ```
Imageریورس لوکال تانل پرایوت ایپی 6 - public ipv6 - کامند های سرور (ایران) - برای verbose لاگ از کامند -v استفاده نمایید
``` ./tun-server -server-port 800 -pub-key=/root/keys/public_key.pem -server-private 2001:db8::1 -client-private 2001:db8::2 -subnet 64 -device tun2 -mtu 1480 -tcpnodelay -keepalive 1m -worker default ```
- کامند های کلاینت (خارج)
``` ./tun-client -server-addr [IRAN_IPV6] -server-port 800 -priv-key=/root/private_key.pem -client-private 2001:db8::2 -server-private 2001:db8::1 -subnet 64 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default ```
- نحوه ساختن سرویس
``` nano /etc/systemd/system/azumilocal.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/localTUN/tun-client -server-addr [IRAN_IPV6] -server-port 800 -priv-key=/root/private_key.pem -client-private 2001:db8::2 -server-private 2001:db8::1 -subnet 64 -device tun2 -mtu 1280 -tcpnodelay -keepalive 1m -worker default [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumilocal.service systemctl enable /etc/systemd/system/azumilocal.service systemctl start azumilocal.service ```
- نحوه ساختن سرویس ریست
``` nano /root/reset.sh # copy this inside # #!/bin/bash while true; do ping -c 2 2001:db8::1 >/dev/null 2>&1 ##2001:db8::1 is your remote private ip address if [ $? -ne 0 ]; then systemctl restart azumilocal ## this is localtun service systemctl restart strong-azumi1 ## this is for ipsec fi sleep 5 #time for ping interval check done ## do not copy this## nano /etc/systemd/system/azumireset.service ## put this config inside [ This is a sample]## [Unit] Description=Azumi local Service reset After=network.target [Service] Type=simple Restart=always LimitNOFILE=1048576 ExecStart=/root/reset.sh [Install] WantedBy=multi-user.target ##### do not copy this ### chmod u+x /etc/systemd/system/azumireset.service systemctl enable /etc/systemd/system/azumireset.service systemctl start azumireset.service systemctl status azumireset.service ```