Membangun Gateway Packet Radio di Linux

From OnnoWiki
Revision as of 06:32, 15 February 2008 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

Sumber: Onno W. Purbo YC0MLC ex YC1DAV

Sepintas tentang teknologi komunikasi data packet radio.

Teknologi komunikasi data packet radio merupakan salah satu bentuk komunikasi data paket kecepatan rendah 300bps s/d 56kbps yang dikembangkan di dunia amatir radio sekitar akhir tahun 80-an. Protokol komunikasi data yang digunakan adalah AX.25 untuk melakukan packet switching di jaringan. Bagi anda yang penasaran dapat membaca-baca berbagai referensi yang pernah saya tulis & dapat di ambil di web, seperti, http://www.bogor.net/idkf atau http://onno.vlsm.org/

Teknik ini masih digunakan di amatir radio, termasuk di Indonesia, karena kemampuannya untuk melakukan komunikasi data jarak jauh dengan biaya yang relatif murah jika sudah mempunyai peralatan radio baik itu Single Side Band (SSB) maupun peralatan rig VHF (2 meter-an) atau UHF (70 cm-an).

Bagi anda yang berkeinginan untuk akses Internet berkecepatan 11Mbps ke atas, sebaiknya anda menggunakan WiFi atau lebih di kenal sebagai Wireless LAN karena investasinya jauh lebih murah. Peralatan Wireless LAN bekerja pada frekuensi 2.4GHz, sehingga seseorang dengan lisensi / ijin amatir radio minimal tingkat penggalang (YC) dapat beroperasi di frekuensi tersebut tanpa perlu minta ijin khusus ke POSTEL.

Tulisan ini akan menjelaskan langkah-langkah yang di perlukan untuk menginstalasi sebuah gateway packet radio yang bekerja di VHF 2 meter band.

Sebetulnya gateway packet radio yang saya instalasi di rumah juga tersambung ke Internet dan di kenal oleh mesin di Internet, sehingga dapat mengirim & menerima e-mail dari / ke Internet menggunakan domain ampr.org (Amateur Packet Radio).

Catatan Kecil Untuk Penggunakan Packet Radio

Topologi-packet-radio.jpg

Sekedar catatan, tulisan ini di tujukan untuk menginstalasi gateway packet radio dari / ke Internet. Tulisan ini bukan di tujukan untuk pengguna packet radio biasa.

Untuk pengguna packet radio biasa, kontruksi & cara settingnya jauh lebih sederhana hampir tidak perlu melakukan banyak setting seperti hal-nya gateway.

Rekan-rekan banyak yang menggunakan PC + sound card dengan system operasi Windows. Untuk komunikasi packet radio menggunakan software AGWPE yang lebih baru dari Flexnet, dan dapat mengenal banyak soundcard PC.

Tnc-telereader.jpg

Mic dan speaker soundcard dapat di sambungkan ke peralatan radio / walkie talkie yang digunakan untuk berhubungan dengan instalasi gateway packet radio.

AGWPE dapat di ambil di http://www.raag.org/sv2agw/inst.htm

Bagi anda yang hanya berfungsi sebagai user & tidak menjalankan servis apapun, lebih di sarankan untuk menggunakan Terminal Node Controler (TNC) atau sound card modem tanpa menjalankan servis TCP/IP. Anda dapat login ke salah satu gateway atau servis yang beroperasi dan menggunakan TCP/IP di server tersebut.

Bagi anda yang lebih advance dapat mengujicoba jaringan TCP/IP di amatir radio dengan berkoordinasi di mailing list orari-news@yahoogroups.com.

Peralatan Gateway Packet Radio

Dalam percobaan, peralatan gateway packet radio yang digunakan adalah,

  • PC Pentium 75MHz, RAM 64Mbyte & harddisk 20Gbyte. RAM perlu di upgrade ke 64Mbyte supaya enak untuk di instalasi Linux Mandrake. Harddisk yang dibutuhkan sebetulnya hanya 2 Gbyte, akan tetapi susah mencari harddisk 2 Gbyte, harddisk bekas yang saya dapat minimal 20Gbyte seharga Rp. 200.000,-.
  • Linux Mandrake 9.0. Tidak perlu kita menggunakan distro yang terbaru. Kebaikan Linux Mandrake, modul-modul untuk mendukung operasi packet radio sudah tersedia di kernel.
  • Walkie Talkie / Handy Talkie (HT) ICOM IC02N untuk bekerja di amatir radio 2 meter band. Kebetulan HT jenis ini yang saya miliki di rumah, harga bekas di pasaran sekitar Rp. 300-500.000,-.

Coax & antenna hygain 2 meter-an.

  • Terminal Node Controller (TNC) Telereader Mr. Packet TNC-220. Ini lumayan sulit untuk di peroleh di Indonesia. Saya kebetulan di sumbang oleh Bapak Budi YB0HD salah satu pengurus ORARI Jakarta untuk melakukan experimen ini. Di Bandung, dulu dapat di beli di YB1CS di Jalan Sabang. Bagi anda yang betul-betul berminat dapat menanyakan ke mailing list orari-news@yahoogroups.com.

Sebetulnya saya juga beberapa melakukan experimen menggunakan soundcard SoundBlaster SB16, tetapi entah kenapa masih banyak gagal.


Software untuk Gateway Packet Radio

Sebelum melakukan instalasi sebaiknya mengambil manual untuk instalasi packet radio di Linux di URL berikut:

http://www.ibiblio.org/pub/Linux/docs/ HOWTO/other-formats/pdf/AX25-HOWTO.pdf

baca manual tersebut baik-baik, versi software yang digunakan memang agak ketinggalan, tetapi banyak hal yang perlu di mengerti dapat di baca di manual tersebut.

Ambil berbagai paket software di

http://sourceforge.net/projects/ax25/

Ambil paket dari versi terbaru dari

libax25		seperti	libax25-0.0.11.tar.gz
ax25-tools	seperti ax25-tools-0.0.8.tar.gz
ax25-apps	seperti ax25-apps-0.0.6.tar.gz

Sebaiknya juga mengambil melalui

http://www.rpmfind.net

ambil paket

ax25-utils-2.1.42a-3.i386.rpm

dalam ax25-utils, terdapat beberapa software tambahan seperti Buletin Board System (BBS) dll.


Persiapan Kernel Linux

Jika anda menggunakan Linux Mandrake, maka anda cukup beruntung karena berbagai modul untuk keperluan amatir radio sudah di compile dalam kernel Mandrake.

Jika anda menggunakan distro selain Linux, maka anda perlu mengcompile ulang kernel yang digunakan supaya di masukan modul / subroutine pendukung operasi amatir radio (AX.25).

Tentunya jangan lupa install semua paket pendukung pekerjaan “development” pada saat kita menginstall Linux, seperti gcc, make dll. Hal ini diperlukan untuk mengcompile paket AX.25.

Kita masih perlu meng-edit file

/etc/modules.conf

masukan entry di bawah ini:

alias net-pf-3		ax25
alias net-pf-6		netrom
alias net-pf-11		rose
alias tty-ldisc-1	slip
alias tty-ldisc-3	ppp
alias tty-ldisc-5	mkiss
alias bc0		baycom
alias nr0		netrom
alias pi0a		pi2
alias pt0a		pt
alias scc0		optoscc
alias sm0		soundmodem
alias tunl0		newtunnel
alias char-major-4	serial
alias char-major-5	serial
alias char-major-6	lp


Install Software Packet Radio di Linux

Install libax25 melalui perintah

# cp libax25-0.0.11.tar.gz /usr/local/src
# cd /usr/local/src
# tar zxvf libax25-0.0.11.tar.gz
# cd libax25-0.0.11
# ./configure −−exec_prefix=/usr −−sysconfdir=/etc −−localstatedir=/var
# make
# make install
# make installconf

make installconf akan menginstall contoh konfigurasi yang kita butuhkan ke dalam folder /etc/ax25.

Setelah libax25 di install, selanjutnya kita menginstall ax25-tools, melalui perintah:

# cp ax25-tools-0.0.8.tar.gz /usr/local/src
# cd /usr/local/src
# tar zxvf ax25-tools-0.0.8.tar.gz
# cd ax25-tools-0.0.8
# ./configure −−prefix=/usr −−sysconfdir=/etc −−localstatedir=/var
# make
# make install
# make installconf

Setelah ax25-tools terinstall, selanjutnya kita menginstall ax25-apps, melalui perintah:

# cp ax25-apps-0.0.6.tar.gz /usr/local/src
# cd /usr/local/src
# tar zxvf ax25-apps-0.0.6.tar.gz
# cd ax25-apps-0.0.6
# ./configure −−prefix=/usr −−sysconfdir=/etc −−localstatedir=/var
# make
# make install
# make installconf

Jika anda menemui error yang berbunyi kira-kira

gcc −Wall −Wstrict−prototypes −O2 −I../lib −c call.c
call.c: In function `statline':
call.c:268: warning: implicit declaration of function `attron'
call.c:268: `A_REVERSE' undeclared (first use this function)
call.c:268: (Each undeclared identifier is reported only once
call.c:268: for each function it appears in.)

maka berarti library ncurses belum di install. Di Mandrake 9.0 library tersebut ada di CDROM distribusi & dapat di install melalui perintah

# rpm –ivh ncurses4-5.0-9.i386.rpm

Biasanya library ncurses akan di install secara automatis di Linux Mandrake.

Bagi anda yang ingin mencoba hal-hal yang lebih advance dapat menginstalasi paket ax25-utils melalui perintah

# rpm –ivh ax25-utils-2.1.42a-3.i386.rpm

Selesai sudah semua instalasi paket program pendukung operasi AX.25 di Linux.

Hal selanjutnya yang perlu dilakukan adalah:

  • Mengkonfigurasi modem atau Terminal Node Controller Packet Radio agar dapat berbicara ke Linux.
  • Mengkonfigurasi modul AX.25 di Linux agar dapat beroperasi dengan benar di jaringan amatir radio Indonesia.


Teknik Menyiapkan Terminal Node Controller (TNC) Packet Radio

Gw-packet1.jpg

Ada dua hal utama yang harus dilakukan terhadap Terminal Node Controller (TNC) packet radio agar dapat beroperasi di jaringan Internet (TCP/IP), yaitu:

  • Menyambungkan TNC ke Peralatan Radio dan Komputer.
  • Mengaktifkan mode KISS di TNC.

Untuk menyambungkan TNC ke komputer biasanya kita menggunakan kabel serial yang menghubungkan port serial di TNC ke port COM1 atau COM2 di PC. Saya menggunakan COM1 di PC.

Gw-packet2.jpg

Untuk menyambungkan TNC Telereader TNC-220 ke peralatan HT ICOM IC02N relatif mudah karena di panel muka TNC-220 terdapat tempat colokan mic & speaker yang dapat langsung di sambungkan ke HT IC02N. Kita cukup membeli konektor audio biasa maupun yang agak kecil untuk keperluan tersebut seharga beberapa ratus rupiah di Glodok.

Gw-packet3.jpg

Terminal Node Controller (TNC) adalah modem khusus yang di rancang untuk operasi komunikasi data paket di jaringan amatir radio. TNC di rancang untuk dihubungkan ke terminal atau komputer yang menjalankan program komunikasi terminal, misalnya hyperterminal di Windows. Biasanya kecepatan komunikasi serial yang digunakan antara PC / terminal dengan TNC adalah 9600bps.

Agar TNC dapat bekerja dengan Linux yang menjalankan protocol TCP/IP, maka kita perlu mengaktifkan mode Keep It Simple Stupid (KISS) yang pada dasarnya mem-bypass semua mekanisme protocol yang ada di TNC dan menggunakan mekanisme protocol yang di operasikan dari PC.

Mengaktifkan mode KISS dari hyperterminal melalui prompt cmd: dapat di tulis:

cmd: kiss on
cmd: restart

Bagi anda yang menggunakan NOS (software Network Operating System di DOS) dan sudah mengaktifkan saluran komunikasi serial ke TNC dengan nomor port ax0, dapat menggunakan perintah berikut:

param ax0 255
tr ax0 111
kiss on

Teknik Mengkonfigurasi Linux AX.25

Langkah selanjutnya yang perlu dilakukan di sisi server Linux yang akan menjadi gateway packet radio adalah:

  • Mengaktifkan device KISS.
  • Mengkonfigurasi AX.25 port.
  • Mengkonfigurasi AX.25 routing jika di perlukan.
  • Mengkonfigurasi routing TCP/IP di atas interface AX.25


Mengaktifkan KISS device

Bagi anda yang menggunakan Terminal Node Controller (TNC), mengaktifkan device KISS sama sekali tidak sukar. Bagi anda yang ingin menggunakan soundcard sebagai modem packet radio, teknik mengaktifkan-nya agak lebih sukar sedikit dan dapat di baca di AX.25 HOWTO.

Di bawah ini adalah teknik mengaktifkan device KISS agar Linux dapat berbicara ke Terminal Node Controller (TNC):

# /usr/sbin/kissattach /dev/ttyS0 -m 255 ax0
# /usr/sbin/kissparms −p ax0 −t 100 −s 100 −r 25

Pada perintah kissattach kita dapat memberitahukan nama device KISS (ax0), nilai Maxium Transmission Unit (MTU) 255 byte (-m 255), dan serial port yang digunakan untuk komunikasi ke Terminal Node Controller adalah COM1 (/dev/ttyS0).

Melalui file /etc/ax25/axports kita menghubungkan hubungkan /dev/ttyS0 dengan nama port ‘ax0’.

Setelah device KISS di attach, yang selanjutnya perlu di konfigurasi adalah parameter dari Terminal Node Controller (TNC) melalui perintah kissparms dalam contoh di atas KISS device yang digunakan di konfigurasi agar txdelay (-t) dan slottime (-s) 100 milliseconds dan ppersist (-r) 25. Bagi anda yang menggunakan rig PLL sebaiknya txdelay di naikan menjadi sekitar 200 milliseconds.


Mengkonfigurasi port AX.25

Konfigurasi port AX.25 dilakukan dengan mengedit isi file /etc/ax25/axports. Adapun format informasi yang harus diberikan adalah sebagai berikut

portname callsign baudrate paclen window description

Sebagai contoh:

ax0	YB0ZZA−15	9600	256	2	1200bps 144.140 MHz

Perhatikan bahwa baudrate 9600 adalah kecepatan serial antara Terminal Node Controller (TNC) ke PC, bukan kecepatan data di radio yang sebenarnya. Jika anda mempunyai lebih dari satu port maka anda perlu memasukan informasi dari masing-masing port ke dalam file /etc/ax25/axports.


Mengkonfigurasi Routing AX.25

Untuk stasiun-stasiun paket radio yang kecil kadang kala kita perlu merelay melalui relay paket radio (istilahnya digital repeater atau digipeater). Untuk memaksa agar semua paket yang ditujukan kepada YD0LQZ di relay melalui YC0ZPV yang merupakan digipeater, dapat dilakukan menggunakan perintah axparms berikut:

# /usr/sbin/axparms −route add ax0 YD0LQZ YC0ZPV

Memonitor Traffic Di Jaringan AX.25

Jika anda ingin memonitor traffic AX.25 yang ada di jaringan packet radio, dapat dilakukan melalui perintah

$ /usr/bin/listen –a

anda dapat belajar banyak dengan memonitor packet yang lewat, jangan lupa membaca-baca referensi tentang protocol AX.25. Terus terang, dalam banyak hal protocol Wireless LAN IEEE 802.11 juga banyak kesamaannya dengan protocol AX.25, karena memang orang-orang yang mengembangkannya sebagian adalah orang amatir radio yang berkecimpung di packet radio seperti KA9Q.


Konfigurasi Routing TCP/IP di atas AX.25

Sebetulnya teknik konfigurasi routing TCP/IP di atas jaringan packet radio AX.25 sama dengan teknik konfigurasi routing TCP/IP di atas jaringan Internet biasa. Bagi anda yang belum terbiasa dengan teknik routing TCP/IP ada baiknya membaca buku saya yang berjudul “TCP/IP konsep disain & implementasi” yang berwarna hitam & ada di toko buku Gramedia.

Berikut adalah contoh sederhana konfigurasi routing TCP/IP:

# /usr/sbin/kissattach −m 256 /dev/ttyS0 ax0
# /sbin/ifconfig ax0 44.136.8.6 netmask 255.255.255.0
# /sbin/route add −net 44.136.8.0 netmask 255.255.255.0 ax0
# /sbin/route add default ax0

Perintah /sbin/ifconfig untuk memberikan IP address ke sebuah interface di Linux, dalam hal ini interface ax0.

Perintah /sbin/route untuk mengkonfigurasi routing TCP/IP. Perhatikan di tambahkan juga perintah /sbin/route add default ax0. Bagi anda yang mempunyai sambungan Internet non-packet radio, perintah route add default akan berbeda sedikit dengan yang dicontohkan di atas agar semua paket ke Internet dapat di relay dengan benar.

Gunakan perintah ping untuk mencek apakah hubungan komunikasi berjalan dengan baik atau tidak. Contohnya:

$ ping −i 5 44.136.8.58


Mengoperasikan Gateway

Ada beberapa teknik mengoperasikan gateway, mulai dari yang paling sederhana seperti call station lain di jaringan radio hingga yang sangat kompleks seperti memberikan servis e-mail ke Internet. Beberapa hal berikut akan di terangkan, yaitu:

  • Call station amatir radio melalui AX.25.
  • Konfigurasi Linux untuk menerima call AX.25
  • Memberikan servis shell Linux melalui AX.25
  • Memberikan servis TCP/IP Internet di jaringan packet radio.


Memberikan Servis TCP/IP di Amatir Radio

Pada dasarnya memberikan servis Internet (TCP/IP) di atas jaringan packet radio amatir tidak berbeda terlalu banyak dengan berbagai servis TCP/IP di Internet yang biasa.

Hal yang membatasi servis di jaringan packet radio amatir adalah kecepatannya yang sangat rendah hanya 1200bps s/d 9600bps yang normal digunakan. Akibatnya kita biasanya membatasi servis sebatas e-mail atau chatting yang sangat lambat.

Untuk memberikan servis e-mail di Linux Mandrake biasanya sudah tersedia paket software postfix & imap yang dapat memberikan servis SMTP, POP3 & IMAP. Biasanya saya akan membatasi besarnya e-mail yang masuk hanya sekitar 5-10Kbyte saja. Dengan demikian e-mail yang besar akan bounced secara automatis.

Detail teknik konfigurasi postfix, pop3 & imap saya sarankan untuk membaca-baca manual di Internet.


Call Station Amatir Radio Melalui AX.25

Untuk berhubungan / call sebuah stasiun amatir yang menggunakan protocol AX.25 dapat dilakuan melalui perintah call, seperti contoh di bawah ini:

$ /usr/bin/call ax0 YC0GDF via YC0ZPV

dalam contoh, kita berusaha call YC0GDF melalui relay / digipeater YC0ZPV.


Konfigurasi Linux Untuk Menerima Call AX.25

Linux adalah system operasi yang sangat tangguh & kompleks, kita dapat mengkonfigurasi banyak hal / alternative untuk menerima call dari AX.25. Kita dapat mengijinkan agar pengguna masuk ke Buletin Board System (BBS), atau masuk ke shell linux dll.

AX.25 di Linux di lengkapi dengan software ax25d yang dapat mengatur apa yang harus dilakukan jika ada call dari AX.25, pada kesempatan ini akann di jelaskan:

  • Teknik konfigurasi /etc/ax25/ax25d.conf
  • Teknik menjalankan ax25d

Teknik konfigurasi file /etc/ax25/ax25d.conf tidak terlalu sulit dan dapat dilakukan menggunakan text editor biasa. Pada dasarnya isi /etc/ax25/ax25d.conf mengatur program yang harus di eksekusi bagi pengguna AX.25 yang masuk. Adapun format yang digunakan adalah sbb:

# This is a comment and is ignored by the ax25d program.
[port_name] || <port_name> || {port_name}
<peer1> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd−name> <arguments>
<peer2> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd−name> <arguments>
parameters window T1 T2 T3 idle N2 <mode>
<peer3> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd−name> <arguments>
...
default window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd−name> <arguments>

Sekedar ilustrasi di bawah ini adalah contoh isi dari /etc/ax25/ax25d.conf

# /etc/ax25/ax25d.conf
#
# ax25d Configuration File.
#
# AX.25 Ports begin with a '['.
#
[YC0ATC VIA AX0]
parameters  1  10  *  *   *     *   *
NOCALL   *	*   *  *    *    *   *  L
default	       1  10  5 100 180 5  *  root  /usr/sbin/pms pms -a -o yc0atc
# default     *  *    *  *    *    *   *  root  /usr/sbin/axspawn %u +
# default     *  *    *  *    *    *   *  root  /usr/sbin/ttylinkd ttylinkd

Jika konfigurasi /etc/ax25/ax25d.conf telah di lakukan, maka yang harus kita kerjakan adalah menjalankan perintah

# /usr/sbin/ax25d


Memberikan Servis Shell Linux Melalui AX.25

Jika kita ingin memberikan servis shell (atau mirip dengan DOS Prompt kalau di Windows), hal ini dapat dilaukan melalui program axspawn. Melalui program axspawn, seseorang yang tersambung melalui AX.25 akan login ke mesin kita dan langsung menjalankan shell.

Untuk itu kita perlu menggukana entry di /etc/ax25/ax25d.conf sebagai berikut:

default * * * * * 1 root /usr/sbin/axspawn axspawn %u

Jika di aktif kalimat kita beri karakter + maka user yang connect harus menekan tombol enter, sebelum mereka dapat logon. Default-nya tidak perlu menunggu.

Pada saat axspwan beroperasi maka dia akan mencheck apakah callsign dari stasiun amatir radio tersebut adalah callsign yang legal. Kemudian mencek apakah user tersebut ada di /etc/passwd file ada dan apakah account tersebut telah di konfigurasi.

Jika account user yang masuk telah ada, dengan password “” atau + maka user akan langsung login. Jika ada sesuatu di password field, maka user akan di tanyakan password-nya.

Jika user belum ada di file /etc/passwd, maka axspawn dapat di konfigurasi untuk secara automatis meng-create user dan mengkonfigurasi /etc/passwd.

Proses konfigurasi axspwan dapat dilakukan melalui file konfigurasi /etc/ax25/axspawn.conf sebagai berikut:

# /etc/ax25/axspawn.conf
#
# allow automatic creation of user accounts
create yes
#
# guest user if above is 'no' or everything else fails. Disable with "no"
guest no
#
# group id or name for autoaccount
group ax25
#
# first user id to use
first_uid 2001
#
# maximum user id
max_uid 3000
#
# where to add the home directory for the new users
home /home/ax25
#
# user shell
shell /bin/bash
#
# bind user id to callsign for outgoing connects.
associate yes



Pranala Menarik