<chapter id="callback"> <title >Подешавање <application >КППП‑а</application > за повратни позив</title> <para >Ово поглавље заснива се на материјалу који је обезбедио <personname ><firstname >Мартин</firstname > <surname >Хефнер</surname ></personname >, <email >mh@ap-dec717c.physik.uni-karlsruhe.de</email >.</para> <sect1 id="unix-callback-server"> <title >Сервер повратних позива под Униксом (Линуксом)</title> <para >Ова секција пружа увод у повратне позиве под Униксом, и како се <application >КППП</application > може подесити за повезивање на сервер повратних позива, нарочито на сервер повратних позива заснован на скрипти под Линуксом.</para> <sect2> <title >Увод у повратне позиве</title> <para >Повратни позиви вам могу одговарати из неколико разлога. Неки од њих су:</para> <itemizedlist> <listitem> <para >повећање безбедности локалне мреже</para> </listitem> <listitem> <para >смањење трошкова спољних сарадника</para> </listitem> <listitem> <para >управљање телефонским трошковима где позиви спадају у трошкове пословања</para> </listitem> </itemizedlist> <para >Замислите да неко позове број вашег сервера за примање позива, а затим разбије лозинку. Зашто се мучити око одржавања заштитног зида за интернет везу, ако се овако лако може приступити вашој мрежи?</para> <para >Софтвер за повратне позиве обично вас пита за име, па прекине везу. Затим вас позове назад, обично на број ускладиштен у бази података <emphasis >на серверу</emphasis >. Затим клијент прихвата телефонску везу и наставља са бирањем броја као да се ништа није догодило. Сервер сада захтева ваше корисничко име и лозинку, знајући да сте ко сте се представили по првом позиву, или барем да сте тамо где сте рекли да јесте. Веза се успоставља нормално и покреће се <command >pppd</command >.</para> <para >Главно питање је како натерати клијент да подигне слушалицу кад сервер позове. Треба ли вам специјални клијентски програм, као што је <command >mgetty</command >? Одговор је — не треба вам. Уопштено, било који клијент се може користити за везе преко повратног позива, чак и обичан терминалски програм попут Миникома.</para> <para >Једино што треба да урадите је да задате модему да аутоматски одговори кад открије сигнал <literal >RING</literal >. Ово задаје следећа модемска наредба:</para> <screen ><userinput ><command >AT&SO=1</command ></userinput > </screen> <para >Овим се модему каже да подигне слушалицу после првог <literal >RING</literal >.</para> <para >Као многи други клијентски програми, <application >КППП</application > проверава да види да ли је сервер прекинуо везу, а онда прекида текућу сесију ако се открије <literal >NO CARRIER</literal >. Овде лежи прави проблем за постављање повратних позива. <literal >NO CARRIER</literal > ће, наравно, стићи у тренутку кад сервер повратних позива прекине везу. Зато неки сервери користе специјални програм за пријављивање. Како решити овај проблем? Тако што задате модему да стално приказује <literal >CARRIER UP</literal > (ово неће изазвати проблем када клијенту кажете да прекине везу). Ово се постиже следећом модемском наредбом:</para> <screen ><userinput ><command >AT&C0</command ></userinput > </screen> <para >Ако желите ово да испробате, можете прво позвати сервер повратних позива обичним терминалским програмом, као што је Миником, и видети шта се догађа.</para> </sect2> <sect2> <title >Подешавање <application >КППП‑а</application ></title> <para >Пошто сте видели теорију на делу, како сада да подесите <application >КППП</application > да рукује везом? </para> <para >Поступак је прилично једноставан, као што следи.</para> <procedure> <step> <para >Прво задајте модему да прихвата везе, и да не прекида преговарање кад сервер повратних позива први пут прекине везу. Обе ове опције можете додати под језичком <guilabel >Модем</guilabel > у постави <application >КППП‑а</application >, додавањем ниске <command >AT&C0S0=1DT</command > у поље <guilabel >Ниска за позивање:</guilabel >.</para> <para >Никакве друге промене у постави <application >КППП‑а</application > нису потребне. Ако искусите тешкоће са припремањем и ресетовањем модема, за више информација погледајте секцију <link linkend="callback-troubleshooting" >о претресању проблема</link >.</para> </step> <step> <para >Размислите мало о вашем серверу. Сетите се да оперативни системи Уникс, Виндоуз и МекОС имају различите ставове о томе како се завршава ред у текстуалном фајлу, па зато и различите поступке пријављивања. Ако се повезујете на сервер под Виндоузом, користите <literal >CR/LF</literal >; ако је сервер под Униксом користите <literal >CR</literal >, а за сервер под МекОС‑ом <literal >LF</literal >. </para> </step> <step> <para >У наредним инструкција претпостављамо да позивате сервер повратних позива под Линуксом, уз једноставно пријављивање (не преко ПАП‑а или тако нечег).</para> <para >Под језичком <guilabel >Позови</guilabel > у постави налога, у пољу <guilabel >Аутентификација:</guilabel > поставите <guilabel >скриптом</guilabel >.</para> </step> <step> <para >Сада треба да саставите пријавну скрипту. Уређивање пријавних скрипти је једна од финих могућности <application >КППП‑а</application >. Налази се под језичком <guilabel >Пријавна скрипта</guilabel > у дијалогу за уређивање налога.</para> <para >У овом примеру, корисник <systemitem >pperic</systemitem > захтева покретање следеће скрипте. Сервер повратних позива већ има табелу имена и придружених бројева телефона, тако да, из безбедносних разлога, бирате телефонски број који ће се користити са алијасом.</para> <para >За сваки ред, из падајућег списка лево у дијалогу изаберите критеријум, па упишите радњу у поље десно. Кликните на <guibutton >Додај</guibutton > за додавање реда у скрипту. Дугметом <guibutton >Уметни</guibutton > додајте ред негде у средину скрипте, а дугметом <guibutton >Уклони</guibutton > уклањате ред кад нешто погрешите.</para> <para >Цела скрипта требало би да изгледа отприлике овако (без овде приказаних коментара, који почињу са #):</para> <screen >Expect ogin: <lineannotation ># сетите се, користимо обично терминалско пријављивање</lineannotation> ID "" <lineannotation ># КППП шаље ИД који сте подесили у главном дијалогу</lineannotation> Expect for pperic: <lineannotation ># приказује се списак доступних бројева; корисник треба да изабере један</lineannotation > Send pperic-home <lineannotation ># корисник жели повратни позив на свој кућни број</lineannotation> Expect ogin: <lineannotation ># повратни позив је започет, следи нова веза, те и ново пријављивање</lineannotation> ID Expect assword: <lineannotation ># шаљете своју лозинку</lineannotation> Expect > <lineannotation ># чека на командни одзивник (који може да варира)</lineannotation> Send start_ppp <lineannotation ># ова наредба покреће pppd</lineannotation > </screen> <para >После чекања на захтев за пријаву, корисник шаље свој ИД и чека на списак доступних бројева телефона за то корисничко име. Затим саопштава серверу на који би од понуђених бројева хтео да буде позван. <application >КППП</application > може да отвори дијалог за ово ако често мењате локацију, нпр. ако сте трговачки путник и крећете се од хотела до хотела. Сад сервер очекује корисничко име и лозинку за аутентификацију, али у међувремену прекида везу и зове вас назад. Шаљу се подаци за аутентификацију и <application >КППП</application > чека на командни одзивник, а затим покреће малу скрипту (овде по имену <filename >start_ppp</filename >) која извршава <command >pppd</command > на серверу.</para> <para >Скрипта <filename >start_ppp</filename > могла би изгледати овако:</para> <programlisting >#!/bin/sh stty -echo exec /usr/sbin/pppd -detach silent modem </programlisting> <para >Постављање ППП сервера наравно не спада у опсег овог документа. За детаљније информације погледајте упутну страницу за <command >pppd</command >.</para> </step> </procedure> <para >Сва остала питања око подешавања, као што је постава за <command >pppd</command > или ИП поставке, раде као и обично, и није потребан никакав посебан софтвер за прихватање линије.</para> <note> <para ><application >КППП</application > с повратним позивом и други програми попут <command >mgetty</command > могу се извршавати на истом серијском порту. Нема проблема са позивањем модемом, пошто <application >КППП</application > ствара фајл за закључавање који другим програмима каже да тренутно <application >КППП</application > користи линију.</para> </note> </sect2> <sect2 id="callback-troubleshooting"> <title >Претресање проблема</title> <para >Постоје неки познати проблеми с <application >КППП‑ом</application > у режиму повратног позива:</para> <itemizedlist> <listitem> <para >Као што припремите модем за аутоматско одговарање, тако треба и да га ресетујете кад се веза прекине. У супротном ће модем наставити да прихвата везу место вас, што није добра идеја ако вам је та веза главна телефонска линија.</para> </listitem> <listitem> <para ><application >КППП</application > има ситних проблема при дељењу линије са другим програмима, као што је <command >mgetty</command >. Ако се <command >mgetty</command > извршава на истој модемској линији, <application >КППП</application > не може правилно да припреми модем. </para> </listitem> <listitem> <para ><application >КППП</application > не може да тражи улаз од корисника током пријављивања заснованог на скрипти. Нажалост, кад користите скрипту по претходном примеру, <application >КППП</application > пита за корисничко име и други пут кад га сервер повратног позива затражи. Овог се можете отарасити непосредним уписивањем корисничког имена у скрипту, што није ни много преносиво ни фино, али ради.</para> </listitem> </itemizedlist> </sect2> <!-- all links are dead <sect2 id="callback-resources"> <title >Internet Resources for server software</title> <para >&Linux; callback server software bundles are available in many places.</para> <para >The well known <application >mgetty</application > is a very powerful program, and is also able to handle callback connections. A description of how to set up <application >mgetty</application > for this purpose is maintained at <ulink url="http://www.dyer.demon.co.uk/slug/tipscrip.htm"> http://www.dyer.demon.co.uk/slug/tipscrip.htm</ulink >, by Colin McKinnon, <email >colin@wew.co.uk</email >.</para> <para >There is also a ready to use package for &Linux; at <ulink url="http://www.icce.rug.nl/docs/programs/callback/callback.html"> http://www.icce.rug.nl/docs/programs/callback/callback.html</ulink >. This package is maintained by Frank B. Brokken, <email >frank@icce.rug.nl</email >. As the setup, although straightforward, is not very easy, I have written a short introduction for it at <ulink url="http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback" >http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback/</ulink >, which also contains a more general introduction to callback.</para> </sect2> --> </sect1> <sect1 id="nt-callback"> <title >РАС повратни позиви под Виндоузом НТ</title> <para >Виндоуз НТ користи потпуно другачији прилаз од претходно описаног. НТ захтева проширење самог протокола ППП, звано ЦБЦП. <command >pppd</command > називно има подршку за овај протокол, али се мора укључити при компиловању. Ако неко успе да се повеже на сервер повратних позива под НТ‑ом, молимо да нас обавести.</para> </sect1> </chapter>