Panduan Router Rumah
1.
Pendahuluan
Membuat router sendiri dari perangkat-perangkat lama memiliki beberapa
keutamaan dibandingkan dengan membeli router jadi buatan - misalnya - Linksys.
Keutamaan utamanya adalah kendali penuh atas koneksi. Keutamaan tergantung pada
imajinasi anda; apa saja dapat dilakukan dengan skenario ini, tinggal
menyesuaikan saja dengan kebutuhan.
Panduan ini akan menjelaskan cara menyiapkan Network Address Translation
(NAT) di router (kernel dan iptables), menambahkan dan mengkonfigurasi
beberapa servis (Domain Name System (DNS) melalui dnsmasq, dhcp melalui
dhcpcd, ADSL melalui ppp), lalu ditutup dengan banyak hal menyenangkan yang
dapat dilakukan (port forwarding, traffic shaping,
proxies/caching, dll...).
Sebelum memulai, ada beberapa kebutuhan dasar yang harus anda penuhi. Pertama,
anda memerlukan komputer yang paling tidak memiliki 2 Network Interface
Cards (NIC). Kedua, anda memerlukan setting konfigurasi untuk koneksi
internet anda (seperti IP/DNS/Gateway/username/password). Terakhir, anda
memerlukan sedikit waktu luang dan kecintaan pada Gentoo.
Konvensi yang digunakan pada panduan ini adalah:
- eth0 - NIC terhubung ke Local Area Network (LAN)
- eth1 - NIC terhubung ke Wide Area Network (WAN)
- LAN berada di jaringan pribadi 192.168.0.xxx
- router ditetapkan di IP standar 192.168.0.1
-
router menjalankan Linux 2.4 atau 2.6; anda tidak akan dibantu jika
menjalankan 2.0/2.2
Penting:
Dengan alasan keamanan, Penulis sangat menganjurkan anda untuk menghentikan
semua servis yang tidak diperlukan di router sampai firewall sudah diaktifkan.
Untuk melihat servis yang sedang berjalan, jalankan rc-status.
|
2.
Setup kernel (Kenali dulu diri anda sendiri)
Kernel anda harus memilki driver yang menjalankan kedia NIC anda. Untuk melihat
apakah kartu-kartu anda telah diatur, jalankan saja ifconfig. Output
anda mungkin akan sedikit berbeda, tidak apa-apa. Yang penting adalah kartu
anda ditampilkan.
Daftar Kode 2.1: Memeriksa NIC |
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:60:F5:07:07:B8
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:11 Base address:0x9800
eth1 Link encap:Ethernet HWaddr 00:60:F5:07:07:B9
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:10 Base address:0x9400
|
Jika anda tidak melihat kedua kartu anda dan anda tidak yakin jenis kartu yang
anda miliki, coba jalankan lspci | grep Ethernet. Anda bisa
mendapatkannya dari emerge pciutils. Ketika anda sudah memiliki info
ini, masuklah ke source kernel anda lalu tambahkan dukungan untuk driver
yang sesuai.
Hal kedua yang anda butuhkan adalah dukungan untuk iptables dan NAT
(juga packet shaping jika anda mau). Daftar berikut ini dipecah menjadi
semua yang semua diperlukan (*), diperlukan hanya untuk adsl melalui PPPoE (a),
dianjurkan untuk semua (x), dan hanya untuk fitur-fitur shape (s).
Tidak jadi masalah apakah anda menjadikan fitur-fitur ini ke dalam kernel atau
menjadikannya modul selama anda tidak lupa untuk me-load-nya ketika diperlukan.
Daftar Kode 2.2: Opsi-opsi Jaringan |
Networking options --->
[*] TCP/IP networking
[*] IP: advanced router
[*] Network packet filtering (replaces ipchains)
[*] Socket Filtering
IP: Netfilter Configuration --->
[*] Connection tracking (required for masq/NAT)
[x] FTP protocol support
[x] IRC protocol support
[*] IP tables support (required for filtering/masq/NAT)
[*] IP range match support
[x] MAC address match support
[*] Multiple port match support
[*] Packet filtering
[*] REJECT target support
[x] REDIRECT target support
[*] Full NAT
[*] MASQUERADE target support
[s] Packet mangling
[s] MARK target support
[x] LOG target support
QoS and/or fair queueing --->
[s] QoS and/or fair queueing
[s] HTB packet scheduler
[s] Ingress Qdisc
[a] PPP (point-to-point protocol) support
[a] PPP filtering
[a] PPP support for async serial ports
[a] PPP support for sync tty ports
[a] PPP Deflate compression
[a] PPP BSD-Compress compression
[a] PPP over Ethernet
|
Catatan:
Beberapa opsi mungkin agak berbeda di kernel 2.4 dan 2.6, anda harus bisa
mencarinya :). Bahkan pada sesama kernel 2.6, opsi-opsi ini sering
berpindah-pindah. Selamat Mencari!
|
3.
Peluk WAN (a.k.a. Internet)
Intro
Ada beberapa cara untuk terhubung ke internet, tetapi penulis hanya menjelaskan
cara yang penulis kenal, yaitu dengan menggunakan ADSL (PPPoE) dan modem kabel
(statik/dinamik). Jika ada metode lain, silakan tulis lalu kirimkan ke penulis.
Anda boleh melewatkan bagian-bagian pada bab ini yang tidak anda perlukan. Bab
ini hanya berisi cara menghubungkan router ke internet melalui
eth1.
ADSL dan PPPoE
Semua software PPPoE yand dahulu disediakan oleh rp-pppoe (Roaring Penguin) telah
diintegrasikan ke dalam paket PPP
standar. Jalankan saja emerge ppp. Masih ingat pesan penulis untuk
menyediakan informasi username/password kan? Na, sekarang saatnya untuk
mengedit /etc/conf.d/net.
Catatan:
Agar aturan-aturan jaringan berikut dapat digunakan, anda harus memiliki
baselayout-1.12.9 atau yang lebih baru di sistem anda.
|
Daftar Kode 3.1: Pengaturan eth1 |
# nano /etc/conf.d/net
config_ppp0=( "ppp" )
link_ppp0="eth1"
plugins_ppp0=( "pppoe" )
pppd_ppp0=(
"defaultroute"
"usepeerdns"
)
username_ppp0="vla9h924"
password_ppp0="boogie"
# ln -s net.lo /etc/init.d/net.ppp0
# rc-update add net.ppp0 default
# /etc/init.d/net.ppp0 start
|
Peringatan:
Ketika antarmuka DSL dinyalakan, ppp0 akan diciptakan. Walaupun
NIC anda dinamakan eth1, IP-nya sebenarnya diikatkan ke
ppp0. Dari sekarang, jika anda menemukan contoh yang berisi
eth1, gantikan dengan ppp0.
|
Peringatan:
Jangan lupa ganti perizinan file /etc/conf.d/net agar hanya dapat
dibaca/tulis oleh root karena anda telah menuliskan username/password anda di
dalamnya.
|
Peringatan:
Bagi anda yang berpindah dapri paket rp-pppoe, atau bagi anda yang
mendapatkan koneksi yang aneh, bacalah bagian MTU pada bagian Pemecahan
Masalah.
|
Kabel dan/atau IP dinamik/statik
Jika anda memiliki IP statik, berarti anda memerlukan rincian yang sedikit
lebih banyak daripada IP dinamik. Untuk pengguna IP statik, anda memerlukan
IP anda, gateway, dan server DNS.
Daftar Kode 3.2: Pengaturan eth1 |
# emerge dhcpcd
# nano /etc/conf.d/net
config_eth1=( "dhcp" )
# nano /etc/conf.d/net
config_eth1=( "66.92.78.102 broadcast 66.92.78.255 netmask 255.255.255.0" )
routes_eth1=( "default gw 66.92.78.1" )
# nano /etc/resolv.conf
nameserver 123.123.123.123
# ln -s net.lo /etc/init.d/net.eth1
# rc-update add net.eth1 default
# /etc/init.d/net.eth1 start
|
Sekarang anda sudah siap.
4.
Peluk LAN (Ajak teman-teman)
Langkah ini lebih mudah daripada langkah-langkah sebelumnya.
Daftar Kode 4.1: Pengaturan eth0 |
# nano /etc/conf.d/net
config_eth0=( "192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0" )
# rc-update add net.eth0 default
# /etc/init.d/net.eth0 start
|
5.
Servis-servis LAN (Karena kita orang baik)
Server DHCP
Penulis yakin bahwa akan sangat baik jika semua orang di rumah anda hanya
perlu menyambungkan komputer mereka ke jaringan dan semuanya bisa berfungsi.
Tidak perlu mengingat hal-hal rumit atau membuat mereka melotot ke layar
konfigurasi yang membingungkan! Hidup akan lebih mudah kan? Perkenalkan
Dynamic Host Configuration Protocol (DHCP) dan mengapa anda harus
peduli.
DHCP berfungsi benar-benar seperti namanya. Sebuah protokol yang dapat anda
gunakan untuk mengatur komputer lain dengan otomatis secara dinamis. Anda
hanya perlu menjalankan server DHCP di router, berikan semua info tentang
jaringan anda, (IP, server DNS, gateway, dll...), maka ketika ada komputer
lain dinyalakan, komputer tersebut akan menjalankan klien DHCP dan
mengkonfigurasi dirinya sendiri secara otomatis. Untuk info lebih lanjut
tentang DHCP, kunjungilah Wikipedia.
Kita akan menggunakan sebuah paket bernama dnsmasq yang menyediakan
layanan DHCP dan DNS. Untuk saat ini, kita fokus ke aspek DHCP dulu. Perlu
dicatat bahwa jika anda ingin menjalankan server DHCP yang lain, anda bisa
mendapatkan contoh lain di bab "Hal-hal Asyik". Juga, jika anda ingin
mengutak-atik setting server DHCP, bacalah komentar-komentar di file
/etc/dnsmasq.conf. Semua default seharusnya bisa berfungsi.
Daftar Kode 5.1: Setup server DHCP |
# emerge dnsmasq
# nano /etc/dnsmasq.conf
dhcp-range=192.168.0.100,192.168.0.250,72h
interface=eth0
# rc-update add dnsmasq default
# /etc/init.d/dnsmasq start
|
Sekarang router kecil anda sudah menjadi server DHCP bonafit! Hubungkan
komputer-komputer lain dan perhatikan, semuanya bisa langsung tersambung!
Dengan sistem Windows anda perlu masuk ke setting TCP/IP lalu pilih opsi
"Obtain an IP address automatically" dan "Obtain DNS server address
automatically". Terkadang perubahannya tidak langsung diterapkan, jadi anda
mungkin perlu membuka prompt perintah untuk menjalankan ipconfig
/release dan ipconfig /renew. Cukup tentang Windows, mari kita
kembali ke pinguin tercinta kita.
Server DNS
Ketika seseorang ingin mengunjungi suatu tempat di internet, ia hanya perlu
perlu mengingat namanya, bukan sejumlah nomor acak. Lagi pula, mana yang lebih
mudah diingat. ebay.com atau 66.135.192.87? Di sinilah DNS digunakan. Server
DNS merubah 'ebay.com' (kata yang kita mengerti) menjadi '66.135.192.87' (yang
dimengerti komputer). Untuk lebih mengenal DNS, kungjungilah Wikipedia.
Karena kita menggunakan dnsmasq untuk server DHCP, server DNS sudah
diikutsertakan, anda tidak perlu melakukan apa-apa lagi! Router kecil anda
sudah bisa menyediakan DNS untuk klien DHCP-nya. Andai semuanya semudah ini ;).
Anda boleh memilih server DNS lain jika anda merasa lebih nyaman dengannya,
tetapi alasan digunakannya dnsmasq adalah karena ia dirancang hanya
untuk melakukan hal yang kita perlukan, tanpa embel-embel lain. dnsmasq
adalah server DNS caching/forwarding untuk jaringan lokal. Kita tidak
bermaksud untuk menyediakan DNS untuk domain kita sendiri di sini, hanya
menyediakan layanan DNS sederhana untuk semua komputer di LAN.
NAT (alias IP-masquerading)
Pada saat ini, semua komputer di jaringan anda sudah dapat saling berhubungan
satu sama lain dan dapat mengetahui nama host melalui DNS, tetapi belum bisa
terhubung ke internet. Walaupun menurut anda itu asyik (lebih banyak bandwidth
untuk anda!), penulis yakin orang lain akan kurang senang.
Di sinilah Network Address Translation (NAT) digunakan. NAT merupakan
salah satu cara untuk menghubungkan banyak komputer di dalam sebuah jaringan
lokal pribadi ke internet ketika anda hanya memiliki sedikit alamat IP.
Biasanya hanya anda diberikan satu IP oleh ISP anda, tetapi anda ingin agar
semua komputer di rumah terhubung ke internet. NAT adalah sulap yang
menjadikannya nyata. Bacalah Wikipedia untuk lebih
mengenal NAT.
Catatan:
Sebelum kita mulai, kita perlu memastikan bahwa iptables telah tersedia
di sistem. Walaupun biasanya sudah langsung terinstal pada kebanyakan sistem,
anda mungkin belum memilikinya. Jika belum, jalankan saja emerge
iptables.
|
Daftar Kode 5.2: Setup iptables |
# iptables -F
# iptables -t nat -F
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD DROP
# export LAN=eth0
# export WAN=eth1
# iptables -I INPUT 1 -i ${LAN} -j ACCEPT
# iptables -I INPUT 1 -i lo -j ACCEPT
# iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
# iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT
# iptables -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT
# iptables -A INPUT -p TCP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
# iptables -A INPUT -p UDP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
# iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j DROP
# iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward
# for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
# /etc/init.d/iptables save
# rc-update add iptables default
# nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_dynaddr = 1
|
Setelah anda menyelesaikannya, semua komputer di jaringan anda sekarang sudah
dapat menggunakan internet seakan-akan terhubung langsung.
Opsi ip_dynaddr berguna untuk dial on demand systems atau ketika
ISP ada memberikan alamat dinamik. Ini akan menyiasati masalah ketika ada
komputer yang mencoba melakukan koneksi sebelum antarmuka untuk internet siap.
Sebenarnya hal ini hanya agar pengguna internet di belakang router anda merasa
lebih nyaman.
6.
Hal-hal Asyik (Untuk hari-hari hujan)
Intro
Percaya atau tidak, anda sudah selesai :). Dari sini, penulis akan memberikan
banyak topik umum yang mungkin anda sukai. Semua hal yang ada di bab ini
hanyalah opsional.
Port Forwarding
Terkadang anda ingin menyediakan layanan pada sebuah komputer yang berada di
belakang router, atau hanya ingin mempermudah ketika mengakses sistem anda dari
jauh. Mungkin anda ingin menjalankan server FTP, HTTP, SSH, atau VNC pada salah
satu komputer di belakang router dan ingin terhubung ke semua komputer.
Satu-satunya kelemahan di sini adalah, anda hanya boleh menggunakan satu
layanan/komputer pada satu port. Misalnya, tidak ada cara yang mudah untuk
mengatur tiga server FTP yang sama-sama menggunakan port 21 di belakang satu
router; hanya salah satunya yang boleh menggunakan port 21, sedangkan yang lain
harus menggunakan port lain, misalnya port 123 dan port 567.
Semua aturan port forwarding berformat iptables -t nat -A PREROUTING
[-p protocol] --dport [port luar di router] -i ${WAN} -j DNAT --to [ip/port
tujuan]. Sayangnya, iptables tidak menerima nama host ketika
dilakukan port forwarding. Jika anda mem-forward sebuah port luar
ke port yang sama di komputer dalam, anda boleh tidak mengetikkan port tujuan.
Bacalah manual iptables(8) untuk info lebih lanjut.
Daftar Kode 6.1: Menjalankan perintah-perintah iptables |
# export LAN=eth0
# export WAN=eth1
# iptables -t nat -A PREROUTING -p tcp --dport 2 -i ${WAN} -j DNAT --to 192.168.0.2:22
# iptables -t nat -A PREROUTING -p tcp --dport 21 -i ${WAN} -j DNAT --to 192.168.0.56
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i ${WAN} -j DNAT --to 192.168.0.56
# iptables -t nat -I PREROUTING -p tcp --dport 5900 -i ${WAN} -j DNAT --to 192.168.0.2
# iptables -t nat -I PREROUTING -p tcp --dport 5901 -i ${WAN} -j DNAT --to 192.168.0.3:5900
# iptables -t nat -A PREROUTING -p tcp --dport 6881:6889 -i ${WAN} -j DNAT --to 192.168.0.2
# iptables -t nat -A PREROUTING -p tcp --dport 4662 -i ${WAN} -j DNAT --to 192.168.0.55
# iptables -t nat -A PREROUTING -p udp --dport 4000 -i ${WAN} -j DNAT --to 192.168.0.56
# iptables -t nat -A PREROUTING -p tcp --dport 10070:10080 -i ${WAN} -j DNAT --to 192.168.0.11
# iptables -t nat -A PREROUTING -p udp --dport 10070:10080 -i ${WAN} -j DNAT --to 192.168.0.11
# iptables -t nat -A PREROUTING -p tcp --dport 3074 -i ${WAN} -j DNAT --to 192.168.0.69
# iptables -t nat -A PREROUTING -p udp --dport 3074 -i ${WAN} -j DNAT --to 192.168.0.69
# iptables -t nat -A PREROUTING -p udp --dport 88 -i ${WAN} -j DNAT --to 192.168.0.69
|
Catatan:
Jika anda memiliki contoh-contoh umum/bagus lainnya, silakan e-mail penulis.
|
Identd (untuk IRC)
Internet Relay Chat sangat banyak menggunakan layanan ident.
Karena klien IRC berada di belakang router, kita perlu menemukan satu cara
untuk menyediakan ident bagi router dan klien. Ada satu server semacam
ini yang dinamakan midentd.
Daftar Kode 6.2: Setup ident |
# emerge midentd
# rc-update add midentd default
# /etc/init.d/midentd start
|
Ada beberapa server ident lain di portage. Tergantung pada kebutuhan
anda, penulis menganjurkan anda untuk mencoba oidentd dan
fakeidentd.
Server Waktu
Menjaga waktu di sistem kita sangatlah penting untuk mendapatkan sistem yang
sehat. Salah satu cara yang paling umum digunakan adalah dengan Network Time
Protocol (NTP) dan paket ntp (yang menyediakan implementasi untuk
server dan klien).
Banyak pengguna yang menjalankan klien ntp di komputernya. Tentunya, semakin
banyak klien di dunia ini, semakin besar pula beban yang ditanggung oleh server
ntp. Namun pada lingkungan seperti jaringan di rumah, kita dapat membantu
meringankan beban server publik dengan tetap menyediakan waktu yang tepat untuk
semua komputer di jaringan kita. Sebagai bonus tambahan, update pribadi kita
juga akan lebih cepat untuk semua klien. Yang perlu kita lakukan hanyalah
menjalankan server ntp di router yang mengsinkronkan dirinya dengan server
internet publik dan menyediakan waktu untuk semua komputer di jaringan. Untuk
memulai, jalankan emerge ntp di router.
Daftar Kode 6.3: Setup server NTP |
# nano /etc/conf.d/ntp-client
# rc-update add ntp-client default
# nano /etc/ntp.conf
restrict default ignore
restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap
# nano /etc/conf.d/ntpd
# rc-update add ntpd default
# /etc/init.d/ntp-client start
# /etc/init.d/ntpd start
|
Catatan:
Anda harus memastikan bahwa anda telah mengijinkan komunikasi inbound
dan outbound pada port ntp (123/udp) ketika mengatur server. Klien
hanya memerlukan akses outbound di port 123/udp.
|
Sekarang, di klien, jalankan juga emerge ntp. Tetapi, kita hanya perlu
menjalankan klien ntp, jadi pengaturannya lebih sederhana.
Daftar Kode 6.4: Setup klien NTP |
# nano /etc/conf.d/ntp-client
# rc-update add ntp-client default
# /etc/init.d/ntp-client start
|
Server Rsync
Bagi anda yang memiliki banyak komputer Gentoo di dalam LAN yang sama, anda
mungkin tidak ingin semua komputer menjalankan emerge sync ke server
yang jauh. Dengan menyiapkan rsync lokal, anda telah menghemat bandwidth anda
dan bandwidth server rsync Gentoo. Sangat mudah melakukannya:
Catatan:
Untuk panduan rsync yang lebih mendalam, bacalah panduan resmi rsync.
|
Karena sistem Gentoo membutuhkan rsync, anda tidak perlu lagi menginstalnya.
Edit file konfigurasi /etc/rsyncd.conf default, hapus tanda
komentar di bagian [gentoo-portage], lalu tambahkan sebuah opsi
address. Semua nilai default lain sudah cukup.
Daftar Kode 6.5: Konfigurasi server rsync |
pid file = /var/run/rsyncd.pid
use chroot = yes
read only = yes
address = 192.168.0.1
[gentoo-portage]
path = /mnt/space/portage
comment = Gentoo Linux Portage tree
exclude = /distfiles /packages
|
Kemudian anda perlu menjalankan servis (lagi-lagi, nilai default sudah cukup).
Daftar Kode 6.6: Menjalankan server rsync |
# /etc/init.d/rsyncd start
# rc-update add rsyncd default
|
Satu lagi yang perlu diatur adalah memberitahukan klien anda untuk melakukan
sync ke router.
Daftar Kode 6.7: Pengaturan SYNC klien di make.conf |
SYNC="rsync://192.168.0.1/gentoo-portage"
|
Server Mail
Terkadang senang rasanya memiliki server Simple Mail Transfer Protocol
(SMTP) kita sendiri di router. Anda mungkin punya alasan anda sendiri untuk
melakukannya, tetapi alasan penulis adalah agar pengguna bisa melihat surat
langsung terkirim dan kerja pengiriman ulang/routing diserahkan kepada server
mail. Beberapa ISP tidak mengijinkan mail relaying untuk akun yang bukan
merupakan bagian jaringan mereka (seperti Verizon). Anda juga dapat 'mencekik'
pengiriman surat agar surat-surat besar tidak memperlambat koneksi anda dalam
waktu yang lama.
Daftar Kode 6.8: Pengaturan SMTP |
# emerge netqmail
# emerge --config netqmail
# iptables -I INPUT -p tcp --dport smtp -i ! ${LAN} -j REJECT
# ln -s /var/qmail/supervise/qmail-send /service/qmail-send
# ln -s /var/qmail/supervise/qmail-smtpd /service/qmail-smtpd
# cd /etc/tcprules.d
# nano tcp.qmail-smtp
192.168.0.:allow,RELAYCLIENT=""
# make
# rc-update add svscan default
# /etc/init.d/svscan start
|
Penulis adalah penggemar berat netqmail, tetapi anda bebas memilih mta
yang lain :). Ketika anda mengatur e-mail pada satu komputer di jaringan
anda, jadikan 192.168.0.1 sebagai server SMTP dan semuanya akan berfungsi.
Anda mungkin perlu mengunjungi website
qmail untuk membaca dokumentasi lain.
Server DHCP Lengkap
Tadi kita sudah menggunakan dnsmasq untuk menyediakan layanan DHCP
untuk semua klien. Bagi kebanyakan pengguna dengan LAN kecil yang sederhana,
ini sudah sempurna. Tetapi anda mungkin memerlukan sesuatu yang lain dengan
fitur yang lebih banyak lagi. Untuk itu kita akan menyiapkan server DHCP yang
memiliki banyak fitur seperti yang disediakan oleh teman-teman di
ISC.
Daftar Kode 6.9: Setup dhcpd |
# emerge dhcp
# nano /etc/dhcp/dhcpd.conf
authoritative;
ddns-update-style interim;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.250;
default-lease-time 259200;
max-lease-time 518400;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
}
# nano /etc/conf.d/dhcpd
# rc-update add dhcpd default
# /etc/init.d/dhcpd start
|
Ini adalah pengaturan minimal yang diperlukan untuk mengganti fungsionalitas DHCP
dnsmasq yang sebelumnya kita gunakan. Anda masih ingat untuk
menonaktifkan fitur DHCP di dnsmasq 'kan? Jika tidak, anda harus
melakukannya sekarang (beri saja tanda komentar pada setting
dhcp-range di /etc/dnsmasq.conf lalu restart servisnya).
Melakukan koneksi ke LAN lain
Terkadang anda perlu terhubung ke router di LAN lain. Mungkin anda ingin
bertemu sebentar dengan teman-teman, atau anda ingin mengelompokkan
beberapa komputer dalam sejumlah grup, atau anda hanya sedang bosan. Apapun
alsannya, menghubungkan router ke LAN lain sangatlah mudah. Pada contoh-contoh
berikut ini, penulis menganggap jaringan baru ini terhubung melewati kartu
jaringan ketiga, yaitu eth2.
Pertama-tama anda perlu mengkonfigurasi kartu tersebut. Ikuti saja petunjuk di
daftar perintah 4.1 dan gantikan eth0
dengan eth2 serta 192.168.0 dengan 192.168.1.
Kemudian anda perlu men-tweak dnsmasq untuk melayani kartu baru.
Edit saja /etc/conf.d/dnsmasq dan tambahkan -i eth2 ke
DNSMASQ_OPTS; menggunakan banyak opsi -i boleh-boleh saja. Lalu edit
/etc/dnsmasq.conf dan tambahkan baris lain seperti baris
dhcp-range di daftar kode 5.1, dengan
mengganti 192.168.0 menjadi 192.168.1. Menggunakan banyak
dhcp-range juga boleh boleh saja.
Terakhir, lihatlah aturan-aturan di daftar kode
5.2 dan salin aturan-aturan yang memiliki -i ${LAN}. Anda mungkin
ingin membuat variabel lain, katakanlah LAN2, agar lebih mudah.
7.
Mengatasi Masalah
Tool-tool Berguna
Jika anda mendapatkan masalah ketika menghubungkan komputer anda, mungkin anda
perlu mencoba beberapa tool berikut (semuanya berada di kategori
net-analyzer di portage):
| Tool |
Penjelasan |
| wireshark |
Tool GUI untuk melihat semua data mentah jaringan menurut penyaringan |
| tcpdump |
Tool konsol untuk men-dump semua data mentah jaringan menurut
penyaringan
|
| iptraf |
monitor IP LAN berbasis ncurses |
| ettercap |
Monitor/pengendali jaringan berbasis ncurses |
DHCP Gagal Dijalankan
Ketika menjalankan skrip init.d dhcp untuk pertama kali, kemungkinan terjadi
kegagalan tanpa memberikan info yang dapat membantu.
Daftar Kode 7.1: Contoh kegagalan DHCP |
# /etc/init.d/dhcp start
* Setting ownership on dhcp.leases ... [ ok ]
* Starting dhcpd ... [ !! ]
|
Siasatnya adalah mengetahui di mana dhcpcp mengirimkan outputnya. Masuk saja
ke /var/log dan baca file-file log yang ada. Karena log yang tepat
bergantung pada paket yang anda gunakan sebagai log sistem, coba jalankan
grep -Rl dhcpd /var/log untuk melihat kemungkinan yang ada. Mungkin
anda salah ketik di file konfigurasi. Anda juga bisa mencoba dhcpd -d -f
(singkatan untuk debug / foreground) dan mencari kesalahan berdasarkan output.
Nilai MTU yang Salah
Jika anda mendapatkan masalah aneh (misalnya tidak dapat mengakses beberapa
website sedangkan website lain bisa), anda mungkin mendapatkan masalah Path
MTU Discovery. Cara cepat untuk mengatasinya adalah dengan menjalankan
perintah iptables berikut ini:
Daftar Kode 7.2: Masalah MTU |
# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
|
Ini akan mempengaruhi semua koneksi baru, jadi cukup refresh website
yang tadi tidak bisa anda buka untuk mencobanya. Jika sudah teratasi, nilai
standar MTU untuk koneksi jaringan 100Mbit adalah 1500; nilai ini juga
sama dengan koneksi PPPoA. Untuk koneksi PPPoE, nilainya adalah 1492.
Untuk info lebih rinci, bacalah bab 15 dari Linux Advanced Routing & Traffic Control
HOWTO.
Tidak dapat menghubungkan dua komputer secara langsung
Jika (karena alasan apapun) anda ingin menghubungkan dua komputer secara
langsung tanpa hub atau switch, kabel jaringan biasa tidak bisa
digunakan, kecuali anda memiliki kartu jaringan Auto MDI/MDI-X (dikenal
juga dengan "autosensing"). Anda membutuhkan kabel lain yang disebut kabel
crossover. Halaman Wikipedia
ini menjelaskannya.
8.
Catatan Akhir
Penulis tidak memiliki catatan lain kecuali jika anda mendapatkan masalah
dengan panduan ini, silakan hubungi penulis atau laporkan bug di Bugzilla Gentoo. Jika anda tertarik untuk
memperbagus panduan ini, dengan senang hati, kirimkan ke penulis.
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|