Bagian 3
Network Communication
FreeBSD merupakan software yang sudah support dengan koneksi network, bahkan pada saat installasi FreeBSD user dapat dengan mudah memanfaatkan fasilitas network ini dengan protocol TCP/IP.
Agar FreeBSD mendukung dengan fasilitas network perlu ditambahkan baris berikut pada pembuatan baru kernel :
options INET #InterNETworking
Tentu saja harus diikuti dengan device hardware yang digunakan contohnya sebagai berikut :
device miibus # MII bus support
device rl # RealTek 8129/8139
device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
pseudo-device loop # Network loopback
atau device lain yang diperlukan
TCP/IP dalam UNIX merupakan protokol yang sangat erat kaitannya dengan system, sehingga TCP/IP sangat kompatibel dengan UNIX FreeBSD.
- Perintah ifconfig
Dalam FreeBSD dikenal banyak interface network, contoh, ethernet card seperti NE2000/Compatible dikenal sebagai ed0, ed1 dan sebagainya. Konfigurasi network dalam FreeBSD dapat menggunakan perintah ifconfig. Yang dapat diset oleh perintah ini antara lain
- IP address
- Subnet Mask
- Broadcast address
Bentuk dari perintah ifconfig
ifconfig interface address netmask mask broadcast address
Memberikan Address pada Network Interface
Jika kita hanya ingin memberikan IP address pada network interface , kita dapat mengetikkan perintah ifconfig yang hanya diikuti dengan nama interface dan IP address nya. Sebagai contoh , dapat kita lihat perintah ifconfig yang digunakan untuk mengkonfigurasi interface “rl0” pada host yang IP addressnya 10.10.0.3 dan netmask 0xfffffff0.
ifconfig r1 10.10.0.3 netmask 255.255.255.240 broadcast 10.10.0.15
Keterangan :
interface ialah nama dari network interface yang hendak dikonfigurasi dengan perintah ifconfig ini. Disini digunakan contoh interface Ethernet ed0
address adalah IP address yang diberikan kepada interface ini. IP address ini diberikan dalam bentuk desimal bertitik
mask subnetmask yang digunakan oleh interface ini.
broadcast address ialah alamat broadcast dari network ini. Ia didapat dengan mengeset semua host bit dalam IP Address menjadi satu.
Karena yang hendak kita konfigurasi ini adalah network interface, kita tentu harus mengetahui network interface apa saja yang tersedia pada host kita ini. Biasanya pada saat booting , seluruh interface yang ada pada sistem kita nampak di console. hal ini bisa juga dilihat dengan menggunakan perintah dmesg.
Memberikan Subnetmask
Agar jaringan bisa berjalan dengan baik, maka seluruh interface pada physical network tertentu harus memiliki nilai subnetmask yang sama. Dengan memiliki subnetmask yang sama ini maka dalam satu network tersebut, seluruh interface yang terhubung kepadanya akan memiliki alamat network dan alamat broadcast yang sama. Subnetmask sendiri menspesifikasikan pembagian network menjadi beberapa subnetwork.
Untuk memberikan subnetmask pada suatu interface, nilai subnetmask ini disisipkan pada perintah ifconfig, setelah keyword “netmask”. Cara penulisannya biasanya sama dengan bentuk IP address-nya, yaitu desimal bertitik. Namun bisa juga diberikan dalam bentuk heksadesimal , diawali dengan 0x. Contoh
#ifconfig rl0 10.10.0.3 netmask 255.255.255.240
Mengeset Broadcast Address
Sesuai dengan RFC 919 , tentang Broadcasting Internet Datagram, broadcast address didefinisikan sebagai address dimana seluruh host bit nya diset satu. Cara mengesetnya adalah menggunakan perintah ifconfig, dengan menggunakan keyword broadcast diikuti dengan alamat broadcast yang sesuai.
# ifconfig rl0 10.10.0.3 netmask 255.255.255.240 broadcast 10.10.0.15
Command Option yang lain dari ifconfig
q Mengetahui Interface yang ada
Perintah ifconfig sudah kita gunakan untuk mengeset alamat interface, subnetmask, dan alamat broadcast. Selain dari hal diatas ,masih ada fungsi fungsi lain yang dapat dilakukan oleh ifconfig ini.
Ada juga cara lain yang digunakan untuk mengetahui seluruh interface yang ada pada sistem kita. Kita dapat menggunakan perintah :
$ ifconfig –a
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.10.0.3 netmask 0xfffffff0 broadcast 10.10.0.15
ether 00:00:1c:d8:57:ef
media: autoselect (100baseTX <half-duplex>)
supported media: autoselect 100baseTX <full-duplex> 100baseTX <half-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP 10baseT/UTP <half-duplex>
ed0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether ff:ff:01:42:73:41
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
rl0, ed0, lp0 tun0, sl0, ppp0, dan lo0 adalah device interface yang terdeteksi sebagai interface network, rl0 memiliki alamat IP 10.10.0.3 sedangkan ed0 dan interface lain tidak memiliki alamat IP, kecuali lo0 yang merupakan alamat loopback device dengan IP 127.0.0.1.
$ ifconfig rl0
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.10.0.3 netmask 0xfffffff0 broadcast 10.10.0.15
ether 00:00:1c:d8:57:ef
media: autoselect (100baseTX <half-duplex>)
supported media: autoselect 100baseTX <full-duplex> 100baseTX <half-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP 10baseT/UTP <half-duplex>
Ketika digunakan untuk mengecek status dari interface, perintah ifconfig menampilkan beberapa baris keluaran sesuai dengan jenis interfacenya. Contoh diatas Baris pertama menunjukkan nama interface dan nilai flag yang menujukkan karakteristik interface tersebut. Flag ini ditampilkan dalam bentuk numerik dan “keyword”.
Pada contoh diatas , nama interfacenya adalah rl0, dan interface flagnya memiliki nilai 8843. Nilai ini berhubungan dengan hal hal berikut
UP Interface sedang active dan dapat digunakan.
BROADCAST Interface ini mendukung mode broadcast (terhubung pada suatu jaringan yang mendukung mode broadcast, misalnya ethernet.
NOTRAILERS Interface ini tidak mendukung enkapsulasi trailers (spesifik pada ethernet)
RUNNING Interface ini sedang operasional.
SIMPLEX Interface ini hanya bisa digunakan satu arah tiap saat.
MULTICAST Interface ini mendukung pengalamatan multicast
Baris kedua dari keluaran perintah ifconfig menunjukkan informasi yang langsung berhubungan dengan TCP/IP. Kata “inet” diikuti dengan IP address yang diberikan pada interface ini. Kemudian kata “netmask” diikuti dengan nilai maskingnya (dalam heksadesimal). akhirnya kata broadcast diikuti dengan broadcast addressnya.
Baris ketiga menjelaskan media yang dipilih dalam hal ini autoselect dengan media half dulplex 100 MBps.
Baris keempat menjelaskan pilihan media yang didukung oleh interface ini. Karena interface rl0 ini mendukung untuk 10 MBps dan 100 MBps maka disini ada rincian lengkap dukungan media yang dipilih.
q Untuk meng-enable dan men-disable interface
ifconfig miliki dua argument, yaitu “up” dan “down” yang berguna untuk menandai sebuah interface. argument “up” digunakan untuk menandai interface tersebut sedang operasional, sehingga ia siap untuk digunakan. argument “down”sebaliknya, menandai network interface sedang dalam keadaan tidak operasional sehingga ia tak bisa digunakan.
Perintah “down” ini dipakai jika kita ingin melakukan konfigurasi ulang terhadap sebuah interface. Beberapa parameter konfigurasi , seperti IP Address misalnya, tak bisa diubah kecuali jika interfacenya sedang dalam keadaan “down”. sehingga untuk melakukan perubahan IP Address , mula mula interface tersebut di “down” dahulu, dilakukan rekonfigurasi, baru kemudian ia di “up” kembali. Contoh
# ifconfig rl0 down
# ifconfig rl0 10.10.0.4 up
Setelah perintah ini , interface ed0 beroperasi dengan IP Address yang baru.
ARP dan Trailers
Option ini ialah option yang spesifik bagi interface ethernet. Option Trailers digunakan untuk men enable dan men disable enkapsulasi trailers pada paket IP. Enkapsulasi Trailer ialah teknik yang digunakan untuk mengurangi jumlah operasi pengkopian antar memori yang dilakukan oleh sistem penerima. Ketika option ini di enable system meminta pada system lainnya, lewat protokol ARP, untuk melakukan enkapsulasi trailer ketika mengirimkan datanya.
ARP (Address Resolution Protocol) ialah protokol yang memetakan IP Address ke Alamat fisik Ethernet. ARP di enable dengan keyword arp dan di disable dengan keyword -arp. Biasanya ARP ini selalu di enable pada tiap system.
Metric
Perintah ifconfig menciptakan catatan dalam tabel ruting bagi tiap interface yang telah memiliki IP address. Tiap interface merupakan rute menuju suatu network. ifconfig menentukan rute network tujuan dengan menerapkan subnetmasking terhadap IP address interface tersebut.
- Perintah Netstat
Netstat adalah perintah untuk melihat status network yang ada saat ini, berikut ini adalah contoh perintah ini yang digunakan untuk melihat interface yang ada dalam sebuah system. Untuk mengetahui seluruh network interface yang tersedia digunakan perintah netstat sebagai berikut
% netstat –ain
Ada tiga option yang mengikuti perintah netstat diatas. Option -i meminta netstat untuk menampilkan status dari network interface yang telah terkonfigurasi. Option -a digunakan untuk menampilkan seluruh network interface yang ada dalam sistem, bukan hanya yang telah dikonfigurasi saja. Option -n meminta netstat untuk menampilkan keluaran dalam bentuk numerik. Berikut ini adalah contoh keluaran perintah netstat
$ netstat -ain
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
rl0 1500 <Link> 00.00.1c.d8.57.ef 5745297 0 4117720 0 6267
1:0:5e:0:0:6
1:0:5e:0:0:5
1:0:5e:0:0:1
rl0 1500 10.10/28 10.10.0.3 5745297 0 4117720 0 6267
224.0.0.6
224.0.0.5
224.0.0.1
ed1* 1500 <Link> ff.ff.01.42.73.41 0 0 0 0 0
ed0 1500 <Link> 00.00.b4.33.21.1e 938816 3 969748 0 191
1:0:5e:0:0:1
ed0 1500 202.159.121.5 202.159.121.60 938816 3 969748 0 191
224.0.0.1
lp0* 1500 <Link> 0 0 0 0 0
tun0* 1500 <Link> 0 0 0 0 0
sl0* 552 <Link> 0 0 0 0 0
ppp0* 1500 <Link> 0 0 0 0 0
lo0 16384 <Link> 199630 0 199630 0 0
lo0 16384 127 127.0.0.1 199630 0 199630 0 0
224.0.0.1
Keluaran dari perintah netstat ini menampilkan field field sebagai berikut
Name Field nama inteface ini menunjukkan nama yang diberikan pada interface tersebut. Nama ini ialah nama yang digunakan oleh ifconfig untuk mengindentifikasi interface. Tanda asteriks “*” pada nama interface menunjukkan bahwa interface tersebut tidak dalam keadaan aktif. Contohnya dapat kita lihat pada interface lp0 diatas.
Mtu Maximum Transmission Unit menunjukkan frame terpanjang yang dapat ditransmisikan oleh interface ini tanpa fragmentasi. Nilai Mtu ini ditampilkan dalam ukuran byte.
Net/Dest Network/Destination field menunjukkan network dimana interface ini terhubung. Sebagai contoh misalnya interface ed1 diatas. Ia tehubung ke network 167.205.168 . Alamat network ini didapat dari IP address milik interface tersebut dan subnet mask nya.
Address Menunjukkan IP address yang diberikan pada interface ini
Ipkts Input Packets , Menunjukkan jumlah paket yang telah diterima oleh interface ini
Ierrs Input Errors , menunjukkan jumlah paket rusak yang diterima oleh interface ini.
Opkts Output Packets, menunjukkan jumlah paket yang dikirim oleh interface ini.
Oerrs Menunjukkan jumlah paket terkirim yang menyebabkan kesalahan
Coll Collisions field, menunjukkan berapa banyak ethernet collision yangdideteksi oleh interface ini. Field ini hanya berlaku bagi interface ethernet.
Netstat dapat juga untuk melihat routing status dan lainnya, sehingga untuk lebih jelas gunakan manual perintah ini :
$ man netstat
- Konfigurasi Start-up File
Setelah kita mengetahui tentang konfigurasi interface ini, alangkah baiknya jika konfigurasi ini kita letakkan pada startup file. Pada FreeBSD, biasanya perintah ifconfig diletakkan pada file /etc/rc.conf dan /etc/defaults/rc.conf pada FreeBSD versi 2.1.x terdapat pada file /etc/sysconfig. File tersebut memuat semua start-up konfigurasi sistem dan network seperti nama host, software routing, nfs dan lain sebagainya.
File /etc/rc.conf adalah file yang dapat kita edit sesuai dengan keinginan kita sedangkan file /etc/defaults/rc.conf merupakan file default yang dipakai oleh system. Selain di edit secara manual dapat digunakan perintah /stand/sysinstall kita dapat mengkonfigurasi interface dan hasilnya akan diletakkan pada /etc/rc.conf.
Berikut adalah konfigurasi dengan ifconfig pada file /etc/rc.conf :
interface_anable=”rl0 lo0
ifconfig_rl0=”inet 10.10.0.3 netmask 255.255.255.224″
ifconfig_lo0=”inet 127.0.0.1″
defaultrouter=”10.10.0.1″
Dalam konfigurasi diatas terdapat ifconfig_lo0, interface lo0 ini adalah loop back interface dengan alamat 127.0.0.1. Alamat ini digunakan agar komputer dapat mengenali diri sendiri seperti halnya dia dapat mengalamati komputer yang lain.
Looback device adalah device yang digunakan untuk network system itu sendiri biasanya alamat addressnya adalah 127.0.0.1 dengan mask 255.0.0.0, contoh :
> ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
Device ini untuk mengalamati dirinya sendiri (localhost) seperti ketika dia mengalamati komputer yang lain. Alamat ip address diethernet tidak dapat digunakan sebagai alamat looback karena setiap komputer bisa memiliki lebih dari satu IP address.
Download file pdf