• Instagram
  • Telegram
  • WhatsApp
همین حالا تماس بگیرید: 09354994059 - 05191014059
  • 0سبد خرید فروشگاه
ویستانت
  • صفحه اصلی
  • زمینه فعالیت
  • مقالات
    • میکروتیک
    • مایکروسافت
    • لینوکس
    • کریوکنترل
    • VMware
    • سیسکو
    • ایزابل
  • درباره
    • تیم ما
    • شرکت ما
  • پرسش های متداول
  • دریافت مشاوره
  • جستجو
  • منو منو

ایمن سازی Nginx در Debian 10

لینوکس, مقالات

چگونه Nginx را با نصب SSL رایگان در Debian 10 ایمن کنیم؟

 

Let’s Encrypt مرجع صدور گواهی (CA) است که به شما امکان می‌دهد تا به‌‌رایگان و به‌سادگی گواهی SSL/TLS دریافت کنید و بتوانید از پروتکل رمزگذاری‌شده HTTPS روی وب‌سایت خود استفاده کنید. ساده‌سازی این فرایند به‌دلیل استفاده از Certbot است که تلاش می‌کند تا تمام مراحل این فرایند را به‌طورخودکار انجام دهد.

 

پیش‌نیازها

 

برای اینکه بتوانید مراحل گفته‌شده در این مطلب را گام‌به‌گام طی کنید و از آن بهترین استفاده را ببرید، باید پیش‌نیازهای زیر را داشته باشید:

۱. سروری با توزیع Debian 10 نصب‌شده روی آن به‌همراه کاربر غیر Root با دسترسی Sudo و فایروال راه‌اندازی‌شده

۲. دامین اختصاصی

۳. هر دو رکورد DNS زیر باید روی سرور شما راه‌اندازی شده باشد:

  • رکورد your_domain که به آدرس IP عمومی سرور شما اشاره می‌کند.
  • رکورد www.your_domain که به آدرس IP عمومی سرور شما اشاره می‌کند.

۴. مطمئن شوید که Nginx روی Debian 10 نصب شده است و نیز دامنه‌تان بلوک سرور دارد.

 

گام اول: نصب Certbot

 

اولین گام برای دریافت گواهی SSL رایگان از Let’s Encrypt، نصب نرم‌افزار Certbot روی سرور است. نصب پکیج python3-certbot-nginx از ریپوزیتوری Debian 10 به شما امکان نصب و استفاده از پلاگین Nginx Certbot را خواهد داد.

توجه کنید که Debian 10 در‌حال‌حاضر از Python 2.0 و Python 3.0 پشتیبانی می‌کند؛ اما Python 2.0 در ژانویه۲۰۲۰ منسوخ شده است. بنابراین، واضح است که استفاده از Python 3 و پکیج python3-certbot-nginx گزینه بهتری محسوب خواهد شد.

 

قبل از نصب پکیج python3-certbot-nginx‌، ابتدا باید پکیج لیست خود را به‌روز کنید. برای این منظور، از دستور زیر استفاده کنید:

 

sudo apt update $

 

سپس، باید وابستگی‌های پکیج python3-certbot-nginx را نصب کنید. این وابستگی‌ها عبارت‌اند از:

  • python3-acme
  • python3-certbot
  • python3-mock
  • python3-openssl
  • python3-pkg-resources
  • python3-pyparsing
  • python3-zope.interface

برای این منظور نیز، می‌توانید از دستور زیر استفاده کنید:

 sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

در‌نهایت، پکیج python3-certbot-nginx نیز با استفاده از دستور زیر نصب خواهد شد:

sudo apt install python3-certbot-nginx $

 

Certbot حالا فعال و آماده استفاده است. بااین‌حال، به‌منظور پیکربندی SSL برای Nginx، باید برخی تنظیمات را روی Nginx انجام دهید و تأیید کنید.

 

گام دوم: تأیید پیکربندی Nginx

 

Certbot برای اینکه بتوانید SSL را به‌طورخودکار پیکربندی کنید، باید بلوک سرور صحیح را در پیکربندی Nginx شما پیدا کند. به‌طورخاص این کار با جست‌وجوی یک دایرکتیو Server_name که با نام دامنه درخواستی‌تان مطابقت دارد، انجام خواهد شد.

پیش‌فرض ما این است که از قبل Nginx را روی سرورتان نصب کرده‌اید. در این‌ صورت، قاعدتاً باید بلوک سروری برای دامنه خود در مسیر /etc/nginx/sites-available/your_domain داشته باشید که در آن، دایرکتیو Server_name از قبل به‌‌خوبی تنظیم شده باشد.

برای بررسی این موضوع، فایل بلوک سرور دامنه خود را با کمک ویرایشگر متن دلخواه و استفاده از کد زیر باز کنید. در این مثال، می‌خواهیم از ویرایشگر nano برای باز‌کردن این فایل استفاده کنیم:

 

sudo nano /etc/nginx/sites-available/your_domain $

 

حالا خط server_name را در این فایل پیدا کنید. احتمالاً چیزی شبیه به این باشد:

 

;server_name your_domain www.your_domain

 

اگر این خط را پیدا کردید، می‌توانید از ویرایشگر خود خارج شوید؛ اما درصورتی‌که این خط در فایل شما موجود نبود، ابتدا باید این خط را درون فایل خود قرار دهید و فایل را ذخیره کنید و سپس از ویرایشگر خارج شوید. بعد از اینکه ویرایشگر خود را بستید، باید سینتکس ویرایش‌های اِعمال‌شده روی فایل پیکربندی را تأیید کنید. انجام این کار با استفاده از دستور زیر امکان‌پذیر است:

 

 sudo nginx -t $

 

 

درصورتی‌که پس از صدور این دستور با خطایی روبه‌رو شدید، باید فایل پیکربندی را مجدداً با استفاده از روش عنوان‌شده در بالا باز و مشکل را برطرف کنید. این مشکل ممکن است به‌‌دلیل اشتباه‌های تایپی یا جا‌انداختن کاراکتر ایجاد شده باشد. پس از رفع مشکل، باید Nginx را مجدداً لود کنید تا تغییرات پیکربندی جدید اِعمال شود:

 

 sudo systemctl reload nginx $

 

حالا Certbot می‌تواند بلوک سرور صحیح را پیدا و آن را به‌روز کند. در گام بعدی، باید فایروال را به‌روز کنید تا ترافیک HTTPS مجاز شود.

 

گام سوم: مجوز‌دادن به ترافیک HTTPS با استفاده از فایروال

در این مرحله، با استفاده از فایروال باید ترافیک HTTPS را مجاز کنید؛ اما قبل‌از‌آن باید تنظیمات فعلی فایروال را بررسی کنید. برای انجام این کار، از دستور زیر استفاده کنید:

 

 sudo ufw status $

 

در این‌ صورت، احتمالاً با متنی شبیه به متن زیر مواجه خواهید شد. همان‌طور‌که مشخص است، تنظیمات در این مثال به‌گونه‌ای است که فقط ترافیک HTTP مجاز شده است:

 

Output
Status: active
To Action From
— —— —-
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
برای فعال‌کردن ترافیک HTTPS، ابتدا باید به پروفایل Nginx Full مجوز بدهید و در‌ادامه نیز، مجوز اضافی Nginx HTTP را حذف کنید:
‘sudo ufw allow ‘Nginx Full $
‘sudo ufw delete allow ‘Nginx HTTP $
با دستور زیر مجددا تنظیمات فایروال را چک می کنیم:
sudo ufw status $
اگر تمامی مراحل بالا را به درستی اجرا کرده باشید خروجی شما می بایست به صورت زیر باشد :
Output
Status: active
To Action From
— —— —-
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
در گام بعدی، باید Certbot را اجرا و گواهی‌های خود را واکشی کنید.

گام چهارم: دریافت گواهی SSL

 

Certbot با استفاده از پلاگین‌ها راه‌حل‌های مختلفی را برای دریافت گواهی SSL ارائه می‌دهد. به‌عنوان نمونه، پلاگین Nginx می‌تواند پیکربندی دوباره Nginx و بارگیری مجدد پیکربندی را درصورت لزوم انجام دهد. برای استفاده از این پلاگین، دستور زیر را به‌کار ببرید:

 

 sudo certbot –nginx -d your_domain -d www.your_domain $

 

این دستور Certbot را با استفاده از پلاگین Nginx اجرا می‌کند. همچنین، از -d برای تعیین دامنه‌هایی استفاده کنیم که می‌خواهیم گواهی SSL برای آن‌ها معتبر باشد.

اگر برای اولین‌بار است که از Certbot استفاده می‌کنید، از شما خواسته می‌شود که آدرس ایمیلی را وارد و با شرایط خدمات موافقت کنید. بعد از انجام این کار، Certbot با سرور Let’s Encrypt ارتباط برقرار و سپس روندی را ایجاد می‌کند تا مطمئن شود که کنترل کامل دامنه‌ای را در دست دارید که درخواست دریافت گواهی SSL برای آن داده‌اید.

درصورتی‌که این روند موفقیت‌آمیز باشد، شما باید تعیین کنید که چطور می‌خواهید تنظیمات HTTPS خود را پیکربندی کنید:

 

Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
——————————————————————————-
 ۱No redirect – Make no further changes to the webserver configuration
 ۲Redirect – Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you‘re confident your site works on HTTPS. You can undo this
change by editing your web server’s configuration.
——————————————————————————-
:Select the appropriate number [۱–۲] then [enter] (press ‘c’ to cancel)

روش پیکربندی تنظیمات HTTPS را با تایپ یک عدد (۱ یا ۲) انتخاب کنید و سپس کلید Enter را فشار دهید. در این‌ صورت، پیکربندی به‌روزرسانی و Nginx نیز برای استفاده از تنظیمات جدید مجدداً بارگیری می‌شود.

در‌نهایت، روند عملیاتی Certbot با نمایش پیغامی به‌پایان خواهد رسید که به شما می‌گوید این فرایند موفقیت‌آمیز بوده است و گواهی‌های موردنیاز شما در کجا ذخیره شده‌اند.

 

 

بدین‌ترتیب، گواهی‌های شما دانلود و نصب و Load خواهند شد. حالا وب‌سایت خود را با استفاده از پروتکل https باز و به نشانگر امنیتی قرار‌گرفته در ابتدای URL وب‌سایت توجه کنید. اگر آیکون قفلی که معمولاً به رنگ سبز نشان داده می‌شود، در ابتدای URL قرار گرفته باشد، یعنی این فرایند به‌درستی انجام شده و حالا وب‌سایتتان ایمن است. همچنین، درصورتی‌که سرور خود را با استفاده از SSL Labs آزمایش کنید، درجه A را دریافت خواهید کرد. حالا همه‌چیز مرتب است؛ اما اجازه دهید به‌عنوان آخرین قدم، روند تمدید گواهی را نیز امتحان کنیم.

 

گام پنجم: تأیید تمدید خودکار گواهی با Certbot

 

گواهینامه‌های SSL صادر‌شده Let’s Encrypt فقط ۹۰ روز اعتبار دارند و پس‌از‌آن باید آن را تمدید کنید. در این مقاله آموزشی از بلاگ پارس پک، بسته Certbot نصب‌شده با افزودن اسکریپت تمدید /etc/cron.d. این کار را به‌طورخودکار برایتان انجام خواهد داد. روش کار نیز بدین‌ترتیب است که این اسکریپت دو بار در طول روز اجرا می‌شود و به‌صورت کاملاً خودکار گواهی‌هایی را تمدید می‌کند که تاریخ انقضای آن‌ها کمتر از ۳۰ روز باشد.

 

برای امتحان این اسکریپت، می‌توانید از دستور زیر استفاده کنید:

 

 

 sudo certbot renew –dry-run $

 

درصورتی‌که پس از اجرای این دستور هیچ خطایی برایتان به‌نمایش درنیامد، یعنی همه‌چیز درست است و Certbot درصورت لزوم، گواهی شما را تمدید و Nginx را مجدداً بارگیری می‌کند تا تغییرات مدنظر اِعمال شود. اگر فرایند تمدید خودکار گواهی SSL ناموفق باشد، پیغامی به آدرس ایمیلتان ارسال و به شما هشدار داده خواهد شد که گواهی SSL در حال انقضاست.

 

نتیجه گیری

 

استفاده از پروتکل HTTPS برای ایمن‌سازی وب‌سایت از‌جمله نکات مهمی است که هر وب‌سایتی باید به آن توجه کند. این کار با استفاده از نصب گواهی SSL معتبر روی سرور انجام می‌شود. در این مقاله  نحوه ایمن‌سازی سرور با توزیع Debian 10 را توضیح دادیم. این روند شامل نصب Certbot، دریافت گواهی SSL و نصب آن و نحوه فعال‌سازی تمدید خودکار گواهی SSL است.

 

امیدوارم که از این آموزش لذت برده باشد.

 

 

 

 

 

 

 

 

۲۴ بهمن ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/install-lets-encrypt-on-nginx-ubuntu-20-04.jpg 900 2000 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-13 10:14:182023-02-13 10:17:06ایمن سازی Nginx در Debian 10

آموزش کامپایل و اجرای برنامه های C و ++C در لینوکس

لینوکس, مقالات

کامپایل برنامه های C و C++ در لینوکس بسیار ساده است، در این مقاله روش اجرای نرم افزار های C و C++ در سیستم عامل لینوکس را به شما عزیزان آموزش خواهیم داد، همراه ما باشید.

 

کامپایل برنامه های C و C++ در لینوکس

 

Compilation برنامه های C و C++ در لینوکس بسیار ساده است، در این مقاله روش اجرای نرم افزار های C و ++C در سیستم عامل لینوکس را به شما عزیزان آموزش خواهیم داد

در اینجا، از دستورات “gcc” و “++g” موجود در GCC (مجموعه کامپایلر GNU) برای کامپایل کردن برنامه C یا C++ استفاده شده است:

  • gcc : کامپایلر GNU C از GCC است.
  • ++g : کامپایلر C++ GNU از GCC است.

 

نصب ابزار های توسعه

 

برای اجرای یک برنامه C، شما باید بسته‌های ابزارهای توسعه را روی سیستم لینوکس خود نصب کرده باشید.

برای نصب بسته‌های ابزارهای توسعه، براساس نوع سیستم عامل خود یکی از دستورات زیر را اجرا نمایید.

 

sudo yum groupinstall “Development Tools” ## Redhat based systems
sudo apt-get install build-essential ## Debian based systems

 

ایجاد یک نمونه برنامه C

 

برنامه Hello word را که به زبان C نوشته شده است، در نظر بگیرید.

یک فایل جدید در سیستم خود به صورت زیر ایجاد کنید:

 

vim helloworld.c

 

محتوای این برنامه را به صورت زیر وارد نمایید:

 

include#
()int main
}
;printf(“Hello World!”)
;return 0
{

 

اجرا و کامپایل برنامه های C و ++C در لینوکس

برای کامپایل برنامه hello world بالا، می‌توانید از کامپایلر GNU C به صورت زیر استفاده نمایید:

 

gcc helloworld.c -o hello

 

چنانچه برنامه شما به زبان C++ است، از دستور زیر می‌توانید برای استفاده از کامپایلر ++C استفاده کنید.

 

g++ helloworld.c -o hello

 

دستورات فوق یک فایل اجرایی به نام hello در دایرکتوری کنونی شما ایجاد می‌کند.

 

 

شما می‌توانید آن فایل را مستقیماً مشابه دستورات دیگر اجرا نمایید.

hello/.

 

همچنین می‌توانید فایل را در دایرکتوری bin در مسیر usr/local/bin/ کپی کنید تا در سطح وسیع سیستم در دسترس باشد.

 

 

امتحان یک نمونه برنامه دیگر به زبان C

 

بیایید برنامه C دیگری را با ورودی کاربر امتحان کنیم.

به‌عنوان‌مثال، برنامه‌ای را در نظر بگیرید که دو عدد صحیح از کاربر دریافت کرده و مجموع آن‌ها را محاسبه می‌نماید.

 

include#
()int main
}

;int i, j, sum

;scanf(“Enter 1’st integer: %d”, &i)
;scanf(“Enter 2’nd integer: %d”, &j)

;sum = i + j

;printf(“Sum is: %d\n”, sum)
;return 0
{

 

 

اکنون به صورت زیر می‌توانید این برنامه را کامپایل کرده و اجرا نمایید.

 

gcc sum.c -o sum
sum/.

 

خروجی برنامه به صورت زیر است (عدد اول و دوم را وارد کنید.)

 

Enter 1’st integer :10
Enter 2’nd integer :12
Sum is :22

ممنون از اینکه تا پایان این آموزش با ما همراه بودید.

 

 

 

 

 

۲۱ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/01/csspoint101-1.png 600 900 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-01-11 10:46:512023-01-11 10:46:51آموزش کامپایل و اجرای برنامه های C و ++C در لینوکس

آموزش تنظیمات شبکه در لینوکس اوبونتو

لینوکس, مقالات

تنظیمات شبکه در لینوکس اوبونتو

 

اوبونتو  از NetworkManager برای مدیریت تنظیمات شبکه استفاده می کند. می توانید یک IP ثابت را از محیط گرافیکی یا در خط فرمان پیکربندی کنید. در این آموزش ما یک آدرس IP ثابت با استفاده ار ترمینال انجام میدیم.

Netplan که توسط Canonical توسعه یافته است، یک ابزار خط فرمان است که برای پیکربندی شبکه در توزیع های جدید اوبونتو استفاده می شود. Netplan از فایل های YAML برای پیکربندی رابط های شبکه استفاده می کند و شما می توانید یک اینترفیس را با استفاده از پروتکل DHCP یا یا IP Static تنظیم کنید.

 

YAML چیست

 

YAML یک زبان ترتیبی داده است که اولین بار توسط کلارک ایوانز در سال ۲۰۰۱ توسعه یافت. این زبان، مانند زبان XML، برای سازماندهی و توصیف اطلاعات استفاده می شود. YAML بر اساس یک قالب محبوب دیگر به نام JSON است. مانند زبان پایتون، YAML از تورفتگی برای تعیین بلوک ها استفاده می کند. YAML مخفف YAML Ain’t Markup Language نیست و به تفاوت بین این زبان و زبانی مانند HTML اشاره دارد. فرمت فایل های نوشته شده به این زبان .yaml است.

تنظیمات شبکه در اوبونتو ۱۶ و نسخه های قدیمی تر به سادگی با ویرایش اینترفیس انجام میشد. اما از اوبونتو ۱۷، یک سیستم پیکربندی شبکه جدید به نام NetPlan ایجاد شد. در این مقاله، ما قصد داریم شبکه سرور اوبونتو  را با دستور Netplan ویرایش کنیم.

 

 

تنظیم شبکه Static IP در لینوکس اوبونتو Ubuntu

 

ترمینال را باز کرده و به آدرس /etc/netplan بروید. یک فایل پیکربندی YAML خواهید یافت که از آن برای پیکربندی آدرس IP استفاده خواهید کرد. در سیستم من این فایل به اسم YAML 01-network-manager-all.yaml است و آنرا باز میکنم

در کد زیر در جلوی مقدار addresses، آی پی سرور یا سیستم ما همراه با سابنت قرار داره، در مقدار gateway4 آی پی گیت وی و همچنین در addresses، دی ان اس ها قرار دارند.

 

:network
version: 2
:ethernets
:enp0s3
dhcp4: false
addresses: [192.168.2.100/24]
gateway4: 192.168.2.1
:nameservers
addresses: [8.8.8.8, 8.8.4.4]

 

بعد از انجام تغییرات، فایل را ذخیره کرده و دستور netplan زیر را برای ذخیره تغییرات اجرا کنید.

 

sudo netplan apply

 

تنظیم شبکه Static IP در اوبونتو Ubuntu 16

 

برای تنظیمات شبکه در ابونتو ۱۶ فایل اینترفیس شبکه را باز میکنیم

 

nano /etc/network/interfaces

 

و محتویات زیر از اسم اینترفیس تا address که عدد IP کامپیوتر یا سرور ما است را مشاهده میکنیم.

 

# Interface Name #
auto enp0s3
# Static IP Address #
iface enp0s3 inet static
# IP Address #
address 192.168.1.10
# Netmask #
netmask 255.255.255.0
# Gateway #
gateway 192.168.1.1
# DNS Servers #
dns-nameservers 192.168.1.1
dns-nameservers 8.8.8.8
# Search Domain #
dns-search blue.local

 

بعد از انجام تغییرات با دستور زیر کارت شبکه را ریستارت میکنیم

 

service networking restart

 

نکات تنظیمات شبکه :

برای مشاهده اینترفیس کارت شبکه و اطلاعات شبکه از دستور زیر در ترمینال لینوکس استفاده میکنیم

 

ifconfig
یا
ip a

 

خروجی به شکل زیر است:

 

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fd50:1d9:9fe3:1400:a00:27ff:fe36:34ae prefixlen 64 scopeid 0x0
inet6 fe80::a00:27ff:fe36:34ae prefixlen 64 scopeid 0x20
ether 08:00:27:36:34:ae txqueuelen 1000 (Ethernet)
RX packets 107 bytes 10918 (10.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 165 bytes 22379 (21.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 824 bytes 66440 (64.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 824 bytes 66440 (64.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

 

برای تنظیم DNS شبکه فایل resolv.conf را باید ویرایش کنیم و DNS های دلخواه را وارد کنیم.

 

/etc/resolv.conf

 

 

امیدوارم از این آموزش لذت برده باشید.

 

۲۱ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/01/Linux-Networking-Commands.png 500 1200 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-01-11 10:11:422023-02-07 12:03:41آموزش تنظیمات شبکه در لینوکس اوبونتو

نحوه زیپ کردن فایل و فولدر در لینوکس

لینوکس, مقالات

فرمت ZIP معروف‌ترین فرمت آرشیو در سیستم عامل‌های امروزی است و در واقع ویندوز، مک‌او‌اس و لینوکس از این فرمت کاملاً پشتیبانی می‌کنند و بدون استفاده از اپلیکیشن جانبی می‌توان فایل و فولدرها را فشرده و زیپ کرد و فایل‌های زیپ را از حالت فشرده خارج کرد.

در توزیعات مختلف Linux می‌توانید با فرمان zip و از طریق ترمینال، فایل و فولدرها را فشرده کنید و با فرمت ZIP ذخیره کنید. در ادامه به روش کار با این فرمان می‌پردازیم.

 

محبوبیت ZIP و مزیت اصلی آن نسبت به فرمت‌های دیگر

 

نرم‌افزارهای زیادی برای فشرده‌سازی و آرشیو کردن فولدرهای حاوی فایل وجود دارد و به همین ترتیب تعداد زیادی فرمت آرشیو در ویندوز، مک‌او‌اس و لینوکس و همین‌طور اندروید و iOS مورد استفاده قرار می‌گیرد اما بسیاری از فرمت‌ها بدون نصب کردن نرم‌افزار اضافی، قابلیت اکسترکت کردن ندارند.

 

فرمت زیپ یکی از فرمت‌هایی است که به خوبی در سیستم عامل‌های مختلف پشتیبانی می‌شود. لذا کاربرد بسیار وسیعی و به محبوب‌ترین فرمت آرشیو تبدیل شده است.

 

مزیت اصلی فرمت ZIP موضوع فشرده‌سازی نیست چرا که فرمت‌های زیادی از نظر فشرده‌سازی و حتی سرعت فشرده‌سازی، وضعیت بهتری دارند. به عنوان مثال tar.gz و tar.bz2 از نظر میزان فشرده‌سازی، بهتر از ZIP هستند اما مثل زیپ در هر سیستم عاملی به خوبی پشتیبانی نمی‌شوند و لذا دامنه‌ی کاربری محدودتر است.

 

ابزارهای Zip و Unzip و غیره در لینوکس

 

در Linux برای زیپ کردن و از حالت فشرده خارج کردن فایل ZIP از ابزارهای zip‌ و unzip استفاده می‌شود و در کنار این ابزارها، چند ابزار دیگر برای چک کردن محتویات فایل زیپ و پسورد گذاشتن روی آن و همین‌طور تکه‌تکه کردن فایل زیپ وجود دارد که در مجالی دیگر به معرفی این ابزارها و دستورات مربوطه می‌پردازیم.

 

در برخی توزیعات لینوکس ممکن است تمام ابزارهای موردبحث به صورت پیش‌فرض نصب نشده باشد اما خوشبختانه دانلود و نصب این اپلیکیشن‌ها بسیار ساده است.

در Manjaro ۱۸.۰۴ نیز همگی ابزارها موجود است. در لینوکس Fedora  یا CentOS صرفاً دو ابزار zip و unzip به صورت پیش‌فرض نصب شده و ابزارهای کمکی دیگر موجود نیست.

 

و اما روش نصب کردن ابزارهای اضافی: در فدورا  با اجرا کردن دستور زیر در ترمینال، می‌توانید این اپلیکیشن‌ها را نصب کنید:

 

sudo dnf install perl-IO-Compress

 

آموزش ایجاد فایل زیپ در لینوکس با فرمان zip

 

برای ایجاد فایل زیپ، می‌بایست پس از دستور zip نام فایل زیپ را با یا بدون پسوند zip تایپ کنید و در ادامه نام فایل یا فایل‌هایی که می‌بایست در فایل زیپ فشرده شود را تایپ کنید.

 

این دستور هم مثل اغلب دستورها از Wildcard پشتیبانی می‌کند و در واقع می‌توانید از عبارت‌های منظم برای نوشتن نام گروهی از فایل‌ها استفاده کنید. به عنوان مثال اگر بخواهید تمام فایل‌هایی که پسوندشان .c و همین‌طور .h است و در فولدر کاری فعلی قرار دارند را در فایلی به اسم source_code به صورت فشرده قرار بدهید، می‌توانید دستور زیر را اجرا کنید:

zip source_code *.c *.h

 

پسوند zip نیز به صورت خودکار در انتهای نام فایل آرشیو اضافه می‌شود. می‌توانید این موضوع را با اجرا کردن فرمان زیر چک کنید:

ls -l source_code.zip

 

اگر به نمایش گزارش حین زیپ کردن فایل‌ها نیاز ندارید، از آپشن -q که مخفف quiet است استفاده کنید. در مورد مثال قبلی این آپشن را پس از فرمان zip اضافه کنید:

zip -q source_code *.c *.h

 

برای زیپ کردن فولدرها هم می‌توانید از دستور zip استفاده کنید. کافی است آپشن -r که مخفف recursive است را اضافه کنید و همین‌طور نام فولدر موردنظر را مثل نام فایل یا فایل‌ها تایپ کنید. در این صورت تمام فولدرها و فولدرهای زیرمجموعه‌شان در فایل آرشیو قرار می‌گیرند.

به عنوان مثال اگر دستور زیر را تایپ کنید:

 

zip -r -q source_code archive/ *.c *.h

و Enter را فشار دهید، علاوه بر فایل‌هایی که پسوند c و h دارند، محتویات فولدر archive نیز زیپ می‌شود.

 

دستور زیر هم تمام محتویات فولدر work را به صورت یک فایل زیپ فشرده می‌کند:

zip -r -q source_code work

 

تنظیم کردن میزان فشرده‌سازی zip در لینوکس

 

برای تنظیم کردن میزان فشرده‌سازی می‌توانید یکی از عددهای ۰ الی ۹ را وارد کنید. عدد ۹ معادل بالاترین سطح فشرده‌سازی است و طبعاً پردازش طولانی‌تر و حجم فایل نهایی کمتر خواهد بود. عدد ۰ نیز موجب ایجاد آرشیو بدون فشرده‌سازی می‌شود! حالت پیش‌فرض عدد ۶ است که توازنی بین سرعت فشرده‌سازی و میزان فشرده‌سازی برقرار می‌کند.

میزان فشرده‌سازی را پس از خط فاصله و پس از دستور zip‌ تایپ کنید. مثل نمونه‌ی زیر:

 

zip -0 -r -q source_code work

اگر عدد ۶ مطلوب باشد، نیازی به وارد کردن -۶‌ نیست چرا که این عدد حالت پیش‌فرض است.

 

و حالت فشرده‌سازی حداکثر با نمونه دستور زیر انجام می‌شود:

zip -9 -r -q source_code work

 

 

ممنون از اینکه تا پایان این آموزش با ما همراه بودید.

۱۷ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/01/linux-zip.png 1200 2400 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-01-07 19:19:502023-01-07 19:19:50نحوه زیپ کردن فایل و فولدر در لینوکس

نحوه اتصال SSH در سرور لینوکس

لینوکس, مقالات

در این مقاله قصد داریم نحوه اتصال به SSH درسرور لینوکس را شرح دهیم پس با ما همراه باشید. دسترسی به سیستم‌ها از راه دور از مدت‌ها پیش به یک ضرورت تبدیل شد و در حال حاضر به سختی می‌توان تصور کرد که نتوانیم کنترل کامپیوترها را از راه دور به دست بگیریم. بسته به سیستم عاملی که در حال استفاده از آن هستید، روش‌های زیادی برای برقراری ارتباط با سیستم‌های راه دور وجود دارد، اما دو مورد از پرکاربرد‌ترین این پروتکل‌ها عبارتند از:

  • Secure Shell یا SSH برای سیستم‌های تحت لینوکس
  • Protocol Remote Desktop یا RDP برای سیستم‌های تحت ویندوز

هر دو این پروتکل‌ها از برنامه‌های کلاینت-سروری برای برقراری ارتباط از راه دور استفاده می‌کنند. این ابزارها به شما امکان دسترسی و مدیریت از راه دور به سایر کامپیوتر‌ها، انتقال فایل و تقریباً انجام هر کاری را که بطور معمول می‌توانستید به صورت فیزیکی در مقابل دستگاه انجام دهید، را به صورت مجازی میسر می‌کنند.

 

 

پیش نیازها جهت اتصال به SSH در سرور لینوکس

قبل از اینکه بتوانید یک ارتباط ایمن از طریق پروتکل ریموت دسکتاپ با یک سیستم از راه دور برقرار کنید، چندین پیش شرط وجود دارد:

  • سیستم راه دور باید همیشه روشن و به شبکه متصل باشد.
  • برنامه‌های سمت کلاینت و سرور باید نصب و فعال شده باشند.
  • باید آدرس IP یا نام دستگاه راه دور مورد نظر را برای برقراری ارتباط در اختیار داشته باشید.
  • باید مجوزهای لازم برای دسترسی به سیستم راه دور را داشته باشید.
  • در تنظیمات فایروال، باید مجوز ارتباط از راه دور فعال شده باشد.

SSH چیست؟

Secure Shell که گاهاً Secure Socket Shell نیز نامیده می‌شود، پروتکلی است که به شما امکان می‌دهد با استفاده از رابط کاربری متنی و دستورات، به طور ایمن به سیستم راه دور یا سرور متصل شوید. با برقراری اتصال امن SSH، یک shell session باز می‌شود و شما قادر خواهید بود با تایپ دستورات در کلاینت و سیستم لوکال خود، در سرور تغییرات ایجاد کنید.

مدیران سیستم و شبکه و همچنین افرادی که نیاز به مدیریت سیستم از راه دور به روشی کاملاً ایمن دارند، بیشترین استفاده را از این پروتکل می‌کنند.

SSH چگونه کار می کند؟

برای اتصال به SSH درسرور لینوکس به دو مولفه نیاز دارید: یک مولفه در سمت کلاینت و یک مولفه در سمت سرور. یک client SSH برنامه ‌ای است که روی سیستم نصب می‌کنید و از آن برای ارتباط با سیستم یا سرور دیگر استفاده خواهید کرد. سیستم کلاینت از اطلاعات ارائه شده جهت لاگین به هاست راه دور و شروع یک اتصال استفاده می‌کند و در صورت تایید اعتبار و احراز هویت، اتصال رمزگذاری شده برقرار می‌شود.

 

در سمت سرور نیز مولفه ای به نام SSH daemon وجود دارد که به طور پیوسته در حال گوش کردن به درخواست‌های اتصال از سمت کلاینت‌های احتمالی بر روی یک پورت TCP/IP خاص است. هنگامی که کلاینت شروع به برقراری ارتباط می‌کند، SSH daemon نیز با کمک نرم افزار و نسخه‌های پروتکل مورد پشتیبانی خود نسبت به پاسخ دهی اقدام کرده و داده‌های شناسایی و احراز هویتی خود را مبادله می‌کند. اگر اعتبارنامه‌های ارائه شده مورد تایید باشد، SSH یک  session جدیدی را برای برقراری ارتباط و باز کردن محیط کاری ایجاد می‌کند. نسخه پیش فرض پروتکل SSH برای ارتباط بین سرور و کلاینت SSH نسخه ۲ است.

چگونه اتصال به SSH درسرور لینوکس را فعال کنیم؟

جهت اتصال به SSH درسرور لینوکس هم به یک کلاینت و هم به یک سرور احتیاج دارید، ابتدا باید مطمئن شوید که برنامه مورد نظر هم بر روی سیستم لوکال و هم بر روی سیستم راه دور نصب شده است. یکی از متداول‌ترین ابزار‌های متن باز SSH (که به طور گسترده برای توزیع‌های لینوکس استفاده می‌شود) OpenSSH است.

 

نصب OpenSSH نسبتاً ساده است. این امر مستلزم دسترسی به ترمینال هم در سمت سرور و هم در سیستمی دارد که از آن برای برقراری اتصال استفاده می‌کنید. توجه داشته باشید که SSH به صورت پیش فرض در سرور اوبونتو نصب نیست.

 

دستورات SSH لینوکس

راهنمای نصب Client OpenSSH

قبل از شروع به نصب SSH در سمت کلاینت، ابتدا مطمئن شوید که این برنامه از قبل نصب نشده است. در بسیاری از توزیع‌های لینوکس، client SSH از قبل نصب شده است. برای سیستم‌های تحت ویندوز نیز می‌توانید از نرم افزار PuTTYیا هر کلاینت دلخواه دیگر جهت دسترسی به سرور استفاده کنید.

 

 

برای بررسی اینکه آیا نرم افزار کلاینت از قبل در سیستم تحت لینوکس موجود است یا خیر، باید:

۱- صفحه ترمینال را برای اجرای SSH باز کنید. می‌توانید کلمه “Terminal” را جستجو کنید یا کلید‌هایCTRL + ALT + T را روی صفحه کلید خود فشار دهید.

۲- دستور ssh رادر ترمینال تایپ کنید و کلید Enter را فشار دهید.

۳- اگر کلاینت از قبل نصب شده باشد، پیامی مشابه شکل زیر دریافت خواهید کرد:

username@host:~$ ssh

usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]

$~:username@host

 

این بدان معنی است که شما آماده برقراری ارتباط از راه دور به یک سیستم فیزیکی یا مجازی هستید. در غیر این صورت باید OpenSSH client را نصب کنید:

۱- برای نصب OpenSSH client بر روی سیستم خود دستور زیر را اجرا کنید: sudo apt-get install openssh -client

۲- در صورت نیاز، رمز عبور superuser را وارد کنید.

۳- برای تکمیل فرایند نصب، کلید Enter را بفشارید.

اکنون می‌توانید با استفاده از برنامه SSH در صورت در اختیار داشتن نام و آدرس IP سیستم راه دور و اطلاعات کاربری و مجوز‌های لازم، وارد هر دستگاهی شوید.

 

راهنمای نصب OpenSSH Server

برای پذیرش برقراری ارتباط SSH از راه دور یا جهت اتصال به SSH درسرور لینوکس، باید ابزار‌های لازم SSH در سیستم سرور نیز نصب شده باشد.

اگر می‌خواهید وجود نرم افزار OpenSSH server را در سیستم تحت اوبونتو راه دور که قصد برقراری ارتباط SSH با آن را دارید بررسی کنید، می‌توانید به صورت لوکال و به حالت لوکال هاست به آن متصل شوید:

۱- ترمینال را در سرور باز کنید. می‌توانید “Terminal” را جستجو کنید یا کلید‌های ترکیبی CTRL + ALT + T رادر صفحه کلید خود فشار دهید.

۲- در صفحه ترمینال دستور ssh localhost راتایپ کنید و کلید enter را بفشارید.

۳- برای سیستم‌های فاقد SSH server، با پیامی به صورت زیر مواجه خواهید شد:

username@host:~$ ssh localhost

$~:ssh: connect to host localhost port 22: Connection refused username@host

 

 

در صورت دریافت پیام فوق باید OpenSSH server را نصب کنید. بدین منظور ابتدا ترمینال را باز بگذارید و:

۱- برای نصب SSH server دستور زیر را اجرا کنید:

sudo apt-get install openssh-server ii

 

۲- درصورت نیاز، رمز عبور superuser خود را وارد کنید.

۳- سپس با فشردن کلید‌های Enter و Y پس از اعلام فضای آزاد در دیسک، اقدام به ادامه فرایند نصب کنید.

فایل‌های پشتیبانی مورد نیاز نصب می‌شوند و سپس می‌توانید با تایپ این دستور بررسی کنید که آیا SSH server روی سیستم شما در حال اجرا است یا خیر؟

sudo service ssh status

 

در صورتی که سرویس SSH به درستی در حال اجرا باشد، پاسخ مشابه زیر در ترمینال قابل مشاهده خواهد بود:

 

username@host:-$ sudo service ssh status
ssh.service – OpenBSD Secure Shell server •
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
Active: active (running) since Fr 2018-03-12 10:53:44 CET; 1min 22s ago Process: 1174 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCES

Main PID: 3165 (sshd)

 

روش دیگر برای آزمایش اینکه آیا OpenSSH server به درستی نصب شده و آماده پذیرش و پاسخگویی به درخواست‌های برقراری ارتباط هست یا خیر؟ اجرای دوباره دستور ssh localhost در ترمینال است. وقتی برای اولین بار این دستور را اجرا می‌کنید، پاسخ دریافت شده مشابه متن زیر خواهد بود:

 

username@host:~$ ssh localhost

The authenticity of host ‘localhost (127.0.0.1)’ can’t be established. ECDSA key fingerprint is SHA256:9jqmhko9Yo1EQAS1QeNy9xKceHFG5F8W6kp7EX9U3Rs. Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘localhost’ (ECDSA) to the list of known hosts.

$~:username@host

 

برای ادامه حرف y یا کلمه yes را وارد کنید.

تبریک، شما موفق شدید سرور خود را تنظیم کنید تا پذیرای درخواست اتصال SSH از سیستم‌های دیگر با استفاده از SSH client باشد.

 

نکته:

اکنون می‌توانید فایل تنظیمات SSH daemon را ویرایش کنید، به عنوان مثال می‌توانید پورت پیش فرض ارتباط SSH را تغییر دهید. بدین منظور در ترمینال، دستور زیر را اجرا کنید:

sudo nano /etc/ssh/sshd_config

 

فایل تنظیمات در ویرایشگر مورد نظر شما باز خواهد شد. در این مثال ما از ویرایشگر Nano استفاده کردیم.

در صورت تمایل یا نیاز به نصب Nano، این دستور را اجرا کنید:

sudo apt-get install nano

 

لطفا توجه داشته باشید که در صورت ایجاد هر گونه تغییر در فایل sshd_config باید سرویس SSH را با اجرای دستور زیر، هر بار مجدداً راه اندازی کنید:

sudo service ssh restart

 

راهنمای اتصال به SSH درسرور لینوکس

حال که هم در کلاینت و هم در سرور OpenSSH را بر روی سیستم‌های مورد نظر خود نصب کرده اید می‌توانید با سرورهای خود یک ارتباط از راه دور امن ایجاد کنید. برای انجام این کار:

۱- ترمینال SSH را روی سیستم خود باز کنید و دستور زیر را اجرا کنید:

ssh your_username@host_ip_address

 

 

اگر نام کاربری موجود در سیستم لوکال شما با نام موجود در سروری که می‌خواهید به آن متصل شوید، مطابقت داشته باشد، می‌توانید دستور زیر را تایپ کنید:

ssh host_ip_address

 

و کلید Enter را بزنید.

۲- رمز عبور خود راوارد کرده و کلید Enter را بزنید. توجه داشته باشید که در هنگام تایپ رمز عبور، هیچ گونه تغییری در صفحه نمایش مشاهده نخواهید کرد. اگر قصد دارید رمز عبور را با copy و paste کردن وارد کنید، مطمئن شوید که آن را به صورت امن نگهداری کرده است و در فایل‌های متنی ذخیره نمی‌کنید.

۳- هنگامی که برای اولین بار به یک سرور متصل می‌شوید، از شما سوال می‌شود که آیا می‌خواهید به اتصال خود ادامه دهید یا خیر؟ فقط کلمه yes را تایپ کنید و کلید Enter رابزنید. این پیام فقط در اولین اقدام به اتصال ظاهر می‌شود، زیرا سرور راه دور در سیستم لوکال شما شناسایی نشده است.

۴- اکنون یک کلید انگشت نگاری ECDSA اضافه شده است و شما به سرور راه دور متصل هستید.

 

اگر سیستمی که می‌خواهید از راه دور به آن متصل شوید در شبکه لوکال شما واقع است، بهتر است به جای IP عمومی از IP اختصاصی استفاده کنید. در غیر این صورت فقط باید از آدرس IP عمومی استفاده کنید. علاوه بر این باید اطمینان حاصل کنید که پورت TCP درست به درخواست‌های برقراری اتصال OpenSSH گوش می‌دهد و تنظیمات port forwarding نیز صحیح هستند. اگر این تنظیمات را در فایل sshd_config تغییر نداده باشید، پورت پیش فرض ۲۲ است. شما همچنین می‌توانید شماره پورت را بعد از آدرس IP هاست اضافه کنید.

در اینجا مثالی از درخواست اتصال با استفاده از OpenSSH client نمایش داده شده است که در آن شماره پورت را نیز مشخص خواهیم کرد:

 

username@machine:~$ ssh phoenixnap@185.52.53.222 –p7654 phoenixnap@185.52.53.222’s password

The authenticity of host ‘185.52.53.222 (185.52.53.222)’ can’t be established. ECDSA key fingerprint is SHA256:9lyrpzo5Yo1EQAS2QeHy9xKceHFH8F8W6kp7EX2O3Ps. Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘ 185.52.53.222’ (ECDSA) to the list of known hosts.

$~:username@host

اکنون می‌توانید یک سیستم راه دور را با استفاده از ترمینال خود مدیریت و کنترل کنید. اگر در اتصال به سرور راه دور مشکلی دارید، مطمئن شوید که:

  • آدرس IP سیستم راه دور به درستی وارد شده است.
  • پورتی که SSH daemon در آن در حال گوش دادن به درخواست است، توسط فایروال مسدود نشده یا به اشتباه هدایت نمی‌شود.
  • نام کاربری و رمز عبور شما صحیح است.
  • نرم افزار SSH به درستی نصب شده است.

برای اتصال به سرور لینوکس روشهای متعددی وجود دارد که روش اتصال بر اساس نوع سیستم عامل مورد استفاده متفاوت است. با توجه به اینکه اغلب ما از سیستم عامل ویندوز استفاده می‌کنیم به همین جهت می‌بایست از نرم افزار PuTTY برای وصل شدن به سرور لینوکس کمک بگیریم. اگر چنانچه از سیستم عامل لینوکس یا توزیع‌های آن استفاده می‌کنید، به راحتی می‌توانید توسط ابزار Terminal به سرور لینوکس خود وصل شوید، که ما در این مقاله مراحل اتصال به SSH درسرور لینوکس را شرح دادیم. چنانچه در مورد نحوه اتصال به راهنمایی بیشتری نیاز داشتید با تیم فنی ویستانت تماس حاصل کنید تا مشاوره بگیرید.

 

۱۱ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/01/how-to-connect-remote-server-ssh.png 474 880 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-01-01 09:37:212023-02-13 10:18:58نحوه اتصال SSH در سرور لینوکس

آموزش راه اندازی jitsi بر روی سرور ubuntu

لینوکس, مقالات

در این آموزش قصد داریم نحوه راه اندازی برنامه کنفرانس ویدیویی جیت سی را به شما آموزش دهیم پس با ما همراه باشید.

Jitsi Meet یک پلت فرم منبع باز است که می‌توان با آن به سرعت یک جلسه آنلاین تشکیل داد.
Jitsi Meet قابلیت دیگری نیز دارد مانند اپلیکیشن‌های مخصوص آی‌اواس و اندروید، امکان پخش آنلاین جلسه از طریق یوتیوب لایو، قابلیت قفل کردن اتاق جلسه با تعیین رمز ورود و ….

 

ما اینجا یک سرور Ubuntu نصب کردیم و با ۲ دستور زیر ابتدا پکیج ها و مخازن سرور را آپدیت می کنیم.

sudo apt update

sudo apt upgrade

 

نکته : در صورتی که کاربر روت هستید نیاز به نوشتن sudo  نمی باشد.

 

در مرحله بعد به سراغ نصب Docker می رویم.

 

داکر (Docker) یک پلتفرم متن باز است که بر مبنای سیستم عامل لینوکس راه‌اندازی شده است.  در واقع داکر ابزاری است

که می‌تواند فرایند ایجاد، پیاده سازی و اجرای برنامه‌ها را با استفاده از Container ها بسیار ساده کند.و همچنین Docker، نوعی ماشین مجازی است و این امکان را برای برنامه‌ها فراهم می‌کند تا از یک Kernel واحد لینوکس استفاده کرده و از امکاناتی بهره مند شوند که در سیستم عامل میزبان ارائه نشده است. به این ترتیب می‌توانند به صورت مستقل از پیش نیازها و امکانات مازاد بهره برداری کنند. این موضوع باعث می‌شود سرعت و عملکرد برنامه بهبود قابل ملاحظه‌ای پیدا کند و حجم آن نیز کاهش یابد.

در مرحله بعد به سراغ نصب Docker می رویم با دستور زیر:

sudo apt install docker.io

 

 

با دستور زیر کاربر فعلی را به گروه docker اضافه میکنیم.

sudo usermod -aG docker ${USER}

 

بعد از دستور زیر باید رمز عبور کاربر فعلی را وارد کنید.

su – ${USER}

 

با دستور زیر میایم docker-compose را نصب میکنیم که تا چند دقیقه دیگه بهش نیاز داریم.

sudo apt install docker-compose

 

 

تا اینجا کار ما فقط Docker را نصب کردیم حالا به سراغ نصب jitsi میریم.
دستورات زیر را به ترتیب وارد کنید.

 

git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet

 

cp env.example .env

 

gen-passwords.sh/.

 

mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

 

 

دستور بعدی که می خواهیم وارد کنیم نیاز هستش که IP سرور به خارج از ایران تغییر کنه چرا که داکر کشور ایران را تحریم کرده

اگر سرور شما در خارج ایران است که در این زمینه مشکلی ندارید در غیر این صورت با تغییر dns میتوانید مشکل خوذ را برطرف کنید.

 

پس از دستور بالا کافیه آدرس سرور را به همراه پورت ۸۰۰۰ وارد کنید.

 

۸ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2022/12/13.Guia-en-el-uso-de-Jitsi-Meet-1024x576-1.png 576 1024 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2022-12-29 12:58:292022-12-29 12:58:29آموزش راه اندازی jitsi بر روی سرور ubuntu

آموزش نصب FTP Server در لینوکس

لینوکس, مقالات

Ftp چیست؟

ftp مخفف file transfer protocol میباشد. همانطور که از اسمش پیداست ftp برای جابجایی فایل‌ها در بین سیستم‌ها و با استفاده از شبکه استفاده میشود. شما میتوانید با ftp بین اکانت های کامپیوتر و یین کامپیوتر های مختلف فایل بفرستید و هم این کار را در شبکه‌های محلی میتوانید انجام دهید و هم در شبکه اینترنت فایل جابه جا کنید. البته به این موضوع توجه داشته باشید که سایت‌های بسیاری از ftp استفاده میکنند و حجم فایل‌های دریافتی از آ»ها به شدت زیاد است برای همین باید هنگام دانلود کمی منتظر بمانی تا سیستمتان به سرور مورد نظر متصل شود.

 

آدرس ftp مانند آدرس‌های http میباشد و تنها تفاوت آن در در پیشوند آن است مانند:

ftp://exmaple

 

ftp server چیست؟

به صورت کلی ftp server کامپیوتری است که آدرس‌های ftp دارد و برای دریافت درخواست های ftp به صورت اختصاصی تنظیم میشود. حال میخواهیم یک سرور ftp داشته باشیم تا فایل‌هایی را با خانواده و دوستانمان به اشتراک بگذاریم. در اینجا ما از vsftpd استفاده میکنیم. این برنامه یک نرم‌افزار ftp server است که امنیت بسیار بالایی را به شما ارائه میدهد و موارد خطرناک در ftp در آن کاملاً برطرف شده است.

 

نصب vsftpd در توزیع‌های rpm بیس

به راحتی میتوانید با دستور زیر برنامه را نصب کنید

dnf –y install vsftpd

نصب vsftpd در توزیع‌های دبین بیس

sudo apt–get install vsftpd

نصب در توزیع‌های بر پایه آرچ

sudo pacman –S vsftpd

 

کانفیگ کردن سرور

بیشترین تنظیمات و کانفیگ ها در مکان /etc/vsfpd.conf قرار میگیرند. نظم و ترتیب در این فایل بیداد میکند و ما در اینجا دستورات مهم که برای آن به کار می‌رود را بررسی میکنیم.

Man vsftpd.conf

دستور ها و راهنمایی های موجود برای این فایل کانفیگ را به شما نشان خواهد داد

 

فعال کردن آپلودینگ

فلگ write-enable باید به حالت yes در بیاید تا بتوانید در سرور آپلود کنید مانند :

write_enable=YES

 

اجازه کاربران محلی برای log in

برای اینکه به کاربرانی که در /etc/passwd بتوانند در سیستم لاگ این کرده و آپلود داشته باشند از دستور زیر استفاده کنید :

local_enable=YES

لاگ این کرد اشخاص ناشناس

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

 Allow anonymous login #

anonymous_enable=YES
No password is required for an anonymous login (Optional) #
no_anon_password=YES
Maximum transfer rate for an anonymous client in Bytes/second (Optional) #
anon_max_rate=30000
Directory to be used for an anonymous login (Optional) #
anon_root=/example/directory/

 

و در پایان برای تغییرات اینچنین و تغییرات بیشتری که خودتان بوجود می آورید نیاز دارید تا سیستم vsftpd را ریستارت کنید. برای اینکار از دستور زیر استفاده کنید.

sudo systemctl restart vsftpd

 

تمام شد. سرور شما در حال کارکردن و آماده ارسال و دریافت فایل است.

 

 

۷ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2022/12/allthings.how-how-to-set-up-a-ftp-server-on-ubuntu-and-other-linux-systems-ftp-server-ubuntu-759x427-1.jpg 427 759 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2022-12-28 13:34:432022-12-28 13:34:43آموزش نصب FTP Server در لینوکس

آموزش نصب و کانفیگ فایروال Ufw در لینوکس

لینوکس, مقالات

فایروال در لینوکس

فایروال IPTables یکی از محبوب ترین فایروال ها در توزیع های لینوکسی میباشد، اما به واسطه کمی پیچیدگی در نوشتن قوانین برای ترافیک که معمولا باید جزئیات و پارامترهای خاصی را در هنگام ایجاد Rule ها به صورت کامل نوشت. بنابراین فایروال IPTables نمیتواند آن Rule را قبول کند. به واسطه این مشکل و پیچیدگی IPTables یک فایروال کاربر پسند و ساده تر برپایه IPTables تحت عنوان فایروال UFW که مخفف Uncomplicated Firewall میباشد، ارائه شده است.

همانطور که از اسم فایروال UFW پیداست به معنای فایروال بدون پیچیدگی میباشد. به واسطه UFW ما با یک محیط کاربر پسند میتوانیم Rule ها و فرآیند هایمان را به واسطه IPTables انجام دهیم.

 

نصب فایروال UFW

به منظور نصب این فایروال شما میتوانید با نام بسته ufw آن را بر روی تمامی توزیع های لینوکسی نصب کنید.(در این مقاله صرفا بر روی Debian نصب میکنیم ولی فرآیند کار کرد بر روی همه توزیع ها یکسان میباشد)

به واسطه دستور زیر میتوانیم این فایروال را در سیستم خود نصب کنیم.

sudo apt install ufw -y

 

بررسی وضعیت UFW

پس از نصب آن به منظور اطمینان از موفقیت آمیز بودن نصب، دستور زیر را وارد میکنیم:

sudo ufw status verbose

 

خروجی:

Status: inactive

 

در خروجی بالا ما میبینیم که فایروال به صورت غیرفعال (Inactive) میباشد و این موضوع به شکلی است که UFW در ابتدا و به صورت پیش فرض غیرفعال میباشد.

 

قوانین پیشفرض در فایروال UFW

به صورت پیش فرض UFW نیز مانند همه فایروال ها قوانینی را در خود دارد که در ابتدای فعال شدنش از آن ها استفاده میکند. این قوانین پیش فرض به شکلی هستند که اتصالات ورودی و دریافتی را طور کامل رد و قطع میکنند و اتصالات خروجی را میپذیرد.

این به این معنا میباشد که اگر شخصی بخواهد به سیستم و یا سرور مورد نظر دسترسی داشته باشد، نمیتواند اینکار را انجام دهد مگر اینکه شما به صورت دستی Port خاصی را باز کند.

علاوه بر این اگر شما بر روی سیستم و یا سرور خود سرویس خاصی داشته باشید، آن سرویس به راحتی میتواند به بیرون دسترسی داشته باشد.

فایروال پیکربندی UFW در مسیر زیر قرار دارد

etc/default/ufw/

همچنین میتوانید با Syntax زیر این قوانین پیش فرض را تغییر دهید:

<sudo ufw Default <Policy> <Chain

 

 

مفهوم Application Profile در UFW

زمانی که ما یک نرم افزار را با دستور apt نصب میکنیم، یک Application Profile در مسیر زیر ایجاد میشود:

/etc/ufw/applications.d

این Application Profile ها درواقع حاوی اطلاعاتی از سرویس آن نرم افزار و تنظیمات UFW آن میباشد. به واسطه دستور زیر ما توانایی لیست کردن تمامی Application Profile را داریم:

sudo ufw app list

 

خروجی دستور بالا بستگی به پکیج های نصب شده بر روی سیستم شما میباشد و ممکن است با خروجی ما تفاوت داشته باشد:

: Available applications
Dovecot IMAP
Dovecot POP3
Dovecot Secure IMAP
Dovecot Secure POP3
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission

 

برای اینکه بتوانیم خروجی کامل تری از سرویس و نرم افزار مورد نظر به دست بیاوریم میتوانیم از دستور زیر استفاده کنیم

‘sudo ufw app info ‘Nginx Full

خروجی:

Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server

:Ports

۸۰,۴۴۳/tcp

 

همانطور که در بالا میبینید به راحتی اطلاعات کامل تری از Nginx Full را به دست آوردیم که دو پورت Http(80) و Https(443) باز میکند.

 

نوشتن Rule در UFW برای بازکردن دسترسی

قبل از اینکه از سرور خودتان خارج شوید باید به یاد داشته باشید که درصورتی که شما UFW را به صورت پیش فرض فعال کنید، دیگر امکان دسترسی از بیرون به سرور وجود ندارد. این مشکل باعث میشود دسترسی های از راه دور شما از جمله SSH از دسترس خارج شود.

در ابتدایی کار باید یک‌ Rule برای دسترسی به SSH از بیرون به داخل قرار دهید. Rule مورد نظر ما برای اجازه دسترسی به SSH در جهت ورودی یه شکل زیر میباشد:

sudo ufw allow ssh

 

خروجی :

Rules updated

(Rules updated (v6

 

به سبب Rule بالا فقط پورت پیش فرض SSH باز میشود و در صورتی که SSH بر روی Port دیگری فعال سازی شده باشد و بخواهید براساس Port آن را باز کنید، میتوانید به شکل زیر عمل کنید:

 

sudo ufw allow 4422/tcp

 

علاوه بر این برای دیگر سرویس ها نیز میتوانید به شکل بالا عمل کنید و برای مثال اگر قصد داشته باشید Http را باز کنید به شکل زیر میتوانید عمل کنید:

sudo ufw allow http

 

خروجی دستور بالا :

Rules updated

(Rules updated (v6

 

ایجاد دسترسی براساس Application Profile

همچنین ما میتوانیم براساس Application Profile هم اجازه دسترسی را برقرار کنیم؛ مانند Rule زیر:

‘sudo ufw allow ‘Nginx HTTP

 

ایجاد دسترسی برای Port Range خاصی

درصورتی که بخواهیم برای مجموعه خاصی از پورت ها دسترسی ورودی را باز کنیم میتوانیم به شکل زیر عمل کنیم:

sudo ufw allow 7100:7200/udp

sudo ufw allow 7100:7200/tcp

در دو Rule بالا ما گفتیم که دسترسی Port 7100 تا Port 7200 را بر روی بستر Udp و Tcp درجهت ورودی را مجاز کند.

 

ایجاد دسترسی برای یک آدرس IP خاص

برای اینکه بخواهیم دسترسی ها را کنترل کنیم و برای مثال فقط ترافیک خاصی درجهت ورودی بتواند به سرور وارد شود ، میتوانیم به شکل زیر عمل کنیم:

sudo ufw allow from 192.168100.1

ما در دستور بالا گفتیم که دسترسی را برای آدرس ۱۹۲.۱۶۸۱۰۰.۱ باز کند

 

بازکردن یک پورت خاص برای یک آدرش IP خاص

به منظور اینکه بخواهیم محدودیت اعمال کنیم و هر آدرسی نتواند به SSH و یا هر سرویس دیگری دسترسی داشته باشد ، میتوانیم به شکل زیر عمل کنیم:

sudo ufw allow from 192.168.100.1

 

ایجاد دسترسی برای یک Subnet

درصورتی که بخواهیم برای مجموعه ایی از IP های موجود در یک Subnet دسترسی خاصی باز کنیم میتوانیم به شکل زیر عمل کنیم:

sudo ufw allow from 192.168.1.0/24 to any port 3306

 

در Rule بالا Subnet مورد نظر ما ۱۹۲.۱۶۸.۱.۰/۲۴ میباشد و از این Subnet هر آدرس IP میتواند به Port سرور MySQL دسترسی داشته باشد.

 

ایجاد دسترسی از طریق یک کارت شبکه خاص

در صورتی که قصد داشته باشیم براساس یکی از کارت شبکه های سیستم دسترسی خاصی را بازکنیم، میتوانیم از allow in on استفاده کنیم:

sudo ufw allow in on eth2 to any port 3306

 

بستن دسترسی از طریق UFW

درصورتی که قصد داشتیم به واسطه UFW یک ارتباط را قطع کنیم، میتوانیم به جای استفاده از Allow از Deny استفاده کنیم.

برای مثال فرض کنید ما بر روی سرورمان یک وب سرور بر روی پورت ۸۰ فعال است و میخواهیم آدرس IP خاصی را برای مثال ۱۰.۱۰.۱۰.۱ را بلاک کنیم؛ در همچین ‌شرایطی Rule ما به شکل زیر میباشد:

sudo ufw deny from 10.10.10.1

 

همچنین درصورتی که بخواهیم این دسترسی را صرفا به پورت های تحت وب Http(80) و Https(443) ببندیم به شکل زیر عمل میکنیم:

sudo ufw deny from 50.50.50.1 to any port 443

sudo ufw deny from 50.50.50.1 to any port 80

 

پاک ‌کردن Rule ها در UFW

به منظور پاک کردن این Rule ها ابتدا باید Rule Number آن را به دست بیاورید. به واسطه دستور زیر میتوانید Rule Number تمام Rule ها را ببینید:

sudo ufw status numbered

 

خروجی :

status: active

To Action From

— —— —-

 ۲۲/tcp ALLOW IN Anywhere

 ۸۰/tcp ALLOW IN Anywhere

 ۸۰۸۰/tcp ALLOW IN Anywhere

 

برای مثال اگر بخواهید Rule سوم را پاک کنید، میتوانید به شکل زیر براساس Rule Number آن که ۳ است عمل کنید:

sudo ufw delete 3

 

همچنین اینکار را به واسطه پورت نیز میتوانید انجام دهید. برای مثال یک‌ Rule نوشته اید که دسترسی به پورت ۸۸۸۸ را فراهم میکند و میخواهید آن را پاک کنید، دستور شما برای اینکار به شکل زیر میباشد:

sudo ufw delete allow 8888

 

فعال سازی فایروال UFW

اکنون پس از پشت سر گذاشتن فرآیند باز کردن دسترسی و بستن آن ها از بیرون به داخل به پورت های SSH و Http باید UFW را فعال سازی کنیم که با دستور زیر اینکار امکان پذیر است:

sudo ufw enable

 

خروجی دستور بالا

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

Firewall is active and enabled on system startup

 

غیرفعال سازی فایروال UFW در لینوکس

درصورتی که قصد داشته باشید UFW را غیرفعال سازی کنید، میتوانید از دستور زیر استفاده کنید:

sudo ufw disable

و‌ همچنین برای ReEnable سازی آن نیز میتوانید دوباره این دستور را وارد کنید:

sudo ufw enable

 

امیداورم از این آموزش لذت برده باشید.

 

۵ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2022/12/ubuntu-firewall-ufw-configuration.png 720 1220 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2022-12-26 18:16:062022-12-26 18:16:06آموزش نصب و کانفیگ فایروال Ufw در لینوکس

آموزش نصب Pip پایتون در لینوکس

لینوکس, مقالات

نصب Pip در لینوکس بسیار ساده است، در این مقاله روش نصب Pip روی پایتون در لینوکس اوبونتو و کالی و CentOS و آرچ و فدورا و دبیان و اوپن سوزه را به شما عزیزان آموزش خواهیم داد، همراه ما  باشید.

نصب Python Pip در لینوکس

Pip (مخفف “Pip Installs Packages” یا “Pip Installs Python”) یک مدیر بسته cross-platform برای نصب و مدیریت بسته های Python است.

Pip، یک سیستم مدیریت بسته است که نصب و مدیریت بسته‌های نرم افزاری نوشته شده در پایتون، مانند موارد موجود در “فهرست بسته‌های پایتون” (PyPI) را ساده می‌کند.

در این مقاله ، نحوه راه اندازی PIP در توزیع های اصلی لینوکس را توضیح خواهیم داد.

 

مراحل نصب Pip در لینوکس

توجه: ما تمام دستورات را به عنوان کاربر root اجرا می کنیم.

اگر شما سیستم خود را به عنوان یک کاربر عادی مدیریت می کنید ، از دستور sudo برای به دست آوردن امتیازات root استفاده کنید و یا می توانید سیستم خود را برای اجرای دستور sudo بدون وارد کردن رمز عبور پیکربندی کنید.

 

نصب Pip در توزیع دبیان و اوبونتو و کالی (Debian/Ubuntu)

در دبیان و اوبونتو و کالی با توجه به ورژن پایتون که نصب کرده اید دستور مناسب را وارد کنید:

: python 2 #

apt install python-pip

: python 3 #

apt install python3-pip

 

نصب Pip در توزیع سنت او اس و رد هت (CentOS and RHEL)

متاسفانه ، Pip در مخازن رسمی نرم افزاری CentOS  / RHELبسته بندی نشده است.

بنابراین باید مخزن EPEL را فعال کنید و سپس نصب را آغاز کنید.

دستورات زیر را وارد کنید:

yum install epel-release

yum install python-pip

 

نصب Pip در توزیع فدورا (Fedora)

در فدورا با توجه به ورژن پایتون که نصب کرده اید دستور مناسب را وارد کنید:

: Python 2 #

dnf install python-pip

: Python 3 #

dnf install python3

 

نصب Pip در توزیع آرچ لینوکس (Arch Linux)

در آرچ لینوکس با توجه به ورژن پایتون که نصب کرده اید دستور مناسب را وارد کنید:

: Python 2 #

pacman -S python2-pip

: Python 3 #

pacman -S python-pip

نصب Pip در توزیع اوپن سوزه (openSUSE)

با توجه به ورژن پایتون که نصب کرده اید دستور مناسب را وارد کنید:

: Python 2 #

zypper install python-pip

: Python 3 #
zypper install python3-pip

دریافت اطلاعات راهنمای ابزار Pip

پس از نصب Pip در لینوکس برای دریافت اطلاعات بیشتر درباره این ابزار دستور زیر را در ترمینال بزنید:

pip help

خروجی به این شکل خواهد بود :

: Usage
pip <command> [options]

: Commands
.install Install packages
download Download packages
uninstall Uninstall packages
freeze Output installed packages in requirements format
list List installed packages
show Show information about installed packages
check Verify installed packages have compatible dependencies
search Search PyPI for packages
wheel Build wheels from your requirements
hash Compute hashes of package archives
completion A helper command used for command completion
help Show help for commands

 

با استفاده از pip –help می‌توان اطلاعات بیشتری در مورد یک دستور خاص کسب کرد.

به‌عنوان‌مثال، برای به‌دست آوردن اطلاعات بیشتر در مورد دستور نصب pip، دستور زیر را تایپ کنید:

pip install –help

روش استفاده از ابزار Pip

برای حذف و نصب و بروزرسانی پکیج ها از دستورات زیر استفاده کنید :

 pip install packageName#
pip uninstall packageName#
pip search packageName#

امیدواریم مقاله آموزش نصب Pip پایتون در لینوکس برای شما عزیزان مفید بوده باشد، ویستانت را در شبکه های اجتماعی دنبال کنید.

 

۴ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2022/12/python_linux_tux_penguin_programming.jpg 585 1041 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2022-12-25 12:42:152022-12-28 19:24:23آموزش نصب Pip پایتون در لینوکس

آموزش تنظیمات و نصب Bind DNS Server در لینوکس centos

لینوکس, مقالات

سرویس (DNS (Domain Name System معمولا سخت‌ترین کامپوننت در زمان فراگیری پروسه راه اندازی وبسایت‌ها و سرور‌ها است. اکثر افراد ترجیح می‌دهند از DNS server ارائه شده توسط شرکت هاستینگ یا ریجیسترار دامین استفاده کنند. اما در این بین افرادی نیز هستند که از DNS server شخصی خود استفاده می‌کنند. برای این منظور باید نحوه راه اندازی و نصب Bind DNS Server (نصب دی ان اس بایند) را بدانید. از این رو در ادامه مقاله bind چیست و نحوه راه‌اندازی و کانفیگ یک authoritative-only DNS server در یک سرور centos 7 با استفاده از bind dns server توضیح خواهیم داد.

 

bind چیست ؟

در پاسخ به بایند چیست بایستی گفت به عنوان یک سرویس DNS در لینوکس است و از پرطرفدارترین Domain name service ها است.

bind مخفف چیست؟ بایند مخفف عبارت The Berkeley Internet Name Domain می باشد.

حال که با این مفهوم بایند آشنا شدید در امتداد مقاله به بررسی نحوه نصب Bind و تنظیمات آن می پردازیم.

 

ایجاد محیط تست برای نصب bind dns server:

 

Domain: vistanetgroup.ir
IP: 192.168.0.1
OS: centos 7

Authoritative-only DNS server چیست؟

 

قبل از راه اندازی dns server ابتدا نیاز است با ماهیت Authoritative-only DNS server، آشنا شوید. در سناریو‌های لوکالی معمولا از forward و caching برای DNS سرورها استفاده می‌شود. این نوع کانفیگ با توجه به ترافیک بالایی که ایجاد می‌کند برای راه‌اندازی DNS سرور یک وبسایت مناسب نیست. در این شرایط از Authoritative-only DNS server استفاده می‌شود. این نوع کانفیگ به شکلی است که DNS server را تنها موظف به پاسخگویی به درخواست‌هایی می‌کند که zone آن دامین ها را در اختیار دارد. در این مورد خاص، DNS شما تنها به درخواست‌هایی پاسخ می‌دهد که برای وبسایت شما آمده باشند. به این شکل هیچ بار اضافه‌ای به سرور وارد نمی‌شود و به بهترین شکل ممکن پاسخگوی query های DNS مرتبط با وبسایت شما، خواهد بود.

 

نصب bind dns server

برای نصب کردن bind dns server  و راه اندازی dns server در لینوکس دستور زیر را وارد می‌کنیم

yum -y install bind bind-utils

 

کانفیگ اولیه DNS

کانفیگ اصلی bind در فایل /etc/named.conf قرار دارد. با ادیتور مد نظر خود، فایل را باز کنید.

vi /etc/named.conf

از آنجا که سرور ما پاسخگوی درخواست‌های مربوط به یک وبسایت است، باید بتواند از تمامی ipها درخواست را دریافت کرده و پاسخ دهد. پس با کامنت کردن خطوط مربوط به listening این مورد را فراهم می‌کنیم:

;listen-on port 53 { 127.0.0.1; } //
;listen-on-v6 port 53 { ::1; }//

 

همچنین allow-query را روی any ست می‌کنیم:

;allow-query { any; }

 

یکی از نکات مهم در مورد AUTHORITATIVE DNS server ها این است که قابلیت recursion باید در آن ها غیرفعال شود. در صورت فعال بودن این قابلیت، DNS server خود را موظف به یافتن پاسخ برای تمامی درخواست‌ها می‌داند، حتی اگر zone مربوطه در آن وجود نداشته باشد. در صورت فعال بودن بار کاری نا خواسته‌ای به سرور تحمیل کرده، و می‌تواند هدفی برای مهاجمین نیز باشد. پس این تنظیم را انجام می‌دهیم:

;recursion no

و نهایتا تغییرات را ذخیره می‌کنیم.

 

ساخت zone

مجدد فایل /etc/named.conf را باز می‌کنیم:

vi /etc/named.conf

 

برای forward zone خطوط زیر را به فایل اضافه کنید:

; “zone “vistanetgroup.ir” IN { type master; file “vistanetgroup.ir.db”
;allow-update { none; }
;{

 

برای reverse zone نیز خطوط زیر را در فایل، قرار دهید:

;zone “0.168.192.in-addr.arpa” IN { type master; file “/var/named/192.168.0.db”
;allow-update { none; }
;{

و نهایتا فایل را ذخیره می‌کنیم.

 

ساختن zone file

به صورت پیش فرض فایل مربوط به zoneها در مسیر /var/named قرار دارند. برای ساخت forward lookup zone یک فایل به نام fwd.vistanetgroup.ir.db در مسیر یاد شده ایجاد می‌کنیم:

Vi /var/named/fwd.vistanetgroup.ir.db

 

و سپس محتوای زیر را در آن، قرار می‌دهیم:

 ; IN SOA ns1.vistanetgroup.ir. info.vistanetgroup.ir. ( 5 @
;Serial 604800
;Refresh 86400
;Retry 2419200
;( Expire 604800
) Negative Cache TTL
.name servers – NS records vistanetgroup.ir
.IN NS ns1.vistanetgroup.ir. vistanetgroup.ir
;.IN NS ns2.vistanetgroup.ir
name servers – A records
;ns1 IN A ۱۹۲.۱۶۸.۰.۱
;ns2 IN A ۱۹۲.۱۶۸.۰.۱
@ Other A records
IN A ۱۹۲.۱۶۸.۰.۱
www IN A ۱۹۲.۱۶۸.۰.۱
mail IN A ۱۹۲.۱۶۸.۰.۱

هر بار که فایل را آپدیت کردید، مقدار serial را تغییر دهید. به عنوان مثال از ۵ به ۶.

برای reverse zone نیز یک فایل به نام ۱۹۲.۱۶۸.۰.db ایجاد می‌کنیم:

vi /var/named/192.168.0.db

و خطوط زیر را در آن قرار می‌دهیم:

;      TTL ۶۰۴۸۰۰ @ IN SOA vistanetgroup.ir. info.vistanetgroup.ir. ( 5 $
;Serial 604800
;Refresh 86400
;Retry 2419200
; (Expire 604800
Negative Cache TTL
Name servers
.IN NS ns1.vistanetgroup.ir
;.IN NS ns2.vistanetgroup.ir
PTR records
. IN PTR ns1.vistanetgroup.ir
. IN PTR ns2.vistanetgroup.ir
. IN PTR mail.vistanetgroup.ir

 

پس از اینکه زون فایل‌ها ایجاد شدند، سرویس bind را ری استارت می‌کنیم.

systemctl restart named

و آن را برای راه‌اندازی، در زمان بالا آمدن سیستم عامل فعال می‌کنیم.

systemctl enable named

 

تنظیمات bind dns server در firewall

با دستور زیر پورت ۵۳ یا سرویس dns را در فایروال باز می‌کنیم:

firewall-cmd –permanent –zone=public –add-port=53/udp

 

و سپس سرویس را reload می‌کنیم

firewall-cmd –reload

 

توضیحات برای firewalld داده شده است. در صورتیکه از سرویس دیگری استفاده می‌کنید، بر اساس همان عمل کنید.

 

هم اکنون DNS server ما آماده است و برای اطمینان از کارکرد، می‌توانید از دستورات dig و nslookup برای تست کارکرد آن استفاده کنید. امیدواریم با خواندن این مقاله با مفهوم bind چیست و نحوه نصب و تنظیمات Bind DNS Server در لینوکس را آموخته باشید.

۴ دی ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2022/12/DNS-Feature.png 667 1110 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2022-12-25 10:18:192023-02-13 10:26:16آموزش تنظیمات و نصب Bind DNS Server در لینوکس centos
صفحه 2 از 3123

صفحات

  • About
  • FAQ
  • Footer Template
  • Get in touch
  • Home
  • News
  • Our Lawyers
  • Practice Areas
  • The Firm
  • VMware
  • ایزابل
  • پرسش های متداول
  • تماس با ما
  • تیم ما
  • درباره
  • سیسکو
  • شرکت ما
  • صفحه اصلی
  • کریوکنترل
  • لینوکس
  • مایکروسافت
  • محورهای فعالیت
  • مقالات
  • میکروتیک

دسته ها

  • News
  • Personal
  • Uncategorized
  • VMware
  • ایزابل
  • کریوکنترل
  • لینوکس
  • مایکروسافت
  • مقالات
  • میکروتیک

بایگانی

  • اکتبر 2023
  • سپتامبر 2023
  • آوریل 2023
  • مارس 2023
  • فوریه 2023
  • ژانویه 2023
  • دسامبر 2022
  • نوامبر 2022
  • آوریل 2018
  • می 2015
  • ژانویه 2015
  • آگوست 2014
  • فوریه 2014
  • دسامبر 2013
  • آگوست 2012
  • می 2012

تیم تخصصی ویستاگستربیهق(ویستانت) به پشتوانه تخصص و تجربیات کارشناسان خود در سال ۱۴۰۰ در زمینه ی مشاوره , آموزش و اجرای پروژه های تخصصی شبکه فعالیت خود را آغاز نمود.

هدف تیم ویستانت پشتیبانی و ارائه جدیدترین مطالب آموزشی و راهکارهای تخصصی شبکه می باشد. ویستانت کلیه خدمات خود را با تکیه بر تخصص، دانش فنی و تجربیات کارشناسان در قالب یک تیم تخصصی ارائه می‌کند.

اطلاعات تماس

ویستا گستر بیهق | خراسان رضوی-سبزوار
تلفن: ۰۵۱۴۴۶۵۷۸۱۵ – ۰۵۱۹۱۰۱۴۰۵۹ | همراه: ۰۹۳۵۴۹۹۴۰۵۹ | ایمیل: info@vistanetgroup.ir

تمامی حقوق برای ویستانت محفوظ می باشد

رفتن به بالا

اطلاعیه : سایت ویستانت از کوکی ها استفاده می کند. با ادامه این فهرست از شما می خواهیم برای استفاده از کوکی ها موافقت کنید.

بستناطلاعات بیشتر×

تنظیمات کوکی و حریم خصوصی



چطور از کوکی‌ها استفاده می‌کنیم

ممکن است ما کوکی‌ها در دستگاه شما تنظیم کنیم. ما از کوکی‌ها استفاده می‌کنیم تا به ما اطلاع دهید هنگامی که از وب‌سایت ما باز می‌کنید، چگونه با ما ارتباط برقرار می‌کنید، برای غلبه بر تجربه کاربری خود و ارتباط با سایت ما سفارشی کنید.

با کلیک روی عنوان‌های مختلف بهتر می‌توانید پیدا کنید. شما همچنین می‌توانید برخی از تنظیمات خود را تغییر دهید. توجه داشته باشید که مسدود کردن برخی از انواع کوکی‌ها ممکن است تجربه شما را در وب‌سایت‌های ما و خدماتی که ما بتوانیم ارائه دهیم، تحت تاثیر قرار می‌دهد.

کوکی‌های وب‌سایت ضرروی است

این کوکی ها برای ارائه خدمات موجود از طریق وب سایت ما و استفاده از برخی از ویژگی های آن کاملاً ضروری هستند.

Because these cookies are strictly necessary to deliver the website, refusing them will have impact how our site functions. You always can block or delete cookies by changing your browser settings and force blocking all cookies on this website. But this will always prompt you to accept/refuse cookies when revisiting our site.

اگر می خواهید از استفاده از کوکی ها خودداری کنید، کاملا احترام می گذاریم اما برای اینکه دوباره از شما درخواست نکنیم، به ما اجازه دهید تا یک کوکی برای این کار ذخیره کنیم. شما می توانید هر زمان که بخواهید انصراف دهید یا کوکی های دیگر را انتخاب کنید تا تجربه بهتری داشته باشید. اگر کوکی ها را رد کنید، ما تمام کوکی های تنظیم شده را در دامنه خود حذف خواهیم کرد.

ما یک لیست از کوکی ها ذخیره شده کامپیوتر شما را در سایت خود ذخیره می کنیم، بنابراین می توانید بررسی کنید که ما چه مواردی را ذخیره کرده ایم. به دلایل امنیتی ما نمی توانیم کوکی های دامنه های دیگر را تغییر یا نمایش دهیم. شما می توانید این مورد را در تنظیمات امنیتی مرورگر خود بررسی کنید.

سایر خدمات خارجی

ما همچنین از سرویس های خارجی مانند وب فونت های گوگل، نقشه های گوگب و سرویس دهنده های ویدیو خارجی استفاده می کنیم. از آن جا گه این ارائه دهندگان ممکن است اطلاعات شخصی شما مانند آی پی را جمع آوری کنند، ما به شما این امکان را می دهیم تا آن ها را مسدود کنید. لطفا توجه داشته باشید که این ممکن است عملکرد و ظاهر سایت ما را به شدت کاهش دهد. با بارگیری مجدد صفحه، تغییرات اعمال می شوند.

تنظیمات وب فونت گوگل:

تنظیمات نقشه گوگل:

تنظیمات reCaptcha گوگل:

جاسازی ویدیو ویمئو یا یوتیوب:

حریم خصوصی

تغییرات پس از بارگذاری صفحه دوباره اعمال خواهند شد

پذیرفتن تنظیماتفقط اطلاعیه را نمایش نده