نصب Dial Server بر روی یک ماشین لینوکسی
خلاصه
زمانی که شما میخواهید یک ارتباط بـدون داشتن اینترنت داشته باشید، بالاجبار بایـد از گزینه P2P استفاده کنید و یا زمانی که بخواهید بدون داشتن شبکه از راه دور بر روی ماشینی SSH کنید و داخل آن شوید، می بایست از پروتکل PPP استفاده نمایید.
نیازمندیها
۱.دو عدد کامپیوتر هر دو با دو مودم نصب شده بر روی آنها
۲.دو خط تلفن
۳.سیستم عـامل گـنو /لینوکس (هر توزیعی از لینوکس قابل استفاده است،توزیع مورد استفاده در این مقاله RedHat7.3 میباشد)
۴.برنامه mgetty
۵.برنامه SSH سمت سرور
۶.برنامه SSH سمت client شده باشد.
۷.برنامه pppd تحت لینوکس
البته ما یک استفاده تک بعدی از برنامه mgetty و pppd را بیان خواهیم کرد. در صورتی که بخواهید از سرویسهای این دو برنامه مطلع شوید به Manual فایلهای آنها رجوع کنید.
در ابتدا تست کنید که mgetty، pppd و sshd بر روی کامپیوتر شما نصب شده باشند.
نکته :
چون در اینجا پـیکربندی سرور آن در نظر می باشد، همه چیز که تحت لینوکس باشد را بر روی ماشین سرور تصور کنید. (آن ماشین که بر رویش Dial میشود)
نکته :
قـبل از درج و یـا ویـرایش فایـلی، شـما بایـد بــدانید کـه مودمتـان بر روی چه پورتـی نـصب شده است؛ ttyS1,ttyS0 و یا …….ttySn و حتی ttyUSB0 , ttyUSB1 و یا ttyUSBn)
ما فرض را بر آن گذاشتیم که مودم شما بر روی پورت سریال شماره (com2)2 یعنی ttyS1 نصب شده است.
مرحله اول
در مرحله اول شما باید فایل زیر را ویرایش کنید:
/etc/mgettytsendfan/mgetty.config
البته قبل از درج و یا هرگونه ویرایش ، نکته Case- Sentisive بودن لینوکس را فراموش نکنید. در فایل مذکور لطفاً خطوط زیر را وارد کنید:
Port ttyS1
debug
init-chat “”ATZ OK ATF1M0E1Q0S0=3 OK
statistics –chat “”AT OK ATi2 OK
statistics – file /va1/log/ statistics.ttyS1
answer – chat “ATA CONNECT”
البته فراموش نشود که قبل از درج در این فایل ، شما باید تمام خطوطی را که با init شروع میشوند، comment کنید ( در ابتدا ایشان یک بگذارید)، نکته دیگری که در بودن این فایل وجود دارد، رشته جلوی خط init-chat می باشد، شما باید رشته مربوط به مودم خود را در آن بنویسید. البته در خط init دیـگر وجود دارد و ممکن است به مودم شما بخورد ما از مودم U.S.Robotic 28.8 External استفاده کردهایم.
مرحله دوم
شما باید در این مرحله فایل روبرو را ویرایش کنید:
/etc/mgetty+fax/login.config
لطفاً خط زیر در آن پیدا گردد و اگر Comment میباشد، آنرا Comment کنید:
/autoppp/- a-ppp /usr/sbin/pppd auth-chap tpap login debug
و کـلمه” a-ppp” را به یک” – “(dash) تبدیل کنید و دو کلمه زیر را جلو خط در ادامه پارامترها pppd اضافه کنید:
silent – detach
یعنی خط را به حالت زیر در بیاورید:
autoppp/- – /usv/sbin/pppd auth – chap tpap login debug silent -detach
توجه داشته باشید که دومین Dash که در این خط داریم، از دو طرف دارای فضای خالی می باشد. هر یک از این فضاها باید ۸ خانه خالی باشند (یک Tab)
مرحله سوم
در این مرحله به دایرکتوری etc/ppp/ رفته و کل محتوای فایل Options را به صورت زیر در میآوریم:
Debug
auth – chap +pap login
modem
asyncmap 0
netmask 255.255.255.0
crtscts
lock
proxy aup
شـما در ایـن مرحله فایل “etc/ppp/options/” را ویـرایـش کـردیـد، امـا بـا همـین مـحتویـات بـاید فایـلی بـه نـام
etc/ppp/options.server/ بسازید، برای انجام این کار میتوانید دستور زیر را وارد کنید:
#cp /etc/ppp/options /etc/ppp/options.server
مرحله چهارم
در فایل /etc/ppp/pap-secrets خط زیر را اضافه کنید :
* * “ “ *
توجه :
هر فاصله خالی به اندازه یک Tab میباشد .
مرحله پنجم
فایلی به نام etc/ppp/options.ttyS1/ یعنی با پسوند پورت مودمتان ایجاد نمایید و در آن دو invalid iP را بصورت زیر وارد نمائید :
۱٫۱٫۱٫۱:۱٫۱٫۱٫۲
در واقـع زمانی که شما باید ssh کـنید، باید iP سـرور را داشـته باشـید، iP اولی یعنی ۱٫۱٫۱٫۱، iP سـرور میشود و زمانی که Dial و سپس ssh کردید ، به ماشین شما یک iP داده میشود که در اینجا ۱٫۱٫۱٫۲ میباشد . در واقع شما باید اول iP سرور و بعد یک کولن و بعد iP Client را وارد کنید .
مرحله ششم
در این مرحله شما باید Permission فایل pppd را تغییر دهید , برای این منظور فرمان زیر را وارد کنید :
#chmodv u+s /usr/bin/pppd
مرحله هفتم
در این نقطه از کار , شما باید فایل etc/inittab/ را ویرایش کنید , فقط مواظب باشید که برچسب تکراری نگذارید .
Md:2345:respawn:/sbin/mgetty –x 8 ttyS1 –s 38400 /dev/ttyS1
چندین نکته برای این مرحله
۱.–s 38400 سرعت مودم شما را مشخص میکند که اگر به مودم شما نخورد , شما میتوانید لیست سرعتهای معتبر را در برنامه minicom بدست آورید و با خودتان تست کنید .
هیچ وقت mgetty را با برنامه اشتباره نگیرید که مسئله برای اشتباه گرفتن این دو برنامه با هم AND شو کند . هر دو درinittab نوشته میشوند , تشابه اسمی
۲.شماره پورت را منطبق با نصب مودم خود صادر کنید .
۳.هیچ وقت Label تکراری برای خط خودتعریف نکنید . ما فرض را بر آن گذاشتیم که Mod در inittab تعریف شده است .
۴.برای اطمینان از اینکه سرور شما درست کار میکند باید چندین بار بر روی آن Dial کنید و نتایج دقیقاً مشابه همدیگر باشند برای اینکه بفهمید چه اتفاقاتی بر روی سرور میافتد , میتوانید فرمان زیر را صادر کنید :
#tail –f /var/log/mgetty.log.ttyS1
شما باید در آخر جملههایی که بعد از این دستور چاپ میشوند , جمله زیر را ببینید:
Waiting ……
و زمانی که Dial انجام شد، باید صدای مودم شما بلند شود، و بعد از این جمله goti چاپ میشود و بدین صورت جملات log فایل ما تغییر میکند.
نکته:
اگر Dialing تمام شد و به طور متناوب برروی صفحه چیزهایی چاپ شد، شما String مودم خود را درست چاپ نکردهاید.
چند نکته:
۱.به هیچ عنوان برای گرفتن Shell، از Hyperterminal استفاده نکنید، زیرا این برنامه از TCP/iP استفاده نمیکند و شما نمیتوانید iP بـگیرید. این برنامه فقط پروتکل (Point 2 Point Protcol) استفاده می کند. ولی اگر از ssh استفاده ک ید، هم منی پا برجاست و دیگر ینکه ssh از TCP/iP استفاده میکند.
۲. ما در فایـل “mgetty.config” خطی به نام “init-chat” اضافه کردیم که در جلوی آن یک String موجود می باشد. ما این String را منطبق بر مودم “U.S.Robotic Sportten 28.8 ” گذاشتیم . شما هم باید هنگام نصب مودم , String آنرا از Config فایلهای مربوط به مودم و یا از روی دفترچه آن بدست آورید.
البته نگران نباشید ، همچنین در خود این فایل ، چند String عمومی به صورت Comment وجود دارد که شما با Uncomment کردن آن میتوانید آنها را برای مودم خود تست کنید.
نوشته نحوه ارتباط با سرور با مودم dialup اولین بار در مرجع اپن سورس ، گنو/لینوکس پدیدار شد.