└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # فعال سازی 6to4 tunnel IPV6 Local بدون نیاز به IPv6 2 | 3 | > Disclaimer: This project is only for personal learning and communication, please do not use it for illegal purposes, please do not use it in a production environment 4 | > 5 | >این پروژه فقط برای یادگیری و ارتباط شخصی است، لطفا از آن برای مقاصد غیرقانونی استفاده نکنید. 6 | 7 | 8 | اگر این پروژه برای شما مفید بود با ستاره دادن ⭐ و دونیت کردن از من حمایت کنید تا باعث انگیزه و ادامه دادن بنده در این مسیر شود . 9 | 10 | - USDT و TRX (TRC20): `TG4fcAJoMcVjV8iaKFmC6AGxkhR15nMwcH` 11 | - BTC : `bc1qpme6r9fn6yc95wcu5gawwtunzgfg2w24022gld` 12 | - DOGE : `DMS6zp2QPmpfL9Yivhrk4iaYb1F9eF7G7S` 13 | - Ethereum (ETH) : `0xbcBD3eEAa7FDA96dc0773cFd11a07a6B368AA95A` 14 | 15 | **کوچک ترین لطفی که به خودتون میتونید بکنید این هست که حداقل دوره Network+ رو گذونده باشید تا با آدرسی دهی های ipv4 و ipv6 اشنایی داشته باشید.** 16 | 17 | 18 | 19 | **توضیحاتی درباره رنج های IPv4 و IPv6 در این سایت هست :** [کلیک کنید](https://en.wikipedia.org/wiki/Reserved_IP_addresses) 20 | 21 | **Step 0:** 22 | 23 | آیپی های استفاده شده در آموزش سمپل هستند و قبل از هر کاری از سایت زیر آیپی v6 لوکال دریافت کنید . 24 | - دریافت IPv6 لوکال : [کلیک کند](https://www.unique-local-ipv6.com/#) 25 | - به دلخواه بعد از :: مقداری بین 0-9 و a-f (هگزادسیمال) را وارد کنید . 26 | - به عنوان مثال fde8:b030:25cf::/64 این آیپی از سایت زیر دریافت شده و دو ایپی به دلخواه میسازیم : 27 | - IP 1 : fde8:b030:25cf::de01/64 28 | - IP 2 : fde8:b030:25cf::de02/64 29 | 30 | 31 | 32 | **Step 1:** 33 | 34 | ابتدا در سرور ایران باید این دستورات رو وارد کنیم تا تانل 6to4 در سرور ایران ، برقرار شود . 35 | >راهنمایی : (در قسمت `` ، آیپی ورژن 4 پابلیک سرور خارج رو قرار میدیم و در بخش `` ، آیپی ورژن 4 پابلیک ایران رو قرار میدیم) 36 | ```shell 37 | ip tunnel add 6to4_To_KH mode sit remote local 38 | ip -6 addr add fde8:b030:25cf::de01/64 dev 6to4_To_KH 39 | ip link set 6to4_To_KH mtu 1480 40 | ip link set 6to4_To_KH up 41 | ``` 42 | 43 | 44 | 45 | **Step 2:** 46 | 47 | در این مرحله تانل 6to4 رو در سرور خارج برقرار میکنیم . 48 | >راهنمایی : (در قسمت `` ، آیپی ورژن 4 پابلیک سرور خارج رو قرار میدیم و در بخش `` ، آیپی ورژن 4 پابلیک ایران رو قرار میدیم) 49 | 50 | ```shell 51 | ip tunnel add 6to4_To_IR mode sit remote local 52 | ip -6 addr add fde8:b030:25cf::de02/64 dev 6to4_To_IR 53 | ip link set 6to4_To_IR mtu 1480 54 | ip link set 6to4_To_IR up 55 | ``` 56 | تا اینجای کار اگر دستورات رو درست وارد کرده باشید تانل 6to4 بین سرور خارج و ایران برقرار شده . 57 | - آیپی v6 سرور ایران : fde8:b030:25cf::de01 58 | - آیپی v6 سرور خارج : fde8:b030:25cf::de02 59 | 60 | برای اطمینان از اینکه تانل برقرار شده باشه وارد هر دو سرور بشید و از آیپی سرور مقابل پینگ بگیرید. 61 | - به عنوان مثل وارد سرور ایران میشیم و این دستور رو برای پینگ گرفتن IPv6 استفاده میکنیم : 62 | ```shell 63 | ping6 fde8:b030:25cf::de02 64 | ``` 65 | - روی سرور خارچ نیز همین کار رو تکرار میکنیم : 66 | ```shell 67 | ping6 fde8:b030:25cf::de01 68 | ``` 69 | 70 | 71 | # فعال سازی تانل GRE6 بر روی تانل 6TO4 72 | 73 | **Step 3:** 74 | 75 | **در سرور ایران :** 76 | 77 | 78 | ```shell 79 | ip -6 tunnel add GRE6Tun_To_KH mode ip6gre remote fde8:b030:25cf::de02 local fde8:b030:25cf::de01 80 | ip addr add 172.20.20.1/30 dev GRE6Tun_To_KH 81 | ip link set GRE6Tun_To_KH mtu 1436 82 | ip link set GRE6Tun_To_KH up 83 | ``` 84 | 85 | **Step 4:** 86 | 87 | **در سرور خارج :** 88 | 89 | 90 | ```shell 91 | ip -6 tunnel add GRE6Tun_To_IR mode ip6gre remote fde8:b030:25cf::de01 local fde8:b030:25cf::de02 92 | ip addr add 172.20.20.2/30 dev GRE6Tun_To_IR 93 | ip link set GRE6Tun_To_IR mtu 1436 94 | ip link set GRE6Tun_To_IR up 95 | ``` 96 | 97 | 98 | تا اینجای کار اگر دستورات رو درست وارد کرده باشید تانل GRE6 بین سرور خارج و ایران برقرار شده . 99 | - آیپی v4 لوکال سرور ایران : 172.20.20.1 100 | - آیپی v4 لوکال سرور خارج : 172.20.20.2 101 | 102 | برای اطمینان از اینکه تانل برقرار شده باشه وارد هر دو سرور بشید و از آیپی سرور مقابل پینگ بگیرید. 103 | - به عنوان مثل وارد سرور ایران میشیم و این دستور رو برای پینگ گرفتن آیپی v4 لوکال استفاده میکنیم : 104 | ```shell 105 | ping 172.20.20.2 106 | ``` 107 | - روی سرور خارچ نیز همین کار رو تکرار میکنیم : 108 | ```shell 109 | ping 172.20.20.1 110 | ``` 111 | **تا اینجای کار تانل 6to4 برقرار شده و با استفاده از IP forward ترافیک رو به سمت تانلی که ساختیم میفرستیم :** 112 | 113 | # فوروارد کردن ترافیک با IP forward : (در سرور ایران) 114 | ```shell 115 | sysctl net.ipv4.ip_forward=1 116 | iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 172.20.20.1 117 | iptables -t nat -A PREROUTING -j DNAT --to-destination 172.20.20.2 118 | iptables -t nat -A POSTROUTING -j MASQUERADE 119 | ``` 120 | 121 | 122 | 123 | 124 | # ‌‌‌‌‌‌ذخیره کردن تانل و فعال سازی خودکار زمانی که سیستم ری استارت میشود : 125 | بعد از ریبوت شدن سرور دستورات پاک میشوند ، در صورت نیاز مینوانید از دستورات زیر استفاده کنید : 126 | 127 | **1. سرور ایران :** 128 | 129 | - با دستور زیر فایل rc.local رو باز میکنیم 130 | ```shell 131 | sudo nano /etc/rc.local && sudo chmod +x /etc/rc.local 132 | ``` 133 | 134 | - متن زیر را در فایل قرار میدیم و فایل رو ذخیره میکنیم : 135 | ```shell 136 | #! /bin/bash 137 | ip tunnel add 6to4_To_KH mode sit remote local 138 | ip -6 addr add fde8:b030:25cf::de01/64 dev 6to4_To_KH 139 | ip link set 6to4_To_KH mtu 1480 140 | ip link set 6to4_To_KH up 141 | 142 | ip -6 tunnel add GRE6Tun_To_KH mode ip6gre remote fde8:b030:25cf::de02 local fde8:b030:25cf::de01 143 | ip addr add 172.20.20.1/30 dev GRE6Tun_To_KH 144 | ip link set GRE6Tun_To_KH mtu 1436 145 | ip link set GRE6Tun_To_KH up 146 | 147 | sysctl net.ipv4.ip_forward=1 148 | iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 172.20.20.1 149 | iptables -t nat -A PREROUTING -j DNAT --to-destination 172.20.20.2 150 | iptables -t nat -A POSTROUTING -j MASQUERADE 151 | 152 | exit 0 153 | ``` 154 | 155 | **2. سرور خارج :** 156 | 157 | 158 | 159 | - با دستور زیر فایل rc.local رو باز میکنیم 160 | ```shell 161 | sudo nano /etc/rc.local && sudo chmod +x /etc/rc.local 162 | ``` 163 | 164 | - متن زیر را در فایل قرار میدیم و فایل رو ذخیره میکنیم : 165 | ```shell 166 | #! /bin/bash 167 | ip tunnel add 6to4_To_IR mode sit remote local 168 | ip -6 addr add fde8:b030:25cf::de02/64 dev 6to4_To_IR 169 | ip link set 6to4_To_IR mtu 1480 170 | ip link set 6to4_To_IR up 171 | 172 | ip -6 tunnel add GRE6Tun_To_IR mode ip6gre remote fde8:b030:25cf::de01 local fde8:b030:25cf::de02 173 | ip addr add 172.20.20.2/30 dev GRE6Tun_To_IR 174 | ip link set GRE6Tun_To_IR mtu 1436 175 | ip link set GRE6Tun_To_IR up 176 | 177 | exit 0 178 | ``` 179 | 180 | بعد از reboot کردن سیستم تغییرات اعمال خواهند شد . 181 | 182 | # پاک کردن تانل : 183 | **در سرور خارج :** 184 | ابتدا فایل rc.local رو با دستور زیر پاک کنید : 185 | ``` 186 | rm -r rc.local 187 | ``` 188 | و سپس : 189 | 190 | ```shell 191 | ip tunnel del 6to4_To_IR 192 | ip tunnel del GRE6Tun_To_IR 193 | ``` 194 | 195 | 196 | **در سرور ایران :** 197 | 198 | ابتدا فایل rc.local رو با دستور زیر پاک کنید : 199 | ``` 200 | rm -r rc.local 201 | ``` 202 | و سپس : 203 | 204 | ```shell 205 | ip tunnel del 6to4_To_KH 206 | ip tunnel del GRE6Tun_To_KH 207 | iptables -F 208 | iptables -X 209 | iptables -P INPUT ACCEPT 210 | iptables -P FORWARD ACCEPT 211 | iptables -P OUTPUT ACCEPT 212 | ``` 213 | 214 | --------------------------------------------------------------------------------