آموزش رزبری پای رزبری پای

ساخت DDNS رایگان به جای Static IP برای رزبری پای

free-ddns-for-raspberry-pi-digispark
نوشته شده توسط وحید منسومی

دسترسی به Raspberry Pi از شبکه داخلی ساده است ، اما اگر بخواهید دسترسی به  PI را از راه دور و در بستر اینترنتی فعال نماییم روشهای مختلفی وجود دارد. مثلا سرویس DDNS یک انتخاب رایگان خواهد بود.لازم به ذکر است که اعتبار این روش‌ها به روتر ما / یا ارائه دهنده اینترنت بستگی دارد. مشکل عمده برای دسترسی به شبکه داخلی که  PI به آن متصل است؛ از اینترنت، روترهای داخلی معمولا یک IP ثابت ندارند. با توجه به کمبود آدرس های IP ممکن است پس از راه اندازی مجدد روتر شما یک آدرس جدید از ISP خود دریافت کند ، یک روش بسیار رایج برای دسترسی آسان به شبکه داخلی از طریق اینترنت استفاده از  DDNS میباشد.

 


چند اصطلاح IP


تعریف IP Address

سیستم‌های کامپیوتری در شبکه‌ی اینترنت به واسطه‌ی یک رشته از اعداد به اسم IP Address  ها شناسایی می‌شوند.

 

تفاوت IP داخلی و خلارجی

همان طور که در تصویر می بینید، یک روتر معمولا دارای چند اتصال شبکه میباشد

 

IP شبکه داخلی

روتر به دستگاه های متصل به شبکه داخلی یک IP داخلی اختصاص می دهد که  توسط سرویس DHCP روتر اداره می شود،

 

IP شبکه خارجی

روتر یک IP خارجی یا عمومی) اختصاص داده شده توسط ارائه دهنده خدمات اینترنت (ISP)  دارد. تمام دستگاه های داخل شبکه داخلی از این آدرس برای دسترسی به اینترنت استفاده می کنند. روتر از آدرس شبکه ترجمه آدرس ( NAT ) یا سایر روش های مشابه برای مطابقت با آدرس IP داخلی با درخواست های خارجی استفاده می کند. جهت دریافت آدرس فعلی IP خارجی خود، می توانید فرمان زیر را تایپ نمایید

curl ip.changeip.com

 


تعریف DNS


Domain Name System، سامانه‌ی نام دامنه، این سیستم تبدیل کننده‌ی آدرس IP به نام دامنه و حروفی است که برای انسان قابل خواندن و درک است. از آن جایی که انسان‌ها توانایی حفظ کردن اعداد طولانی را ندارند، DNSها برای ترجمه‌ی یک نام واقعی  (نام دامنه یا اسامی سایت‌ها برای مثال  digispark.ir ) به آدرس‌های آی پی استفاده می‌شوند. به این صورت است که وقتی آدرس سایتی را در مرورگر خود وارد می‌کنید، DNS آن را به آدرس آی‌پی ترجمه کرده و برای شبکه‌ی اینترنت می‌فرستد تا سایت مورد نظر را پیدا کند و آن را به شما نمایش دهد. می‌توان اینگونه تعبیر کرد که DNS مانند دفترچه‌ی تلفنی است که می‌تواند نام‌های قابل فهم برای انسان را به اعدادی که شبکه‌ی اینترنت آن‌ها را می‌فهمد، ترجمه کن

 


مفهوم دقیق DDNS


Dynamic DNS سامانه‌ی نام دامنه پویا یا همان DDNS یک سرویس است. نام دامنه‌های اینترنتی را به آدرس IP تبدیل می‌کند. شاید بگویید DNS هم که همین کار را میکرد! اما باید دانست بر خلاف DNS که تنها با آدرس‌های آی پی استاتیک کار می‌کند. DDNS به گونه‌ای طراحی شده، که از آدرس‌های IP پویا (متغیر) نیز پشتیبانی می‌نماید. این سرویس DDNS است که به شما اجازه می‌دهد تا از هر نقطه از جهان به کامپیوتر خانگی خود دسترسی پیدا کنید.

 


عملکرد سرویس DDNS


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

 


روش تهیه سرویس DDNS رایگان


سرویس رایگانی که من بدون مشکل استفاده می کنم. تا به امروز هم در خدماتش اختلالی به وجود نیامده است. سرویس رایگان Noip می‌باشد. جهت استفاده از این سرویس نیاز به انجام سه مرحله است.  ۱- ابتدا باید در سایت ثبت نام کرده و یک حساب کاربری ایجاد نمائید. ۲- سپس No-IP DUC را بر روی برد رزبری پای Raspberry Pi نصب کرده و اطلاعات حساب کاربری را در آن وارد می‌نماییم. ۳- تنظیمات مربوط به اتصال مودم یا همان Port Forwarding را انجام می‌دهیم. در مرحله بعدی بایستی اشتراک رایگان از سایت NoIP تهیه کنیم. ابتدا وارد سایت noip.com می‌شویم. سپس مانند تصویر زیر در صفحه اول سایت یک نام برای ادرس DNS خود انتخاب کنید. سپس مراحل را ادامه دهید.

یک ادرس ایمیل معتبر وارد کنید و پسورد اکانت را تعریف کنید. در پایین صفحه DNS که قبل دادید قابل مشاهده است. تیک گزینه قوانین را تایید کنید. سپس گزینه free sing up را کلیک کنید.

دریافت DNS از سایت Noip - دیجی اسپارک

وارد ایمیل خود شده و لینک دریافتی را اجرا کنید. در این حالت ایمیل شما تایید می‌شود .بعد از تایید، مراحل را مشاهده میکنید در مرحله ۲ اپ را دانلود کنید.

 


نحوه نصب No-IP DUCدر Raspberry Pi


یکی از راه‌های اطلاع DNS Server از تغییر آدرس ip دستگاه‌هایی که رکورد آن‌ها در دیتا بیس ذخیره شده است. نرم افزارهایی هستند که شرکت‌های ارائه دهنده DDNS عرضه می‌کنند. وب سایت NoIP هم از همین روش بهره می‌برد. این کمپانی نرم افزار Dynamic Update Client یا DUC را ارائه کرده است. جهت نصب این سرویس بر روی برد رزبری پای Raspberry Pi ابتدا یک پوشه را برای نصب نرم افزار سرویس دهنده ایجاد می‌کنیم. ترمینال را باز کرده و فرامین زیر را وارد می‌نماییم.

mkdir / home / pi / noip

سپس وارد پوشه مربوطه می‌شویم.

cd / home / pi / noip

پس از ایجاد پوشه نرم افزارDUC  را دانلود می نماییم .

wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz

سپ آن را از حالت فشرده خارج می‌نماییم.

tar vzxf noip-duc-linux.tar.gz

سپس وارد فایل  دانلود شده می‌شویم.

. cd noip-2.1.9-1

و برنامه را نصب می‌نماییم.

sudo make
sudo make install

بعد از تایپ “sudo make install” بایستی نام کاربری و رمز عبور حساب کاربری که در سایت noip  ثبت نام کرده اید را وارد نمایید. در ادامه  هنگامی که از شما خواسته می شود زمان بروز رسانی را وارد نمایید که باید ۵ یا بیشتر را انتخاب کنید. فاصله زمانی در دقیقه می‌باشد. اگر ۵ را انتخاب کنید، فاصله به روز رسانی ۵ دقیقه خواهد بود. اگر ۳۰ را انتخاب کنید، فاصله ۳۰ دقیقه خواهد بود. سپس فرمان زیر را وارد کنید.

sudo / usr / local / bin / noip2

 

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

sudo noip2 ­-S

 


اجرای خودکار NoIP با روشن شدن Raspberry Pi


زمان راه اندازی pi ‌ جهت استارت noip2  نیاز به اجرای فرمان زیر می‌باشد.

$ sudo noip2

با استفاده از  systemd شرایطی را فراهم می‌آوریم که در زمان راه اندازی سیستم noip2 فعال گردد. یا در زمان متوقف شدن مجدد راه اندازی گردد. با فرمان زیر مسیر دستور noip2 را بررسی می‌نماییم.

$ which noip2
/usr/local/bin/noip2

به هر حال، اکنون می دانیم که noip2 در / usr / local / bin / noip2 اجرا می شود. من می خواهم یک سرویس systemd ایجاد کنم که فایل آن را اجرا کند. ایجاد فایل noip2.service در Sudo nano /etc/systemd/system/noip2.service متن زیر را درون فایل ایجاد شده قرار می‌دهیم.

 

[Unit]
Description=No-ip.com dynamic IP address updater
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target
Alias=noip.service

[Service]
# Start main service
ExecStart=/usr/local/bin/noip2
Restart=always
Type=forking

 

این فایل را از صفحه    https://gist.github.com/NathanGiesbrecht دریافت کرده ام.

 

sudo systemctl enable noip2
sudo systemctl start noip2
systemctl daemon-reload

وضعیت  سرویس جدید را با فرمان زیر بررسی می‌کنیم.

$ systemctl status noip2.service

Pi را دوباره راه اندازی می‌کنیم.

$ sudo reboot

با فرمان زیر بررسی می‌کنیم که noip2 به طور خودکار راه اندازی می‌گردد یا خیر

$ ps –aux | grep noip2

 

 


پورت فورواردینگ


وارد صفحه مودم خود شوید پیشفرض اکثر مودم ها ۱۹۲٫۱۶۸٫۱٫۱ میباشد. نام کاربری و پسورد خود را وارد کنید که پیشفرض هر دو ان ها در مدم ها Admin میباشد. وارد بخش Advanced در مودم شوید و بخش Port Forwarding را انتخاب کنید.

تنظیمات Port Forwarding برای رزبری پای - دیجی اسپارک

مانند تصویر ، DNS که هنگام ساخت no ip ایجاد کرده اید را در بخش application بگزارید. در بخش پورت , پورت مورد نظر خود را وارد کنید ما به طور مثال ۸۰۰۰ انتخاب میکنیم. بخش پروتکل را به TCP تغیر دهید تا به درستی انجام شود تغیرات را در مودم ذخیره کنید.

 


تست از پورت فورواردینگ


برای تست عملکرد از سایت زیر استفاده کنید پرتی را که انتخاب کرده اید را وارد کنید و check your port را کلیک کنید. portchecktool.com درصورتی که پورت باز باشد تنظیمات به درستی انجام شده است در غیر این صورت مشکل وجود دارد و باید رفع شود. حال میتوانید dns و پورت را وارد پنل رات کنید و فایل خود را بسازید و از شبکه اینترنت کنترل را انجام دهید.

 

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

وحید منسومی

مهندس برق قدرت و علاقه مند به برنامه نویسی

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۵ دیدگاه