یکی از مفاهیم کلیدی در مدیریت سرورهای مجازی یا VPS، مدیریت پورتها است. پورتها به سرور شما اجازه میدهند دادهها را بین کلاینتها و سرویسها منتقل کند. پروتکلهای TCP و UDP دو پروتکل رایج در لایه انتقال هستند که هر کدام کاربردها و ویژگیهای خاص خود را دارند. در این مطلب، نحوه باز کردن پورت TCP و UDP در سرورهای مجازی را بهطور کامل مورد بررسی قرار میدهیم.
پورت چیست؟
پورتها کانالهای مجازی هستند که برای انتقال دادهها بین دستگاهها در شبکه استفاده میشوند. هر سرویس در سرور از یک شماره پورت خاص برای ارسال و دریافت داده استفاده میکند. شماره پورتها بین 0 تا 65535 است. اما پورتهای TCP و UDP چه تفاوتی با یکدیگر دارند؟
- TCP (Transmission Control Protocol): پروتکل TCP یک پروتکل اتصالگرا است و برای انتقال دادههایی استفاده میشود که به اطمینان بالا نیاز دارند. این پروتکل قبل از ارسال داده یک ارتباط بین کلاینت و سرور برقرار میکند و سپس داده را ارسال میکند.مثال: مرورگرهای وب، پروتکل FTP، و ایمیل.
- UDP (User Datagram Protocol): پروتکل UDP یک پروتکل بدون اتصال است و دادهها را سریع و بدون بررسی صحت انتقال میدهد. برای کاربردهایی که سرعت مهمتر از اطمینان است، از این پروتکل استفاده میشود.مثال: استریم ویدئو، بازیهای آنلاین، و تماسهای صوتی.
نحوه باز کردن پورت UDP و TCP در ویندوز
در سرور مجازی ویندوز، مدیریت پورتها به کمک تنظیمات فایروال انجام میشود. این کار به شما اجازه میدهد تا ترافیک ورودی و خروجی را کنترل کرده و فقط پورتهای ضروری را باز کنید. برای باز کردن یک پورت خاص، باید چند مرحله ساده اما مهم را انجام دهید. در ادامه این مراحل را قدمبهقدم توضیح میدهیم.
وارد سرور شوید و به Control Panel > System and Security > Windows Defender Firewall بروید.
گزینه Advanced Settings را انتخاب کنید.
در بخش Inbound Rules، روی New Rule کلیک کنید.
در پنجره باز شده، گزینه Port را انتخاب کرده و روی Next کلیک کنید.
در بخش Does this rule apply to TCP or UDP یکی از گزینههای زیر را انتخاب کنید:
- TCP – برای باز کردن پورت TCP.
- UDP – برای باز کردن پورت UDP.
در بخش Specific local ports شماره یا رنج پورت موردنظر را وارد کنید و روی Next کلیک کنید.
مثلا شاید بخواید پورت 80 رو باز کنید که مربوط به وب سرور IIS ویندوز است در این صورت در کادر Specific local ports عدد 80 را وارد میکنید.
اگر قصد دارید یک رنج از پورتها را باز کنید، بازه مربوطه را در همین کادر وارد کنید. برای مثال پورتهای رایج (20 تا 455)، میتوانید عبارت 20-455 را در همین کادر وارد کنید.
در مرحله بعد، سه گزینه Domain، Private و Public را فعال کنید و روی Next کلیک کنید.
روی Next کلیک کرده و در بخش Name، نامی برای قانون وارد کنید (مثلاً: Open Port 8080).
روی Finish کلیک کنید.
باز کردن پورت TCP و UDP در لینوکس
در سرور مجازی لینوکس، مدیریت پورتها معمولاً با استفاده از فایروالهایی مانند UFW (در اوبونتو) یا firewalld (در CentOS و RHEL) انجام میشود. UFW یکی از ابزارهای ساده و کاربرپسند برای این منظور است. پیش از باز کردن یک پورت، باید مطمئن شوید که فایروال فعال است و قوانین امنیتی بهدرستی اعمال میشوند.
ابتدا با دستور زیر بررسی کنید که فایروال فعال است یا خیر:
ufw status
اگر فایروال غیرفعال بود، با دستور زیر آن را فعال کنید:
sudo ufw enable
توجه داشته باشید که اگر کاربر روت نیستید، لازم است قبل از اجرای دستورات، از sudo استفاده کنید. مثلاً برای بررسی وضعیت فایروال:
sudo ufw status
پس از فعال شدن فایروال، برای باز کردن پورت 8080 میتوانید بسته به نوع پروتکل از یکی از دستورات زیر استفاده کنید:
باز کردن پورت 8080 روی TCP:
ufw allow 8080/tcp
باز کردن پورت 8080 روی UDP:
ufw allow 8080/udp
جمع بندی
مدیریت پورتها در سرورهای مجازی نقش مهمی در برقراری ارتباط امن و موثر بین سرویسها و کلاینتها ایفا میکند. پروتکلهای TCP و UDP بهترتیب برای انتقال دادههای حساس و قابلاعتماد (مانند وب، ایمیل و FTP) و ارسال سریع دادهها استفاده میشوند. در ویندوز، از طریق Windows Defender Firewall و ایجاد یک قانون جدید (New Rule) میتوانید پورتها یا بازهای از پورتها را در هر یک از پروتکلهای TCP یا UDP باز کنید. در لینوکس نیز ابزارهایی مانند UFW برای مدیریت پورتها کاربرد دارند؛ ابتدا باید فعال بودن فایروال را بررسی کرد و سپس با دستورات سادهای (مانند ufw allow 8080/tcp یا ufw allow 8080/udp) پورت موردنظر را باز کرد.