Membuat Dial-in Callback server

Attention: open in a new window. PDFPrintE-mail

Apa itu dialin and callback server? Bagi newbie seperti saya (pada saat mengenal computer) tentu saja merupakan kata yang langka. Sederhananya dialin server adalah sebuah server yang melayani client dialup melalui jalur/line telephone menggunakan protokol pptp.

Note: Tulisan ini adalah sumbangan dari salah seorang contributor kami dengan nick Schatje. Thanks.

In a PPP dialin server setup, users dial in through a telephone line and modem to establish a PPP connection with a remote server. It is possible to make a Linux box call back the user who dialed the server. This document describes the step-by-step procedure to set up a Linux-based callback server.

 

Ok..saya tidak akan memberi penjelasan panjang lebar apa itu dialin server.. mari melanjutkan ke tahap berikutnya.

 

Kebutuhan Software (pre configuration)

Kebetulan OS yang saya pakai ada Fedora yang merupakan turunan langsung dari redhat :

redhat:~# uname -a
Linux redhat 2.6.14.3 #1 Tue Dec 13 19:28:51 SGT 2005 i686 i686 i386 GNU/Linux

PERHATIAN: Anda memerlukan hak root/superuser untuk melakukan ini!

Pertama-tama pastikan bahwa di system anda telah ada paket-paket berikut:

  • pppd

  • mgetty Untuk melihat apakah paket tersebut sudah ada di system kita, lakukan:

redhat:~# whereis pppd
pppd:

Jika hasilnya seperti di atas, berarti paket pppd belum terinstall di system anda, maka saya (memakai Redhat Family) melakukan instalasi memakai rpm saja:

redhat:~# rpm -ivh ppp-2.4.2-6.4.FC3.i386.rpm

Berikutnya, kita check apakah paket mgetty sudah ada. Sekali lagi lakukan :

redhat:~# whereis mgetty
mgetty:

Sama seperti sebelumnya, paket mgetty belum terinstall.

redhat:~# rpm -ivh mgetty-1.1.31-4_FC3.i386.rpm

Sekarang semua paket yang dibutuhkan sudah terinstall di system, mari kita lanjutkan ke tahap berikutnya.

Jika anda menggunakan distro lain, silahkan menggunakan paket sesuai dengan distro anda!

Kebutuhan Hardware (modem)

Dalam hal ini saya menggunakan External modem yang terhubung ke COM1 di computer, ini berarti /dev/ttyS0 di Linux. Jika anda menggunakan COM2 ini berarti /dev/ttyS1. Pastikan bahwa modem yang anda gunakan telah di support oleh Linux. Jika anda menggunakan softmodem (internal modem) yang menggunakan chipset conexant, silahkan meluncur ke http://www.linuxant.com. Saya tidak akan membahas bagaimana cara meng-install driver softmodem tersebut, karena saya tidak mempunyai banyak waktu untuk melakukan percobaan.
Setelah menghubungkan kabel data modem ke port COM1, saya jalankan perintah:

redhat:~# kudzu

Maka kudzu akan mendeteksi apakah ada hardware baru (dalam hal ini modem) yang terhubung ke system kita.

Configurasi (dialin)

Berikut adalah step-by-step yang saya lakukan

1. Buat group ppp dan user pppuser:

redhat:~# groupadd -g 96 ppp
redhat:~# useradd pppuser -u 96 -g 96 -s /usr/sbin/ppplogin

2. Buat file /usr/sbin/ppplogin yang isinya:

#!/bin/sh
#/etc/ppp/ppplogin
# PPP login script
mesg n
stty -echo
exec /usr/sbin/pppd -detach modem debug crtscts

3. Set access attributes file /usr/sbin/ppplogin yang barusan dibuat:

redhat:~# chmod 750 /usr/sbin/ppplogin
redhat:~# chown root:ppp /usr/sbin/ppplogin

4. Set access attributes directory /etc/ppp (optional):

redhat:~# chmod 775 /etc/ppp
redhat:~# chown root:root -R /etc/ppp

5. Set access attributes file /usr/sbin/pppd:

redhat:~# chmod 750 /usr/sbin/pppd
redhat:~# chmod u+s /usr/sbin/pppd

6. Tambahkan entry berikut di file /etc/inittab jika modem anda terkoneksi di COM1:

S0:2345:respawn:/sbin/mgetty ttyS0 -D /dev/ttyS0

Atau, jika modem terpasang juga di COM2:

S1:2345:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1

7. Restart init.

redhat:~# init q

8. Tambahkan entry berikut di file /etc/mgetty/login.config:

/AutoPPP/ - - /usr/sbin/pppd auth +pap -chap login -detach

Untuk baris lainnya silahkan dicomment.

9. Buat file /etc/ppp/options.ttyS0 jika modem anda di COM1 atau /etc/ppp.options.ttyS1 jika anda menggunakan COM2, yang isinya:

192.168.76.254:192.168.76.99
debug

Keterangan: baris pertama kolom pertama isi dengan IP server anda, kolom kedua diisi alokasi IP untuk client ppp anda Silahkan sesuaikan dengan IP di network anda.

10. Edit file /etc/ppp/options:

#lock (default)
-detach
asyncmap 0
modem
crtscts
proxyarp
lock
require-pap
refuse-chap
ms-dns 192.168.76.254 # Isi IP DNS 1
ms-dns 202.51.209.6 # Isi IP DNS 2
usepeerdns

11. Edit file /etc/ppp/pap-secrets:

# Secrets for authentication using PAP
# client server secret IP addresses
pppuser * password *

12. Sekarang silahkan dicoba dialup ke server kita dari client. Jika client menggunakan System Operasi Windows silahkan buat koneksi melalui dial up networking, login menggunakan username: pppuser dan password: password Pastikan sampai dilangkah ini koneksi dari client ke server sudah jalan, check apakah client sudah mendapatkan IP (contoh) 192.168.76.99
Jika sudah sukses pada tahap ini, mari kita lanjutin untuk setting callback nya, jika belum mungkin ada yang terlewati, silahkan check lognya.

Configurasi CallBack (Server)

Jika dial in sudah berjalan sempurna, sebenarnya setting callback sangat mudah, tidak seperti yang saya bayangkan sebelumya :)
Berikut adalah tahap yang dilakukan:

1. Buat user back.

redhat:~# useradd back

2. Buat file kosong /ete/mgetty/callback.conf.

redhat:~# touch /ete/mgetty/callback.conf

3. Edit file /etc/mgetty/login.config tambahkan entry berikut :

back - - /usr/sbin/callback -S 12011976

12011976 adalah tanggal lahir saya :)... hehehhe yang benar itu nomor tujuan yang akan dicallback oleh si server, jadi isi saja nomor telp rumah anda, bukankah tujuannya agar kita bisa main internet sambil memonitor jaringan/computer di kantor dari rumah, tapi pulsa kantor yang bayar :D

4. Selesai
Configurasi untuk callback server sampai di sini. Dan ini dijamin berjalan. Sekarang yang perlu dilakukan adalah configurasi di sisi client.

Configurasi CallBack (client Windows)

Sebagai client saya menggunakan OS Windows XP professional, tapi configurasinya sama untuk versi Windows lainnya.

1. Jalankan control panel, kemudian buka Phone and modem options. Di tab modems pilih modem yang akan digunakan (jika terdapat lebih dari 1 modem) untuk melakukan koneksi ke callback server dan click Properties. Sekarang masuk ke tab advanced, masukan entry berikut dibagian extra initialization commands.

&c0s0=1

2. Masih dalam Control Panel click Network Connetions, click kanan di koneksi dialup yang sudah kita buat pilih Properties masuk ke tab Security dan check options Show Terminal Window di bagian Interactive logon and scripting

3. Sekarang coba jalankan koneksi dialup,
Setelah terkoneksi dengan server, maka akan muncul After Dial Terminal window, yang meminta kita untuk memasukan username, ketik back dan tekan enter:

Fedora Core release 3 (Heidelberg)
Kernel 2.6.14.3 on an i686


redhat login:back

Dialing continues in the background, all further messages will
be written to the logfile '/var/log/mgetty.log.callback'.
Please look there for errors / diagnostics.


NO CARRIER

Sampai di sini, server akan melakukan pemutusan koneksi dengan client secara otomatis, selang beberapa detik (sekitar 35 detik), server akan melakukan panggilan ke nomor yang telah kita set pada file /etc/mgetty/login.config. Berikut tampilan lengkap yang muncul di After Dail Terminal Window

Fedora Core release 3 (Heidelberg)
Kernel 2.6.14.3 on an i686


redhat login:back
Dialing continues in the background, all further messages will
be written to the logfile '/var/log/mgetty.log.callback'.
Please look there for errors / diagnostics.


NO CARRIER

RING
CARRIER 33600

PROTOCOL: LAP-M

COMPRESSION: V.42BIS

CONNECT 33600
Connection established, please wait...
...ok

Fedora Core release 3 (Heidelberg)
Kernel 2.6.14.3 on an i686


redhat login:

Perhatian: Jika terminal line in dari telkom terpasang juga (parallel) dengan pesawat telephone, maka pada saat muncul tulisan RING di atas, pesawat telephone anda akan berdering, jangan diangkat!!

Pada beberapa modem, RING akan terjadi selama 3 kali.

Click Done.
Sampai di sini setting callback di sisi client menggunakan OS Windows selesai.

Configurasi CallBack (client Linux)

Untuk client yang menggunakan linux, mungkin akan lebih sulit, dan kebetulan saya belum sempat mencoba, jadi silahkan anda coba sendiri :D

1. Buat file /etc/ppp/options yang berisi:

lock
defaultroute
noipdefault
modem
115200
crtscts
debug
passive
asyncmap 0

2. Buat file /etc/ppp/peers/pppcallback yang berisi:

ttyS1 19200 crtscts
connect '/usr/sbin/chat -v -f /etc/ppp/chat-callback'
noauth

3. Buat file /etc/ppp/chat-callback yang berisi:

ABORT BUSY
ABORT VOICE
ABORT "NO DIALTONE"
ABORT "NO ANSWER"
"" ATZ
OK ATDT123456 # Telephone number of server
CONNECT \d\d
ogin: \q\dback
TIMEOUT 90
RING AT&C0S0=1
ogin: \q\dpppuser
assword: \q\dpassword

Sesuaikan isi file di atas sesuai dengan nomor telephone yang dipasang dimodem server (dial-in server). Juga username dan password disesuaikan dengan username dan password yang anda telah buat di server.
Pada beberapa modem mungkin anda perlu mengganti ATZ dengan AT&FX2

4. Buat file /usr/bin/pppcall yang berisi:

#!/bin/bash
/usr/sbin/pppd -detach call pppcall &

5. Set access attributes file tersebut agar executable

redhat:~# chmod 755 /usr/bin/pppcall

Sekarang anda bisa melakukan dialup ke server dengan menjalankan file /usr/bin/pppcall

Troubleshooting

Jika anda belum/tidak berhasil, sudah bisa dipastikan ada yang terlewati, silahkan ulangi dari tahap pertama, silahkan check log /var/log/mgetty.log.callback juga /var/log/mgetty.log.ttyS0 atau /var/log/mgetty.log.ttyS1 jika modem anda terpasang pada COM2, anda juga bisa menghubungi saya di e-mail jika ada pertanyaan seputar HOW TO ini.

About author

Author HOW TO ini adalah saudara Tomas Vilda, silahkan contact dia di This e-mail address is being protected from spambots. You need JavaScript enabled to view it jika anda menemui kesulitan. Pada beberapa bagian saya tambahkan berdasarkan tulisan saudara Sunil Thomas Thonikuzhiyil. Saya sendiri adalah seorang newbie yang bekerja sebagai Administrator di Royal Resorts.

Copyrigth

This document is copyrighted to Tomas Vilda. You can use it in all ways, but don't change this section and allways include it.

This tutorial was last update on 2003 11 14. You can allways find newest version on here

Note: Thanks Schatje atas tutorial yang sangat menarik ini. Sering2 nulis yah!

Comments (9)
  • ferry
    mas fajar aku mencoba tutorial dialbacknya nih dan sampai sekarang masih error ini hasi dari file log messages

    Apr 3 22:51:07 localhost init: Re-reading inittab
    Apr 3 22:52:14 localhost mgetty[1913]: failed dev=ttyS0, pid=1913, got signal 1, exiting
    Apr 3 22:56:18 localhost mgetty[7817]: failed dev=ttyS0, pid=7817, got signal 1, exiting

    dan ini hasil file log mgetty.log.ttyS0

    04/03 22:52:14 yS0 mgetty: experimental test release 1.1.30-Dec16
    04/03 22:52:14 yS0 check for lockfiles
    04/03 22:52:14 yS0 locking the line
    04/03 22:52:14 yS0 lowering DTR to reset Modem
    04/03 22:52:15 yS0 send: \dATQ0V1H0[0d]
    04/03 22:52:15 yS0 waiting for ``OK'' ** found **
    04/03 22:52:15 yS0 send: ATS0=0Q0&D3&C1[0d]
    04/03 22:52:15 yS0 waiting for ``OK'' ** found **
    04/03 22:52:16 yS0 waiting...
    04/03 22:55:23 yS0 wfr: waiting for ``RING''
    04/03 22:55:23 yS0 send: ATA[0d]
    04/03 22:55:23 yS0 waiting for ``CONNECT'' ** found **
    04/03 22:55:43 yS0 send:
    04/03 22:55:43...
  • wahyono
    Pak Ari, Sya lagi buat server Dialinn Callback tpi kesulitan mencari paket mgetty-nya. Dimana saya harus download dan versinya berapa?. Saya menggunakan fedora core 1. Bisa ga ya.... server itu berjalan di fedora core 1???
    Tolong kalau bisa disend ke wahyono_eltech@yahoo.com
    SEbelumnya sya ucapkan terimakasih.

    Yon's
  • ruben
    halo mas, settingnya sudah berhasil sampai memasukkan username : back untuk callback, tp tidak pernah callback. saya liat di /etc/mgetty/login.config ada perintah "back - - /usr/sbin/callback -S 12011976". Pertanyaannya: dimana saya bisa dapat program "callback" nya ya ? Padahal sudah recompile pppd untuk callback. Terimakasih
  • wahyono
    Contoh konfigurasi Callback itu pake Fedora core 3 khan??? Kalau pake FC 4 sama ga konfigurasinya????? kalau ga tlng donk..
    Mohon dijawab, Karena buat Tugas Akhir nikh..perlu cepat2.
    Makasih sebelumya
  • wahyono
    Hallo semuanya.....
    Ternyata membuat dialin callback server tidak susah. Sekarang setelah ngoprek hampir sebulan, saya berhasil membuat dialin callback server yang bisa berjalan lancar di Linux Red Hat 8.0 dan Linux EL 3.
    Berikut File Konfigurasi yg sya buat.

    1)Buat Dialin Server
    - Buat user yg digunakan utk koneksi PPP
    #adduser pppuser
    - Buat password user tersebut
    #passwd pppuser
    - Setelah itu edit file /etc/passwd, ubah baris utk user PPP menjadi
    pppuser:x:502:502::/home/pppuser:/usr/sbin/pppd
    -> angka 502 diatas mungkin berbeda pada komputer yg berbeda
    - Tambahkan baris berikut pada file /etc/inittab (untuk COM 1)
    S0:2345:respawn:/sbin/mgetty ttyS0 -D /dev/ttyS0
    -> restart init dgn perintah
    #init q
    - Ubah atribut file /usr/sbin/pppd
    #chmod u+s /usr/sbin/pppd
    - Edit file /etc/mgetty+sendfax/login.config, tambahkan baris berikut
    /AutoPPP - - /usr/sbin/pppd file /etc/ppp/options
    - Edit/buat file /etc/ppp/options, yg isinya
    asyncmap 0
    modem
    crtscts
    lock
    p...
  • afrimansyah
    pulsa telpnya masuk ke pulsa mana yahh?maaf klo salah,masih kurang paham:)
  • Ali
    Saya orang yang awam dengan linux,tp boleh tanya ngga. Gimana sih caranya agar komputer saya di rumah bisa browsing internet dll termasuk voip tp menggunakan jalur yg dari kantor. Di kantor saya menggunakan ADSL unlimited,dengan server redhat. Saya ingin bisa call back,terima kasih
  • Ali
    Saya orang yang awam dengan linux,tp boleh tanya ngga. Gimana sih caranya agar komputer saya di rumah bisa browsing internet dll termasuk voip tp menggunakan jalur yg dari kantor. Di kantor saya menggunakan ADSL unlimited,dengan server redhat. Saya ingin bisa call back,terima kasih
  • haris gumilar
    assalammu'alaikum.
    kang minta bantuannya, sya nyoba buat bangun web server sendiri di linux redhat enterprise, tapi sya mengalami hambatan pas mu edit file named.conf, buat setting DNS nya, soalnya tu kan pke perintah vi /etc/named.conf, nah yang buat sya bingung cara save file yang udah dirubahnya gmna kang??maklum baru belajar, :D. trus sya coba edit nya pake perintah gedit, bisa sich di simpen. cuma da error koneksi rndc key nya kang, gmna ya???mohon bantuannya, makasih.
Only registered users can write comments!