Koneksi internet menggunakan script
Ada banyak cara untuk menghubungkan komputer linux anda dengan internet melalui PPP. Petunjuk ini hanya akan menjelaskan langkah-langkah yang diperlukan untuk memakai ppp melalui script. Mungkin agak sedikit rumit tetapi memiliki beberapa keuntungan:
Tidak memerlukan software tambahan (cukup pppd)
Bisa berjalan pada modus text (tidak memerlukan X Window)
Bisa dijalankan melalui crontab untuk dial berkala (lihat bagian )
Scriptnya bisa mencari line telepon ISP yang kosong. Hal ini sangat berguna bila telepon ISP anda selalu sibuk
PPP Script Tutorial tersedia dalam berbagai format yaitu:
html, Online atau Offline 11 KB
dvi, ppp.dvi 59 KB
ps, ppp.ps 156 KB
text, ppp.txt 39 KB
Dan juga tersedia source dalam format:
sgml ppp.sgml 39 KB dan
source lyx ppp.lyx 61 KB
——————————————————————————–
PPP Script Tutorial
Zakaria, zak@telkom.net
v1.1.2, 29 Dec 1999
——————————————————————————–
Dokumen ini mencoba menjelaskan langkah-langkah yang harus ditempuh untuk membuat komputer linux anda berinternet-ria melalui PPP dengan menggunakan script. Petunjuk ini dibuat pada RedHat Linux 5.2, untuk distribusi lain mungkin juga bisa, kalau ada masalah silakan tanya ahli distronya. Untuk troubleshooting silakan lihat PPP HOWTO atau tanya saya atau mailing list linux-setup@linux.or.id (tentu saja anda harus subscribe dulu 🙂
——————————————————————————–
1. Pendahuluan
Ada banyak cara untuk menghubungkan komputer linux anda dengan internet melalui PPP. Petunjuk ini hanya akan menjelaskan langkah-langkah yang diperlukan untuk memakai ppp melalui script. Mungkin agak sedikit rumit tetapi memiliki beberapa keuntungan:
Tidak memerlukan software tambahan (cukup pppd)
Bisa berjalan pada modus text (tidak memerlukan X Window)
Bisa dijalankan melalui crontab untuk dial berkala (lihat bagian )
Scriptnya bisa mencari line telepon ISP yang kosong. Hal ini sangat berguna bila telepon ISP anda selalu sibuk
Versi terakhir dokumen ini dalama berbagai format (html, dvi, ps, text) berikut dengan sourcenya dapat anda dapatkan di http://members.xoom.com/telorasin/pemula/
2. Log Perubahan
versi 1.0
Direlease pertamakali di KPLI Jakarta mailing list
versi 1.1
Copyright diubah menjadi OPL (Open Content)
Menambah setting security
Menggabungkan setting modem dengan ppp-chat-init
Menambah saving routing dengan linuxconf
Mengubah ppp-redialer
Mengubah ppp-chat-dial
Perubahan Estetika
versi 1.1.1
Merubah tanggal 🙂
Ubah URL modem init
Ubah ppp-chat-init dan ppp-chat-dial
Perubahan Estetika
versi 1.1.2
Tambahan di Perubahan Setting – User Name & Password (terimakasih untuk dik Nur atas sarannya)
3. Copyright & Disclaimer
Hak cipta dilindungi Undang-Undang. Izin diberikan untuk memperbanyak, menyebarluaskan dan mengubah dokumen inii seperti diatur dalam OpenContent License (OPL).
Secara singkat anda boleh memperbanyak dan meyebarluaskan selama copyright dan disclaimer ini diikutsertakan. Anda juga boleh mengubah isi dokumen ini selama anda menyatakan dengan jelas perubahannya dan hasil perubahannya harus di-license dengan OPL juga. Selain itu anda berhak meminta bayaran atas media atau pengiriman dokumen ini atau bayaran atas jaminan dan dukungan teknis.
Walaupun penulis sudah berupaya untuk membuat dokumen ini bebas dari kesalahan tetapi TIDAK ADA JAMINAN bahwa petunjuk ini akan bekerja dan tidak MERUSAK sistem/komputer anda.
OpenContent License (OPL) secara lengkap dapat anda lihat di http://www.opencontent.org/opl.shtml
4. Yang diperlukan
Modem (kalau ada manualnya lebih baik
Informasi ISP (no telp dan IP DNS Primary & Secondary)
Password root (harus pakai root dong 🙂
5. Persiapan
5.1 Setting Linux Agar Kenal Modem
Untuk menggunakan modem anda harus mensetting linux anda agar linux tahu dimana ia harus mencari modem. Untuk mensetting cukup jalankan perintah
——————————————————————————–
ln -s /dev/cua0 /dev/modem
——————————————————————————–
Jika modem anda terhubung ke COM1 jika modem anda terhubung ke COM2 ganti /dev/cua0 dengan /dev/cua1, jika COM3 menjadi cua2 dan seterusnya.
5.2 Mengetest Modem
Untuk mengetest modem anda sudah terhubung dengan baik jalankan langkah-langkah berikut:
Jalankan minicom
——————————————————————————–
# minicom
Welcome to minicom 1.82
OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n
Compiled on Oct 1 1998, 23:34:55.
Press CTRL-A Z for help on special keys
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
——————————————————————————–
Kalau tampilannya seperti diatas berarti modem dan komputer anda sudah terhubung. Jika belum cek apakah modemnya sudah dinyalakan atau kabel serialnya sudah terhubung.
Untuk mengetest line telepon anda ketikkan ATDT
——————————————————————————–
ATDT9,5759000
CONNECT 26400/V42BIS
Welcome to 3Com Total Control HiPer ARC (TM)
Networks That Go The Distance (TM)
login: xxxxx
Password:
——————————————————————————–
Kalau modem anda sudah berbunyi toet totet dan tampilannya seperti diatas berarti koneksi line telepon anda sudah baik. Catatan: Contoh diatas memakai line telepon dibelakan PABX jadi perlu 9, dulu untuk dial ke luar. Jika line telepon anda langsung (misalnya di rumah) tidak perlu pakai 9, cukup ATDT5759000
Jika line telepon anda belum terkoneksi dengan baik periksa kabel telepon (coba dengan telepon biasa) atau line telepon anda memakai PABX 4 Kabel (untuk yang ini saya nggak tahu bagaimana cara menanganinya : Networking – Client tasks – Routing and gateways – Defaults
Kosongkan kotak default gateway dan kosongkan checkbox Enable Routing
5.4 Testing PAP/CHAP
Beberapa ISP di Indonesia menggunakan PAP atau CHAP untuk otorisasi pengguna yaitu mereka tidak menggunakan Login: & Password: prompt untuk mengotorisasi. Tetapi beberapa ISP menggunakan PAP dengan login: dan password: prompt, IndosatNet misalnya. Untuk memastikan hubungi Customer Services ISP anda. Kalau mereka tidak tahu anda bisa menganggap ISP anda memakai otorisasi biasa atau melakukan testing berikut:
Dial no telepon ISP anda (caranya seperti testing modem)
Jika mereka menampilkan login: dan password: berarti mereka menggunakan otorisasi biasa
Jika yang tampil adalah sampah seperti dibawah ini dan terus datang berarti mereka menggunakan PAP/CHAP
——————————————————————————–
y}#.!}!}!} }8}!}$}%U}”}&} } } } }%}& …}’}”}(}”} .y}
——————————————————————————–
Tetapi seperti saya bilang diatas beberapa server menggunakan PAP dengan login: dan password: salah satu petunjuknya adalah prompt sebelum login misalnya “Indosat PAP server”
6. Editing File
6.1 Sebelum Meng-edit
Setting berikut dibuat dengan user name: user dan password: pass. Jika ISP anda CBN atau IndosatNet anda bisa langsung meng-copy setting di bawah ini dengan mengubah user name dan passwordnya. Untuk perubahan setting lihat Bagian .
Disamping nama file terdapat keterangan seperti (root, root 700) ini berarti file itu dimiliki oleh user root, group root dan modenya 644 (rw-r–r–) jika tidak sesuai ubah dengan chown, chgrp dan chmod (lihat masing-masing man untuk lebih detail).
6.2 Setting Security
Untuk mengamankan linux anda dari cracker di internet anda harus mengatur akses ke komputer anda. Petunjuk berikut hanya menjelaskan langkah-langkah dasar untuk mengamankan komputer anda untuk lebih mengamankan komputer anda silakan baca Security-HOWTO
hosts.deny
Edit file /etc/hosts.deny (root, root 644)untuk menolak semua akses ke komputer anda
——————————————————————————–
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
ALL:ALL
——————————————————————————–
hosts.allow
Edit file /etc/hosts.allow (root,root 644) untuk mengizinkan akses ke komputer anda selain yang ditolak oleh /etc/hosts.deny. Minimal anda harus mengizinkan komputer anda (127.0.0.1) untuk mengakses dirinya sendiri !
——————————————————————————–
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
ALL:127.0.0.1
——————————————————————————–
Jika komputer anda berada dalam jaringan (LAN) anda harus menambah entry di hosts.allow dengan IP LAN anda atau komputer anda tidak dapat diakses dari komputer lainnya di LAN. Untuk komputer yang berada di LAN dengan range IP subclass C unregistered (192.168.1.x) file /etc/hosts.deny-nya adalah:
——————————————————————————–
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
#
ALL:127.0.0.1
ALL:192.168.1.0/255.255.255.0
——————————————————————————–
6.3 Setting DNS Server
Edit file /etc/resolv.conf (root, root 644) untuk menunjukkan DNS server ISP anda
DNS CBN
——————————————————————————–
# CBN
search cbn.net.id
nameserver 202.158.3.6
nameserver 202.158.3.7
——————————————————————————–
DNS IndosatNet
——————————————————————————–
# IndosatNet
search indosat.net.id
nameserver 202.155.0.10
nameserver 202.155.0.15
——————————————————————————–
6.4 Script ppp-on
Buat file /etc/ppp/ppp-on (root, root 700) untuk menjalankan pppd
CBN
——————————————————————————–
#!/bin/sh
#
# script to connect to ISP
#
# CBN
exec /usr/sbin/pppd debug /dev/ttyS0 115200
connect /etc/ppp/ppp-redialer
——————————————————————————–
IndosatNet
——————————————————————————–
#!/bin/sh
#
# script to connect to ISP
#
# IndosatNet
exec /usr/sbin/pppd debug name user /dev/ttyS0 115200
connect /etc/ppp/ppp-redialer
——————————————————————————–
6.5 Script ppp-redialer
Buata file /etc/ppp/ppp-redialer (root, root 700) untuk mendial ke ISP
CBN
——————————————————————————–
#!/bin/sh
# Script untuk mendial ISP dengan mencari line telepon yang kosong
# Copyright (c) Zakaria 1999 licensed in GPL
#
###################################################################
#
# Parameter ini mengatur urutan dial
#
# Berapa kali nomor telepon yang sama di dial
MAX_ATTEMPTS=5
# Waktu antara setiap dial. Parameter ini digunakan oleh sleep
# jadi gunakan “15s” untuk 15 second (detik), “1m” untuk 1 menit, dst
SLEEP_DELAY=1s
###################################################################
#
# No awal di dial untuk telepon keluar, gunakan bila anda memakai PABX
PHONEPRE=””
# Daftar nomor telepon. Tambahkan no telepon baru dan
# ubah function callall supaya sesuai dengan daftar no telepon
#
#PHONE1=5759000
PHONE1=57989000
#PHONE2=52994999
#PHONE3=25537500
PHONE2=25507500
PHONE3=25655000
###################################################################
#
# Function untuk mengeset modem untuk memastikan modem siap dipakai
function initialize
{
/usr/sbin/chat -v -f /etc/ppp/ppp-chat-init
return
}
###################################################################
#
# Function untuk mendial no telepon
#
function callnumber
{
# initialize setiap dial untuk menghindarkan modem hang pada saat chat
/usr/sbin/chat -v -T $1 -f /etc/ppp/ppp-chat-dial
# Jika koneksi berhasil maka kita akhiri script
# dengan return value 0 (tanpa error)
#
if [ “$?” = “0” ]; then
exit 0
else
initialize
fi
return
}
###################################################################
#
# Function untuk mendial semua no telepon
#
function callall
{
# echo “dialing attempt number: $1” /dev/console
callnumber $PHONEPRE$PHONE1
callnumber $PHONEPRE$PHONE2
callnumber $PHONEPRE$PHONE3
}
###################################################################
#
# Set modem jika tidak berhasil exit dengan return value = 1 (ada error)
initialize
if [ ! “$?” = “0” ]; then
exit 1
fi
#
# Dial no telepon sampai salah satu nyambung atau MAX_ATTEMPTS tercapai
#
attempt=0
while : ; do
attempt=`expr $attempt + 1`
callall $attempt
if [ “$attempt” = “$MAX_ATTEMPTS” ]; then
exit 1
fi
sleep “$SLEEP_DELAY”
done
——————————————————————————–
IndosatNet
——————————————————————————–
#!/bin/sh
# Script untuk mendial ISP dengan mencari line telepon yang kosong
# Copyright (c) Zakaria 1999 licensed in GPL
#
###################################################################
#
# Parameter ini mengatur urutan dial
#
# Berapa kali nomor telepon yang sama di dial
MAX_ATTEMPTS=5
# Waktu antara setiap dial. Parameter ini digunakan oleh sleep
# jadi gunakan “15s” untuk 15 second (detik), “1m” untuk 1 menit, dst
SLEEP_DELAY=1s
###################################################################
#
# No awal di dial untuk telepon keluar, gunakan bila anda memakai PABX
PHONEPRE=””
# Daftar nomor telepon. Tambahkan no telepon baru dan
# ubah function callall supaya sesuai dengan daftar no telepon
#
PHONE1=3825001
PHONE2=3825200
PHONE3=34354000
PHONE4=7507977
PHONE5=3524001
PHONE6=3520550
PHONE7=3864901
###################################################################
#
# Function untuk mengeset modem untuk memastikan modem siap dipakai
function initialize
{
/usr/sbin/chat -v -f /etc/ppp/ppp-chat-init
return
}
###################################################################
#
# Function untuk mendial no telepon
#
function callnumber
{
# initialize setiap dial untuk menghindarkan modem hang pada saat chat
initialize
/usr/sbin/chat -v -T $1 -f /etc/ppp/ppp-chat-dial
# Jika koneksi berhasil maka kita akhiri script
# dengan return value 0 (tanpa error)
#
if [ “$?” = “0” ]; then
exit 0
fi
return
}
###################################################################
#
# Function untuk mendial semua no telepon
#
function callall
{
# echo “dialing attempt number: $1” /dev/console
callnumber $PHONEPRE$PHONE1
callnumber $PHONEPRE$PHONE2
callnumber $PHONEPRE$PHONE3
callnumber $PHONEPRE$PHONE4
callnumber $PHONEPRE$PHONE5
callnumber $PHONEPRE$PHONE6
callnumber $PHONEPRE$PHONE7
}
###################################################################
#
# Set modem jika tidak berhasil exit dengan return value = 1 (ada error)
initialize
if [ ! “$?” = “0” ]; then
exit 1
fi
#
# Dial no telepon sampai salah satu nyambung atau MAX_ATTEMPTS tercapai
#
attempt=0
while : ; do
attempt=`expr $attempt + 1`
callall $attempt
if [ “$attempt” = “$MAX_ATTEMPTS” ]; then
exit 1
fi
sleep “$SLEEP_DELAY”
done
——————————————————————————–
6.6 Setting Modem dan Script ppp-chat-init
Untuk bekerja dengan baik, modem harus diset dengan menggunakan modem init string. Modem init string adalah suatu kumpulan perintah untuk menginisialisasi modem supaya bekerja pada modus yang sesuai. Perintah-perintah ini biasanya dimulai dengan huruf AT sehingga sering disebut perintah AT atau AT command. Jika anda mempunya manual book modem anda dapat melihat daftar AT command di manual book tersebut. Jika anda tidak mempunyai manual book modem anda bisa mencoba init string standar atau anda dapat mencari init string untuk modem anda di http://www.spy.net/~dustin/modem/.
Jika anda mempunyai manual modem menurut PPP-HOWTO minimal yang anda harus perhatikan adalah
Hardware flow control (RTS/CTS) (&K3 on many Hayes modems)
Setting lain yang patut diselidiki
E1 Command/usr/src/linux-2.0.27/include/linux/serial.h Echo ON (required for chat to operate)
Q0 Report result codes (required for chat to operate)
S0=0 Auto Answer OFF (unless you want your modem to answer the phone)
&C1 Carrier Detect ON only after connect
&S0 Data Set Ready (DSR) always ON
(depends) Data Terminal Ready
Tetapi biasanya AT&F dan/atau AT&Z sudah mencukupi. Jika anda sudah mengetahui perintah AT Command yang sesuai dengan modem anda atau anda yakin modem anda cukup standar buat file /etc/ppp/ppp-chat-init (root, root 600) untuk chat script inisialisasi modem
——————————————————————————–
TIMEOUT 3
” rAT
‘OK-+++c-OK’ ATH
OK AT&F
——————————————————————————–
6.7 Script ppp-chat-dial
Buat file /etc/ppp/ppp-chat-dial (root, root 600) untuk chat script dial
CBN
——————————————————————————–
TIMEOUT 3
OK-rAT-OK ATDTT
TIMEOUT 60
ABORT ‘nBUSYr’
ABORT ‘nNO ANSWERr’
ABORT ‘nNO DIALTONEr’
ABORT ‘nNO CARRIERr’
ABORT ‘nRINGINGrnrnRINGINGr’
SAY “Dialing CBN ..n”
‘CONNECT’ ”
ECHO ON
TIMEOUT 20
ogin:–ogin: user
ECHO OFF
SAY “Sending Loginn”
assword: pass
SAY “Sending Passwordn”
~ ”
SAY “Connectedn”
——————————————————————————–
IndosatNet
——————————————————————————–
TIMEOUT 3
OK-rAT-OK ATDTT
TIMEOUT 60
ABORT ‘nBUSYr’
ABORT ‘nNO ANSWERr’
ABORT ‘nNO DIALTONEr’
ABORT ‘nNO CARRIERr’
ABORT ‘nRINGINGrnrnRINGINGr’
SAY “Dialing IndosatNet ..n”
‘CONNECT’ ”
‘0’ ”
SAY “Connectedn”
——————————————————————————–
6.8 Setting Option PPP
edit file /etc/ppp/options (root, root 600)
——————————————————————————–
# Prevent pppd from forking into the background
-detach
#
# use the modem control lines
modem
# use uucp style locks to ensure exclusive access to the serial device
lock
# use hardware flow control
crtscts
# create a default route for this connection in the routing table
defaultroute
# do NOT set up any “escaped” control sequences
asyncmap 0
# use a maximum transmission packet size of 552 bytes
# Put values 2*N*128 + 40 (40 header)
#mtu 1064
mtu 552
#mtu 296
# use a maximum receive packet size of 552 bytes
#mru 1064
mru 552
#mru 296
#
# Set the maximum number of LCP configure-request transmissions to
# (default 10).
# Some PPP servers are slow to start up. You may need to increase this
# if you keep getting ‘serial line looped back’ errors and your are SURE
# that you have logged in correctly and PPP should be starting on the server.
# lcp-max-configure 25
# How many second we tolerate idle ? Useful for cron dialing
# idle 60
——————————————————————————–
6.9 PAP Secret (hanya PAP)
edit file /etc/ppp/pap-secrets (root, root 600) untuk menyimpan password anda
IndosatNet
——————————————————————————–
# Secrets for authentication using PAP
# client server secret IP addresses
user * pass
——————————————————————————–
6.10 File-file lain
File-file ini secara default sudah ada di linux anda tetapi untuk kelengkapan saya sertakan disini. Biasanya file ini terletak di /etc/ppp atau /usr/doc/ppp-*/scripts
File /etc/ppp/ppp-off
Script untuk memutuskan koneksi (root, root 700)
——————————————————————————–
#!/bin/sh
######################################################################
#
# Determine the device to be terminated.
#
if [ “$1” = “” ]; then
DEVICE=ppp0
else
DEVICE=$1
fi
######################################################################
#
# If the ppp0 pid file is present then the program is running. Stop it.
if [ -r /var/run/$DEVICE.pid ]; then
kill -INT `cat /var/run/$DEVICE.pid`
#
# If the kill did not work then there is no process running for this
# pid. It may also mean that the lock file will be left. You may wish
# to delete the lock file at the same time.
if [ ! “$?” = “0” ]; then
rm -f /var/run/$DEVICE.pid
echo “ERROR: Removed stale pid file”
exit 1
fi
#
# Success. Let pppd clean up its own junk.
echo “PPP link to $DEVICE terminated.”
exit 0
fi
#
# The ppp process is not running for ppp0
echo “ERROR: PPP link is not active on $DEVICE”
exit 1
——————————————————————————–
File /etc/ppp/ip-up
Script yang dieksekusi pada saat koneksi PPP terhubung (root, root 700)
——————————————————————————–
#!/bin/bash
# This file should not be modified — make local changes to
# /etc/ppp/ip-up.local instead
LOGDEVICE=$6
REALDEVICE=$1
export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
echo “$REALDEVICE” /var/run/ppp-$LOGDEVICE.dev
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local $*
/etc/sysconfig/network-scripts/ifup-post ifcfg-${LOGDEVICE}
exit 0
——————————————————————————–
File /etc/ppp/ip-down
Script yang dieksekusi pada saat koneksi PPP teputus (root, root 700)
——————————————————————————–
#!/bin/bash
# This file should not be modified — make local changes to
# /etc/ppp/ip-down.local instead
LOGDEVICE=$6
REALDEVICE=$1
[ -x /etc/ppp/ip-down.local ] && /etc/ppp/ip-down.local $*
/etc/sysconfig/network-scripts/ifdown-post ifcfg-${LOGDEVICE}
exit 0
——————————————————————————–
6.11 Perubahan Setting
Jika ISP anda CBN/IndosatNet perubahan minimal adalah User Name, Password dan No Telp.
Modem
Ubah ppp-chat-init jika modem anda tidak cukup diinisialisasi dengan ATZ (lihat man chat untuk lebih detail)
Ubah ppp-chat-dial jika modem anda mempunyai response yang berbeda dari yang sudah ada (lihat man chat untuk lebih detail)
No Telp.
Ubah ppp-chat-redialer edit bagian PHONE… dan function callall
Ubah ppp-chat-redialer edit bagian PHONEPRE jika untuk menelepon anda harus menekan angka khusus misalnya 9 hal ini biasanya diperlukan jika anda men-dial dari jaringan PABX
User Name dan Password
Ubah ppp-chat-dial untuk ISP dengan login biasa (tanpa PAP/CHAP) seperti CBN
Ubah pap-secrets untuk ISP memakai PAP dan chap-secrets untuk ISP memakai CHAP (format chap-secrets dan pap-secrets sama)
Ubah ppp-on ganti user dengan nama user anda jika ISP anda memakai PAP atau CHAP
ISP
Pilih dasar setting untuk ISP anda sesuai dengan jenis ISP. Login biasa dasar settingnya CBN dan login PAP dasar settingnya IndosatNet untuk CHAP saya belum pernah coba 🙁
Ubah resolv.conf sesuai dengan IP DNS Server ISP anda
Ubah No Telp
Ubah User Name dan Passwordnya juga dong 🙂
MTU/MRU
MTU (Maximum Transfer Unit) dan MRU (Maximum Receive Unit) menentukan besar paket yang dikirim dan diterima jika modem dan line telepon anda bagus naikkan MTU & MRU jika jelek turunkan MTU & MRU. Jika MTU & MRU besar maka paket TCP yang dikirimkan akan besar sehingga menguntungkan transfer file (FTP) tetapi jika linenya jelek maka paket yang besar itu harus dikirimkan ulang. Jika MTU & MRU kecil maka paket TCP yang dikirimkan akan kecil sehingga menguntungkan untuk line yang jelek (pake yang dikirim ulang tidak terlalu besar). Untuk mengetahui MTU & MRU yang ideal anda harus ber-experimen sendiri.
Rumus untuk mengubah MTU & MRU adalah:
——————————————————————————–
2 * N * 128 + 40
——————————————————————————–
Jadi tinggal ganti N dengan angka yang diinginkan.
7. Testing
Untuk mencoba setting anda lakukan langkah berikut
Buka dua console atau xterm jika anda di X
Pada console kedua jalankan perintah:
tail -f /var/log/messages
Pada console pertama jalankan perintah:
/etc/ppp/ppp-on
Jika koneksi berjalan baik status koneksi akan terlihat pada console kedua seperti dibawah ini
——————————————————————————–
Jun 16 12:19:08 linux pppd[841]: Serial connection established.
Jun 16 12:19:09 linux pppd[841]: Using interface ppp0
Jun 16 12:19:09 linux pppd[841]: Connect: ppp0 /dev/ttyS0
Jun 16 12:19:15 linux pppd[841]: Remote message: Login Succeeded
Jun 16 12:19:16 linux pppd[841]: local IP address 202.155.28.33
Jun 16 12:19:16 linux pppd[841]: remote IP address 202.155.30.35
——————————————————————————–
Tekan Ctrl + C pada console kedua dan jalankan ifconfig untuk mengecek koneksi, hasilnya harus terlihat seperti dibawah ini
——————————————————————————–
[root@linux /root]# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:172 errors:0 dropped:0 overruns:0 frame:0
TX packets:172 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
eth0 Link encap:Ethernet HWaddr 00:00:E8:68:C1:6B
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15841 errors:0 dropped:0 overruns:0 frame:19
TX packets:191 errors:0 dropped:0 overruns:0 carrier:0
collisions:3
Interrupt:9 Base address:0x300
ppp0 Link encap:Point-to-Point Protocol
inet addr:202.155.28.33 P-t-P:202.155.30.35 Mask:255.255.255.0
UP POINTOPOINT RUNNING MTU:552 Metric:1
RX packets:18 errors:1 dropped:1 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Memory:1f2e038-1f2e49c
——————————————————————————–
Jalankan route -n untuk melihat routing, outputnya harus terlihat seperti dibawah ini
——————————————————————————–
[root@linux /root]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
202.155.30.35 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 2 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 4 lo
0.0.0.0 202.155.30.35 0.0.0.0 UG 0 0 3 ppp0
——————————————————————————–
Testing DNS dengan ping ke alamat internet misalnya ping ke jakarta.linux.or.id. Tekan Ctrl+C untuk menghentikan ping
——————————————————————————–
[root@linux /root]# ping jakarta.linux.or.id
PING jakarta.linux.or.id (207.106.122.73): 56 data bytes
64 bytes from 207.106.122.73: icmp_seq=0 ttl=54 time=618.5 ms
64 bytes from 207.106.122.73: icmp_seq=1 ttl=54 time=730.1 ms
64 bytes from 207.106.122.73: icmp_seq=2 ttl=54 time=1670.0 ms
64 bytes from 207.106.122.73: icmp_seq=3 ttl=54 time=700.0 ms
— jakarta.linux.or.id ping statistics —
5 packets transmitted, 4 packets received, 20% packet loss
round-trip min/avg/max = 618.5/929.6/1670.0 ms
——————————————————————————–
Untuk disconnect ada beberapa cara yaitu:
Tekan Ctrl+C pada console pertama
Jalankan perintah /etc/ppp/ppp-off
Matiin modemnya 🙂
Jika sudah OK anda dapat mengedit file /etc/ppp/ppp-redialer dan menghapus option -v dari perintah chat sehingga dari
——————————————————————————–
/usr/sbin/chat -v -f /etc/ppp/ppp-chat-init
——————————————————————————–
di function initialize dan
——————————————————————————–
/usr/sbin/chat -v -T $1 -f /etc/ppp/ppp-chat-dial
——————————————————————————–
di function callnumber
Menjadi:
——————————————————————————–
/usr/sbin/chat -f /etc/ppp/ppp-chat-init
——————————————————————————–
di function initialize dan
——————————————————————————–
/usr/sbin/chat -T $1 -f /etc/ppp/ppp-chat-dial
——————————————————————————–
di function callnumber sehingga anda bisa melihat output dari perintah SAY di chat script.
8. Penggunaan Lebih Lanjut
8.1 Link ppp-on
Untuk memudahkan penggunaan ada baik anda link script ppp-on dan ppp-off ke direktory /sbin
——————————————————————————–
[root@linux /root]# ln -s /etc/ppp/ppp-on /sbin/ppp-on
[root@linux /root]# ln -s /etc/ppp/ppp-off /sbin/ppp-off
——————————————————————————–
Sehingga anda tinggal mengetikkan ppp-on untuk connect ke internet.
8.2 Script see-ppp
Untuk memantau proses dialing ada baiknya anda buat script /root/bin/see-ppp (root, root 700)
——————————————————————————–
#!/bin/sh
tail -f /var/log/messages
——————————————————————————–
Sehingga anda tinggal jalankan see-ppp untuk melihat perkembangan proses dialing.
8.3 Script ip-up.local dan ip-down.local
Pada saat koneksi ppp terhubung dan terputus pppd akan menjalankan dua buah script yaitu
/etc/ppp/ip-up pada saat koneksi terhubung
/etc/ppp/ip-down pada saat koneksi terputus
Tetapi pada redhat linux kedua script itu sudah berisi dengan statndar distribusi sehingga tidak disarankan mengedit file tersebut tetapi mengedit/membuat script
/etc/ppp/ip-up.local yang dijalankan pada saat koneksi terhubung
/etc/ppp/ip-down.local yang dijalankan pada saat koneksi terputus
Pada kedua script ini anda bisa mencatat log koneksi, mengambil mail dan lain sebagainya. Sebagai contoh saya tampilkan isi file /etc/ppp/ip-up.local dan /etc/ppp/ip-down.local saya.
Contoh Script ip-up.local
Script /etc/ppp/ip-up.local (root, root 700)ini berfungsi untuk mencatat waktu memulai koneksi, start masquerade, start cache DNS, mengirim e-mail dengan serialmail-nya qmail dan mengambil e-mail dengan fetchmail.
——————————————————————————–
#!/bin/bash
#
# When the ppp link comes up, this script is called with the following
# parameters
# $1 the interface name used by pppd (e.g. ppp3)
# $2 the tty device name
# $3 the tty device speed
# $4 the local IP address for the interface
# $5 the remote IP address
# $6 the parameter specified by the ‘ipparam’ option to pppd
#
# Catat semua output pada file /root/spool-mail-log
exec /root/spool-mail-log
exec 2&1
#
# Catat waktu mulai koneksi pada file /root/ppp-log
echo Start: `date`/root/ppp-log
echo Start: `date`
# Start cache only dns
/usr/sbin/ndc start
# Start Masquerade service
/etc/ppp/masq start
# Lihat berapa besar e-mail yang akan dikirim
du -b /var/qmail/alias/pppdir/new
# send batched mail to smarthost
/usr/local/bin/maildirsmtp ~alias/pppdir alias-ppp- mail.indosat.net.id $4
echo Fetch: `date`
# fetch pop mail
/usr/bin/fetchmail
echo End: `date`
——————————————————————————–
Contoh Script ip-down.local
Script /etc/ppp/ip-down.local (root, root 700)ini berfungsi untuk mencatat waktu akhir koneksi, stop masquerade dan stop cache DNS.
——————————————————————————–
echo Stop: `date`/root/ppp-log
/etc/ppp/masq stop
/usr/sbin/ndc stop
——————————————————————————–
8.4 Dialing Secara Berkala
Apabila anda memerlukan koneksi secara berkala, untuk mengambil mail misalnya anda bisa menjalankan script /etc/ppp/ppp-on melalui crontab. Apabila anda menjalankan ini anda sebaiknya mengaktipkan option idle di file /etc/ppp/options cukup tambahkan/uncomment baris
——————————————————————————–
idle 60
——————————————————————————–
Sehingga bila tidak ada lalulintas data melalui ppp selama 60 detik maka pppd akan memutuskan hubungan secara otomatis.
Tambahkan /etc/ppp/ppp-on pada crontab anda dengan cara:
List crontab anda:
——————————————————————————–
# crontab -lcron.txt
——————————————————————————–
Edit cron.txt tambahkan baris berikut:
——————————————————————————–
# use /bin/sh to run commands, no matter what /etc/passwd says
SHELL=/bin/sh
#
# spool mail at 8,10,12,14,16,18 at works day
0 8,10,12,14,16,18 * * 1-5 /etc/ppp/ppp-on
——————————————————————————–
Jika anda ingin mendial pada jam 8,10,12,14,16,18 pada hari kerja (senin-jum’at).
Jalankan perintah berikut untuk mengupdate crontab
——————————————————————————–
# crontab cron.txt
——————————————————————————–
9. Masukan & Troubleshooting
Jika anda punya komentar, kritik dan saran silahkan e-mail saya di zak@telkom.net. Jika anda mempunyai masalah dengan setting PPP periksa lagi apakah settingnya sudah sesuai terutama perhatikan output dari /var/log/messages. Jika masih belum berhasil juga silahkan tanya ke saya atau bergabung dengan mailing list linux-setup@linux.or.id. Tetapi karena kesibukan saya lebih disarankan untuk bertanya ke mailing list.
Untuk bergabung dengan mailing list linux-setup kirim e-mail kosong ke: linux-setup-subscribe@linux.or.id
Zakaria