فوروارد کردن پورت در روتر — به زبان ساده
با این که روترهای مدرن اغلب کارکردهایشان را به صورت خودکار مدیریت میکنند، اما برخی اپلیکیشنها از شما میخواهند که یک پورت را به صورت دستی به آن اپلیکیشن یا دستگاه فوروارد کنید. خوشبختانه در صورتی که بدانید چگونه میتوانید اقدام به فوروارد کردن پورت در روتر بکنید، انجام این کار بسیار آسان خواهد بود.
فوروارد کردن پورت به چه معنا است؟
در موارد زیادی لازم میشود که از رایانه خود به عنوان یک سرور برای دستگاههای دیگر استفاده کنید. زمانی که درون شبکه خود قرار دارید، همه چیز به خوبی کار میکند، اما برخی اپلیکیشنها در صورتی که بخواهید از خارج از شبکه محلی به آنها دسترسی پیدا کنید با دشواری مواجه خواهند شد. در ادامه دلیل این مسئله را توضیح میدهیم.
مدیریت درخواستها و کاربرد پورتها در روتر
در ادامه تصویری از نقشه یک شبکه خانگی ساده را مشاهده میکنید. آیکون ابر نشاندهنده اینترنت و شبکه عمومی یا نشانی IP پروتکل اینترنتی است که قرار است فوروارد شود. این نشانی IP نماینده کل شبکه خانگی شما در برابر شبکه بیرونی است، یعنی چیزی شبیه نشانی خیابان در یک آدرس پستی است.
آدرس به رنگ قرمز 192.168.1.1 نشانگر روتر درون شبکه است. نشانیهای دیگر همگی متعلق به رایانههایی است که در انتهای تصویر مشاهده میشود. اگر نشانی IP عمومی شما شبیه به نشانی خیابان باشد، نشانیهای IP داخلی را میتوان مانند شمارههای واحدهای آپارتمان برای آن نشانی خیابانی دانست.
نمودار فوق یک سؤال جالب را مطرح میکند که شاید تاکنون به آن نیاندیشیده باشید. چگونه است که همه اطلاعات صحیح از اینترنت به دستگاه مختص خود، درون شبکه داخلی میرسند؟ اگر از وبسایت faradars.org روی لپتاپ خود بازدید کنید، وقتی نشانی IP عمومی شما از بیرون برای همه دستگاهها یکسان است چگونه است که این وبسایت دقیقاً روی لپتاپ و نه رایانه دسکتاپتان بارگذاری میشود؟
این اتفاقات به لطف نوعی مسیریابی جادویی که به نام «ترجمه آدرس شبکه» (Network Address Translation) یا به اختصار NAT شناخته میشود ممکن شده است. این کارکرد در سطح روتر اتفاق میافتد و NAT به عنوان یک پلیس راهنمایی و رانندگی، گردش ترافیک شبکه را از طریق روتر کنترل میکند به طوری که یک نشانی IP عمومی منفرد میتواند روی همه دستگاههای پشت روتر به اشتراک گذارده شود. به دلیل وجود NAT هر کس در خانه میتواند به وبسایتها و دیگر محتوای اینترنتی مورد علاقه خود دسترسی پیدا کند و این محتوا به دستگاه صحیح خود بازگشت مییابد.
بنابراین شاید اینک بپرسید پس نقش پورتها چیست؟ پورتها مفهومی قدیمی و البته مفید هستند که بهروزهای آغازین محاسبات شبکه تعلق دارند. در آن زمان رایانهها هر زمان تنها یک اپلیکیشن را میتوانستند اجرا کنند و تنها کار لازم این بود که یک رایانه را روی شبکه به یک رایانه دیگر وصل کرد تا روی یک اپلیکیشن واحد کار کنند. زمانی که رایانهها پیچیدهتر شدند و میتوانستند چندین اپلیکیشن را اجرا کنند، دانشمندان علوم کامپیوتر آن زمان تلاش کردند با مشکل اتصال اپلیکیشنها به اپلیکیشن صحیح در سمت دیگر غلبه کنند و به این ترتیب پورتها متولد شدند.
برخی پورتها اپلیکیشنهای خاص خود را دارند که در سراسر صنعت رایانه استاندارد شده است. برای نمونه زمانی که به یک صفحه وب مراجعه میکنید از پورت 80 استفاده کردهاید. نرمافزار رایانهای گیرنده میداند که پورت 80 برای عرضه اسناد http استفاده میشود و از این رو به این پورت گوش میدهد و بر همین اساس پاسخ میدهد. اگر یک درخواست http را روی پورت مثلاً 143 ارسال کنید، وبسرور آن را تشخیص نمیدهد زیرا به آنجا گوش نمیدهد. این پورت در واقع برای منظور دیگری طراحی شده است.
البته همه پورتها کارکردهای از پیش تعیینشدهای ندارند و میتوان از آنها برای مقاصد مختلف استفاده کرد. برای اجتناب از تداخل با اپلیکیشنهای استاندارد، بهتر است از پورتهای با شماره بالا برای این پیکربندیهای جایگزین استفاده کرد. برای نمونه Plex Media Server از پورت 32400 استفاده میکند و سرورهای ماینکرفت از پورت 25565 بهره میگیرند که هر دو در دسته fair game جای میگیرند.
هر پورت میتواند از سوی TCP یا UDP مورد استفاده قرار گیرد. TCP که اختصاری برای عبارت «پروتکل کنترل انتقال» (Transmission Control Protocol) است استفاده گستردهای دارد. اما UDP یعنی «پروتکل دیتاگرام کاربر» (User Datagram Protocol) در کاربردهای خانگی استفاده کمی دارد و تنها استثنا BitTorrent است. بسته به این که به چه چیزی روی پورت گوش میدهیم انتظار درخواستهای وارد شده باید از یکی از این دو نوع پروتکل باشند.
چرا به فوروارد کردن پورت نیاز داریم؟
با این که برخی اپلیکیشنها از مزیت NAT بهره میگیرند و پورتهای خاص خود را برای مدیریت همه پیکربندیها تنظیم میکنند، اما همچنان اپلیکیشنهای زیادی وجود دارند که چنین کاری را انجام نمیدهند و باید به صورت دستی به روتر کمک کنید تا به این سرویسها و اپلیکیشنها وصل شود.
در نمودار زیر کار با یک درخواست ساده از لپتاپ آغاز میشود. فرض کنید نشانی IP این لپتاپ به صورت 225.213.7.42 است و میخواهید به شبکه خانگی وصل شود تا به برخی فایلها دسترسی پیدا کند. اگر صرفاً نشانی IP شبکه خانگی خود را در ابزاری که استفاده میکنید (برای نمونه کلاینت FP یا اپلیکیشن ریموت دسکتاپ) و آن ابزار از مزیت این قابلیتهای پیشرفته روتر که پیشتر اشاره کردیم، بهره نگیرد، در ارتباط موفق نخواهید بود. دلیل این عدم موفقیت آن است که شما نمیدانید باید درخواست خود را به کجا ارسال کنید و هیچ اتفاقی نخواهد افتاد.
این وضعیت البته یک قابلیت امنیتی بزرگ محسوب میشود. اگر فردی به شبکه خانگی شما وصل شود و به پورت معتبری وصل نشده باشد، باید اتصال وی رد شود. این رد کردن درخواستهای غیرمنتظره یکی از وظایف فایروال است که روتر انجام میدهد. با این حال اگر فردی که این در مجازی را میزند خود شما باشید در این صورت این رد کردن خوشایند نخواهد بود و باید آن را کمی دستکاری کنیم.
برای حل این مشکل، باید به روتر بگویید که «وقتی با این برنامه وصل میشوم، باید آن را از این پورت به این دستگاه ارسال کنی.» در این صورت روتر با استفاده از این دستورالعملها شما را به رایانه و اپلیکیشن صحیحی در شبکه خانگی وصل میکند.
بنابراین در این مثال زمانی که خارج از خانه هستید، میتوانید با استفاده از لپتاپ خود درخواستهایی در پورتهای متفاوت ارسال کنید. زمانی که با استفاده از پورت 22 به نشانی IP شبکه خانگی وصل شدید، روتر در این شبکه میداند که باید به نشانی 192.168.1.100 در شبکه خانگی برود. سپس SSH daemon در سیستم لینوکس پاسخ میدهد. همزمان میتوانید یک درخواست به پورت 80 ارسال کنید که روتر آن را به وبسرور در نشانی 192.168.1.150 میبرد و میتوانید به صورت ریموت لپتاپ خواهرتان را با VNC کنترل کنید و روتر شما را به لپتاپ خودتان در نشانی 192.168.1.200 متصل میسازد. به این ترتیب میتواند به سهولت به همه دستگاههایی که قاعده فوروارد کردن پورت را برایشان تنظیم کردهاید وصل شوید.
مفید بودن فوروارد کردن پورت به این موارد محدود نمیشود. میتوانید با استفاده از فوروارد کردن پورت، شمارههای پورت سرویسهای کنونی را برای روشنتر شدن اوضاع و راحتی کار تغییر دهید. برای نمونه تصور کنید دو وبسرور دارید که روی شبکه خانگیتان کار میکنند و میخواهید یکی از آنها به سادگی و سهولت در دسترس باشد. فرض کنید این سرور آبوهوا است که میخواهید افراد آن را به سادگی پیدا کنند و وبسرور دیگری نیز وجود دارد که برای پروژههای شخصی است.
زمانی که از پورت عمومی 80 به شبکه خانگی خود وصل میشوید، میتوانید به روتر اعلام کنید که آن را به پورت 80 سرور در نشانی 192.168.1.150 ارسال کند که در حال گوش دادن به پورت 80 است. اما میتوانید این را نیز به روتر اعلام کنید که وقتی در پورت 10000 به روتر دسترسی پیدا میکنید باید به پورت 80 سرور شخصی خودتان در نشانی 192.168.1.250 برود. بدین ترتیب لازم نیست رایانه دوم طوری پیکربندی شود تا بتواند از پورت متفاوتی استفاده کند، اما همچنان میتوانید ترافیک آن را به صورت کارآمدی مدیریت کنید و همزمان وبسرور نخست نیز روی پورت 80 باقی میماند و افراد به راحتی میتوانند به آن دسترسی پیدا کنند.
اکنون که با مفهوم فوروارد کردن پورت و دلیل استفاده از آن آشنا شدیم، در ادامه و پیش از ورود عملی به بحث پیکربندی فوروارد کردن پورت، نگاهی به برخی ملاحظات جزئی در مورد آن خواهیم داشت.
ملاحظاتی در مورد پیکربندی روتر
چند نکته وجود دارد که پیش از آغاز پیکربندی روتر و اجرای آنها باید مطالعه کنید تا مطمئن شوید که جای نگرانی باقی نمیماند.
تعیین آدرس IP استاتیک برای دستگاهها
قبل ازهر نکته دیگری باید بدانید که همه قواعد فوروارد کردن پورت شما در صورتی که سرویس DHCP روترتان نشانیهای IP دینامیکی برای دستگاهها تعیین کرده باشد، بر باد میرود. روتر شما یک مجموعه نشانیهایی دارد که آن را برای تخصیص به دستگاههایی که به شبکه وصل میشوند ذخیره کرده است. برای نمونه زمانی که لپتاپ به شبکه وصل میشود نشانی 192.168.1.99 میگیرد. اگر دستگاهی برای مدتی آفلاین شود یا روتر راهاندازی مجدد شود، در این صورت کل نشانیهای IP دوباره از نو اختصاص مییابند.
در شرایط معمول این وضعیت هیچ مشکلی پدید نمیآورد. برای گوشی iPhone شما مهم نیست که نشانی IP داخلی آن چیست. اما اگر یک قاعده فوروارد کردن پورت تنظیم کرده باشید که اعلام میکند سرور بازیتان در یک نشانی IP خاص قرار دارد و سپس روتر یک نشانی جدید به آن بدهد، این قاعده از کار میافتد و دیگر کسی نمیتواند به سرور بازی شما وصل شود. برای اجتناب از این وضعیت باید نشانیهای IP استاتیک به هر دستگاه شبکه که میخواهید فوروارد کردن پورت در موردش اتفاق بیفتد، اختصاص دهید. بهترین روش این است که برای این منظور به راهنمای روتر خود مراجعه کنید.
دانستن نشانی IP و تعیین آدرس DNS دینامیک
علاوه بر تعیین IP استاتیک برای دستگاههای موضوع فوروارد پورت درون شبکه، شما باید از آدرس IP بیرونی خود نیز اطلاع داشته باشید. به این منظور میتوانید زمانی که در شبکه خانگیتان قرار دارید به وبسایت whatismyip.com سر بزنید. با این که ممکن است نشانی IP بیرونی شما برای مدت مدیدی تغییر نیابد، اما همواره این احتمال وجود دارد که نشانی IP عمومی شما تغییر پیدا کند، مگر این که ارائهدهنده سرویس اینترنتی شما صراحتاً یک IP استاتیک به شما داده باشد. به بیان دیگر شما نمیتوانید روی وارد کردن نشانی IP عددی خود در ابزارهای ریموتی که استفاده میکنید تکیه کنید. همچنین نمیتوانید آن را به دوستی بدهید.
اکنون با این که میتوانید دردسر بررسی دستی این نشانی IP را به صوت مداوم و هر بار که از خانه خارج میشوید و میخواهید از بیرون به یک دستگاه در شبکه خانگی وصل شوید و یا هر زمان که دوستتان میخواهد به سرور ماینکرفت شما وصل شود، به جان بخرید، اما باید قبول کنید که کار پرزحمتی است. به جای آن پیشنهاد میکنیم یک سرویس DNS دینامیک راهاندازی کنید که امکان لینک کردن نشانی IP خانگی (متغیر) شما را به یک آدرس مانند mysuperawesomeshomeserver.dynu.net فراهم میسازد که میتوان آن را به خاطر سپرد. تشریح جزییات این کار از حوصله این مقاله خارج است، اما میتوانید با کمی جستجو در اینترنت با روش کار آشنا شوید.
توجه به فایروالهای محلی
زمانی که قابلیت فوروارد کردن پورت را در سطح روتر تنظیم کردید، این امکان وجود دارد که لازم باشد قواعد فایروال رایانه را نیز تغییر دهید. برای نمونه در اغلب موارد وقتی امکان فوروارد کردن پورت را برای امکان اتصال به سرور بازی ماینکرفت تنظیم میکنید، در اغلب موارد فایروال ویندوز از اتصال ممانعت میکند و این نکتهای است که باید به آن توجه داشت.
توجه داشته باشید که روی رایانههایی که فایروال محلی را اجرا میکنند و/یا نرمافزار آنتیویروسی دارند که شامل حفاظت فایروال است، احتمالاً باید تأیید کنید که این اتصال مشکلی ندارد.
گام اول: یافتن قواعد فوروارد کردن پورت روی روتر
اگر از این همه مباحث تئوریک شبکه که مطرح شد خسته شدهاید، جای نگرانی نیست، چون در نهایت زمان آن رسیده است که اقدام به تنظیم فوروارد کردن پورت بکنیم و با توجه به این که با فرایند کار آشنا شدهاید نباید کار دشواری باشد.
با این که ما بسیار مایل هستیم که دستورالعملهای دقیقی برای نوع روتر شما ارائه کنیم، اما واقعیت این است که هر سازنده روتر نرمافزاری اختصاصی خود را دارد و شکل و شمایل این نرمافزار بین مدلهای مختلف روتر واقعاً متفاوت است. بنابراین به جای تلاش برای تشخیص این تفاوتها، ایدهای کلی از نوع شکل منوهایی که مواجه خواهید شد ارائه میکنیم و شما را تشویق میکنیم که دفترچه راهنما یا فایلهای آنلاین کمکی روتر خود را برای یافتن جزییات بیشتر مطالعه کنید.
به طور کلی ما به دنبال قابلیتی هستیم که نام آن چنان که احتمالاً حدس میزنید «Port Forwarding» است. ممکن است لازم باشد بخشهای مختلف نرمافزار روتر را بررسی کنید تا بتوانید آن را پیدا کنید، اما اگر روتر مناسبی داشته باشید احتمالاً این کار دشوار نخواهد بود.
برای مقایسه در ادامه تصویری از منوی Port Forwarding در یک روتر D-Link DIR-890L ارائه شده است.
و در ادامه تصویر دیگری از منوهای D-Link DIR-890L در همان روتر زمانی که فیرمویر شخص ثالث DD-WRT را اجرا میکند مشاهده میشود:
چنان که میبینید سطح پیچیدگی بین این دو حتی روی یک سختافزار یکسان بسیار متفاوت است. به علاوه مکان منوها نیز کاملاً فرق دارد. بدین ترتیب مراجعه به دستورالعملهای دقیقی که دستگاهتان در دفترچه راهنما یا به صورت آنلاین ارائه کرده است بسیار مفید خواهد بود. زمانی که منوی موردنظر را یافتید، نوبت آن میرسد که قاعده واقعی را تنظیم کنید.
گام دوم: ایجاد قاعده فوروارد کردن پورت
پس از یادگیری همه مفاهیم فوروارد کردن پورت، تنظیم DNS دینامیک برای نشانی IP خانگی و همه کارهای دیگری که تا به اینجا انجام دادیم، اینک نوبت به مهمترین گام یعنی ایجاد قاعده واقعی است که کار بسیار سادهای است.
در منوی فوروارد کردن پورت در روتر دو قاعده پورت فورواردینگ جدید تنظیم میکنیم: یکی برای سرور موسیقی Subsonic و دیگری برای سرور ماینکرفت که قبلاً راهاندازی کردهایم.
علیرغم تفاوتهایی که در محل منوی پورت فورواردینگ در نرمافزارهای روترهای متفاوت وجود دارد، روش وارد کردن قاعده تقریباً یکسان است. تقریباً در همه نرمافزارها باید نامی برای قاعده فوروارد کردن پورت تعیین کنید. بهتر است نام سادهای به صورت سرور یا سرویسی که به آن الحاق مییابد تعیین کنید تا روشن باشد. برای نمونه Webserver و در صورت نیاز به وجود دو سرویس مشابه از Webserver-Weather استفاده کنید. پیشتر در مورد پروتکل TCP/UDP صحبت کردیم و شما اینک باید تعیین کنید که این قاعده شامل پروتکل TCP یا UDP و یا هر دو میشود. برخی افراد به دلایل امنیتی تأکید زیادی دارند که باید بدانید یک اپلیکیشن یا سرویس دقیقاً از چه پروتکلی استفاده میکند. اما ما در این مورد تنبل هستیم و برای صرفهجویی در زمان از گزینه «هر دو» (Both) استفاده میکنیم.
برخی فیرمویرهای روتر شامل DD-WRT که در تصویر قبلی نشان دادیم، پیشرفتهتر هستند و امکان تعیین مقدار Source را که لیستی از IP-ها است نیز فراهم میسازند. توجه کنید که صرفاً IP-هایی که در این لیست قرار میگیرند میتوانند به امکان فوروارد کردن پورت دسترسی پیدا کنند و این کار به دلایلی ارتقای امنیت صورت میگیرد. در صورت تمایل میتوانید از این قابلیت استفاده کنید، اما باید بدایند که این امکان خود دردسرهای زیاد جدید دیگری ایجاد میکند، چون فرض میگیرد که همه کاربران ریموت (حتی خودتان زمانی که از خانه و دوستان دور هستید و به آن وصل میشوید) دارای نشانیهای IP استاتیک هستند.
سپس باید پورت بیرونی را وارد کنید. این همان پورتی است که در روتر باز میشود و در معرض اینترنت قرار میگیرد. میتوانید از هر عددی بین 1 تا 65353 استفاده کنید، اما عملاً اغلب شمارههای پایین از سوی سرویسهای استاندارد مانند ایمیل یا وبسرورها اشغال شدهاند. از سوی دیگر بسیاری از اعداد بزرگ نیز به اپلیکیشنهای نسبتاً رایجی اختصاص یافتهاند. با در نظر گرفتن این موضوع پیشنهاد میکنیم، انتخاب عددی بالاتر از 5000 میتواند امن باشد. میتوانید با استفاده از کلیدهای Ctrl+F در این لیست (+) طولانی از شماره پورتهای TCP/UDP جستجو کنید تا مطمئن شوید که شماره پورتی که انتخاب کردهاید با یک سرویس موجود که هماینک استفاده میکنید تداخل ندارد.
در نهایت نشانی IP داخلی دستگاه و پورت روی آن دستگاه را تعیین کنید. در صورت نیاز به فعالسازی قاعده این کار را انجام دهید و فراموش نکنید که تنظیمات را ذخیره کنید.
گام سوم: تست قاعده فوروارد کردن پورت
بدیهیترین روش برای تست این که فورواردینگ پورت کار میکند یا نه، این است که با استفاده از روال موردنظر به پورت وصل شوید. یعنی باید از دوستتان بخواهید که به کلاینت ماینکرفت شما روی سرور خانگیتان وصل شود، اما این روش در صورتی که دور از خانه باشید، همواره یک گزینه در دسترس محسوب نمیشود.
خوشبختانه یک ابزار آنلاین کوچک برای بررسی پورت در وبسایت YouGetSignal.com وجود دارد. با استفاده از این ابزار میتوان از طریق تلاش برای اتصال به پورت به سادگی بررسی کرد که آیا فوروارد کردن پورت سرور ماینکرفت صورت میگیرد یا نه. نشانی IP خودتان و شماره پورت را وارد کرده و سپس روی Check کلیک کنید.
در این هنگام باید پیامی مانند تصویر فوق ببینید که «پورت فلان روی IP بهمان باز است». اگر پورت بسته گزارش شود، تنظیمات منوی فوروارد کردن پورت را روی روتر مجدداً بررسی کنید و مطمئن شوید که IP و شماره پورت در ابزار تست به درستی وارد شده است.
سخن پایانی
راهاندازی قابلیت فوروارد کردن پورت کمی دردسر دارد، اما تا زمانی که یک نشانی IP استاتیک به دستگاه مقصد اختصاص داده باشید و سرور DNS دینامیک برای نشانی IP خانگیتان راهاندازی کرده باشید، این کار صرفاً یک بار صورت میگیرد و بدین ترتیب میتوانید بدون دردسر در آینده به شبکه خانگیتان وصل شوید.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای شبکههای کامپیوتری
- آموزش شبکههای کامپیوتری ۱
- مجموعه آموزشهای مهارتهای کاربردی کامپیوتر
- اسکن پورت (Port Scanning) چیست و چه کاربردی دارد؟ – به زبان ساده
- باز کردن پورت (Port) در فایروال ویندوز – به زبان ساده
==
سلام امکان پورت فورواردینگ با اینترنت موبایل هست؟
سلام
خط 7 IP رو تصحیح کنید
“آدرس به رنگ قرمز 192.1.168.1 نشانگر روتر درون شبکه است”
سلام وقت شما بخیر؛
متن طبق بازخورد شما مورد بازبینی و اصلاح قرار گرفت.
از اینکه با مجله فرادرس همراه هستید سپاسگزاریم.
سلام روی پورت ۸۰ مودم فروواردینگ انجام دادم
دیگه نمی تونم وارد تنظیمات مودم بشم
میشه راهنمایی کنید چیکار کنم
با سلام
خواستم بدونم از طریق پورت فورواردینگ چند کاربر میتونن بصورت همزمان اتصال یابند؟