Gentoo Logo

Disclaimer : Dokumen ini sudah usang dan tidak diperbarui lagi.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


3. Jaringan Modular

Daftar Isi:

3.a. Modul-modul Jaringan

Kami sekarang mendukung skrip-skrip jaringan modular, yang berarti kita dapat menambahkan dukungan untuk jenis antarmuka baru dan konfigurasi modul sambil menjaga kompatibilitas dengan antarmuka yang telah ada.

Modul-modul akan langsung dimuat jika paket yang dibutuhkan telah terinstal. Jika di sini anda menentukan sebuah modul yang tidak memiliki paket yang dibutuhkan, maka anda akan mendapatkan pesan error yang memberitahukan paket apa yang perlu anda instal. Idealnya, anda hanya perlu menggunakan pengaturan modul jika anda telah menginstal dua paket atau lebih yang menyediakan servis yang sama dan anda mengutamakan salah satu dari yang lainnya.

Catatan: Semua pengaturan yang kita bicarakan di sini tersimpan di /etc/conf.d/net, kecuali ditentukan di tempat lain.

Daftar Kode 1.1: Urutan modul

# Mendahulukan iproute2 daripada ifconfig
modules=( "iproute2" )

# Anda juga dapat menentukan modul lain untuk sebuah antarmuka.
# Pada kasus ini kita mendahulukan udhcpc daripada dhcpcd
modules_eth0=( "udhcpc" )

# Anda juga dapat menentukan modul apa yang tidak ingin anda
# gunakan - misalnya anda boleh menggunakan sebuah permohonan atau linux-wlan-ng
# untuk mengendalikan konfigurasi wireless tetapi anda masih ingin mengatur
# jaringan per ESSID yang terasosiasi dengannya.
modules=( "!iwconfig" )

3.b. Pengatur Antarmuka

Kami menyediakan dua pengatur antarmuka: ifconfig dan iproute2. Anda memerlukan salah satunya untuk melakukan konfigurasi jaringan.

ifconfig merupakan default Gentoo saat ini dan diikutsertakan pada profil sistem. iproute2 merupakan sebuah palet yang lebih powerful dan fleksibel, tetapi tidak diikutsertakan secara default.

Daftar Kode 2.1: Instalasi iproute2

# emerge sys-apps/iproute2

# Untuk mendahulukan iproute2 dari ifconfig jika keduanya terinstal
modules=( "iproute2" )

Karena ifconfig dan iproute2 melakukan hal yang hampir sama, kami menjadikan konfigurasi dasar kedua-duanya kompatibel. Sebagai contoh, kedua potongan konfigurasi di bawah ini dapat digunakan pada kedua modul.

Daftar Kode 2.2: Contoh-contoh ifconfig dan iproute2

config_eth0=( "192.168.0.2/24" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )

# Kita juga dapat menentukan broadcast
config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )

3.c. DHCP

DHCP digunakan untuk mendapatkan informasi jaringan (alamat IP, server DNS, Gateway, dll) dari sebuah server DHCP. Artinya, jika terdapat sebuah server DHCP pada jaringan, anda hanya perlu mengatur setiap klien untuk menggunakan DHCP dan konfigurasi jaringan akan diatur dengan sendirinya. Tentunya, anda perlu mengkonfigurasi sendiri pengaturan lainnya, seperti wireless, PPP atau yang lainnya jika anda memerlukannya sebelum anda dapat menggunakan DHCP.

DHCP bisa didapatkan dari dhclient, dhcpcd, pump atau udhcpc. Setiap modul DHCP memiliki kelebihan dan kekurangannya masing-masing - berikut ini adalah daftar singkatnya.

Modul DHCP Paket Kelebihan Kekurangan
dhclient net-misc/dhcp Diciptakan oleh ISC, yang membuat software BIND DNS. Sangat fleksibel Konfigurasinya terlalu rumit, software-nya agak besar, tidak bisa mendapatkan server NTP dari DHCP, tidak mengirimkan nama host secara default
dhcpcd net-misc/dhcpcd Default Gentoo sejak lama, tidak bergantung pada utilitas lain, masih terus dikembangkan oleh Gentoo Terkadang lambat, tidak berjalan di belakang ketika lease infinit
pump net-misc/pump Ringan, tidak bergantung pada utilitas lain Tidak lagi diurus oleh pembuatnya, kurang stabil, terutama untuk modem, tidak bisa mendapatkan server NIS dari DHCP
udhcpc net-misc/udhcp Ringan - klien DHCP terkecil, diciptakan untuk embedded system Kurang teruji - tidak ada distro yang menggunakannya secara default, tidak dapat menentukan timeout di atas 3 detik

Jika anda telah menginstal lebih dari satu klien DHCP, anda perlu menentukan klien mana yang ingin anda gunakan - jika tidak, dhcpcd akan digunakan secara default jika tersedia.

Untuk mengirimkan opsi-opsi tertentu ke modul DHCP, gunakan modul_eth0="..." (gantikan modul dengan modul DHCP yang anda gunakan - mis. dhcpcd_eth0).

Kita akan mencoba DHCP dan menjadikannya sedikit agnostik - kami mendukung perintah-perintah berikut dengan menggunakan variabel dhcp_eth0. Defaultnya tidak di-set:

  • release - melepas alamat IP untuk digunakan lagi
  • nodns - jangan menimpa /etc/resolv.conf
  • nontp - jangan menimpa /etc/ntp.conf
  • nonis - jangan menimpa /etc/yp.conf

Daftar Kode 3.1: Contoh konfigurasi DHCP di /etc/conf.d/net

# Hanya diperlukan jika anda memiliki lebih dari satu modul DHCP
modules=( "dhcpcd" )

config_eth0=( "dhcp" )
dhcpcd_eth0="-t 10" # Timeout setelah 10 detik
dhcp_eth0="release nodns nontp nonis" # Dapatkan hanya satu alamat

Catatan: dhcpcd, udhcpc dan pump mengirimkan nama host saat ini ke server DHCP secara default, jadi anda tidak perlu menentukannya lagi.

3.d. Modem ADSLdengan PPPoE/PPPoA

Pertama kita perlu menginstal software ADSL.

Daftar Kode 4.1: Instalasi paket ppp

# emerge net-dialup/ppp

Catatan: Jika anda membutuhkan PPPoA, maka anda harus menggunakan >=baselayout-1.12.x.

Selanjutnya, ciptakan skrip net PPP dan skrip net untuk antarmuka ethernet yang akan digunakan oleh PPP:

Daftar Kode 4.2: Menciptakan skrip net dan PPP

# ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
# ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

Jangan lupa tetapkan RC_NET_STRICT_CHECKING="yes" di /etc/conf.d/rc.

Sekarang kita perlu mengkonfigurasi /etc/conf.d/net.

Daftar Kode 4.3: Pengaturan dasar PPPoE

config_eth0=( null ) (Menentukan antarmuka ethernet)
config_ppp0=( "ppp" )
link_ppp0="eth0" (Menentukan antarmuka ethernet)
plugins_ppp0=( "pppoe" )
username_ppp0='user'
password_ppp0='password'
pppd_ppp0=(
       "noauth"
       "defaultroute"
       "usepeerdns"
       "holdoff 3"
       "child-timeout 60"
       "lcp-echo-interval 15"
       "lcp-echo-failure 3"
       noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp
)

depend_ppp0() {
    need net.eth0
}

Anda juga boleh menentukan password anda di /etc/ppp/pap-secrets.

Daftar Kode 4.4: Contoh /etc/ppp/pap-secrets

# Tanda * penting
"username"  *  "password"

Anda harus menginstal br2684ctl jika anda menggunakan PPPoE dengan modem USB. Bacalah /usr/portage/net-dialup/speedtouch-usb/files/README untuk mengetahui cara mengkonfigurasinya.

Penting: Bacalah seksi ADSL dan PPP di /etc/conf.d/net.example. File ini berisi penjelasan mendalam tentang semua pengaturan PPP yang kemungkinan besar anda perlukan

3.e. APIPA (Automatic Private IP Addressing)

APIPA mencoba untuk mendapatkan alamat bebas pada rentang 169.254.0.0-169.254.255.255 dengan melakukan arping sebuah alamat acak di rentang tersebut pada antarmuka jaringan. Jika tidak mendapatkan balasan maka alamat tersebut akan digunakan.

Ini hanya berguna untuk LAN yang tidak memiliki server DHCP dan anda tidak melakukan koneksi langsung ke internet dan ke semua komputer lain yang menggunakan APIPA.

Untuk dukungan APIPA, emerge net-misc/iputils atau net-analyzer/arping.

Daftar Kode 5.1: Konfigurasi APIPA di /etc/conf.d/net

# Gunakan DHCP dulu - jika gagal maka gunakan APIPA
config_eth0=( "dhcp" )
fallback_eth0=( "apipa" )

# Gunakan APIPA saja
config_eth0=( "apipa" )

3.f. Bonding

Untuk bonding/trunking link, emerge net-misc/ifenslave.

Bonding digunakan untuk meningkatkan bandwidth jaringan, jika anda memiliki dua kartu jaringan yang digunakan pada jaringan yang sama, anda dapat mem-bond keduanya agar aplikasi anda menganggapnya sebagai satu kartu jaringan tetapi kedua-duanya benar-benar digunakan.

Daftar Kode 6.1: Konfigurasi bonding di /etc/conf.d/net

# Untuk mem-bond beberapa antarmuka
slaves_bond0="eth0 eth1 eth2"

# Anda mungkin tidak ingin menentukan sebuah IP pada antarmuka
# yang di-bond
config_bond0=( "null" )

# Dependensi pada eth0, eth1 dan eth2 karena masing-masing mungkin
# memerlukan konfigurasi tambahan
depend_bond0() {
  need net.eth0 net.eth1 net.eth2
}

3.g. Bridging (dukungan 802.1d)

Untuk dukungan bridging, emerge net-misc/bridge-utils.

Bridging digunakan untuk menggabungkan dua jaringan. Sebagai contoh, anda mungkin memiliki sebuah server yang terhubung ke internet melalui modem ADSL dan sebuah kartu akses wireless agar komputer lain dapat terhubung ke internet melalui modem ADSL tersebut. Anda dapat menciptakan sebuah jembatan (bridge) untuk menghubungkan kedua antarmuka tersebut.

Daftar Kode 7.1: Konfigurasi bridge di /etc/conf.d/net

# Konfigurasi bridge - baca "man brctl"
brctl_br0=( "setfd 0" "sethello 0" "stp off" )

# Untuk menambahkan port ke bridge br0
bridge_br0="eth0 eth1"

# Anda perlu mengkonfigurasi port ke nilai null agar dhcp
# tidak dinyalakan
config_eth0=( "null" )
config_eth1=( "null" )

# Terakhir berikan alamat pada bridge - anda juga dapat
# menggunakan DHCP
config_br0=( "192.168.0.1/24" )

# Dependensi pada eth0 dan eth1 karena masing-masing mungkin
# memerlukan konfigurasi tambahan
depend_br0() {
  need net.eth0 net.eth1
}

Penting: Untuk penggunaan lebih dari satu pengaturan bridge, anda mungkin perlu membaca dokumentasi Nama Variabel.

3.h. Alamat MAC

Anda tidak perlu menginstal apapun untuk mengganti alamat MAC antarmuka anda jika anda memiliki sys-apps/baselayout-1.11.14 atau yang lebih baru dan ingin menggunakan alamat MAC tertentu. Tetapi, jika anda perlu menggantinya ke alamat MAC acak atau memiliki baselayout yang lebih tua dari versi tersebut di atas, anda perlu menginstal net-analyzer/macchanger untuk dapat menggunakan fitur ini.

Daftar Kode 8.1: Contoh penggantian alamat MAC

# Untuk mengatur alamat MAC antarmuka
mac_eth0="00:11:22:33:44:55"

# Untuk mengacak hanya 3 bytes terakhir
mac_eth0="random-ending"

# Untuk mengacak di antara tipe koneksi fisik yang sama (mis. fibre,
# copper, wireless), semua vendor
mac_eth0="random-samekind"

# Untuk mengacak tipe koneksi fisik apapun (mis. fibre,
# copper, wireless), semua vendor
mac_eth0="random-anykind"

# Acak penuh - PERINGATAN: beberapa alamat MAC yang diciptakan mungkin
# TIDAK berfungsi dengan benar
mac_eth0="random-full"

3.i. Tunnelling

Anda tidak perlu menginstal apapun untuk dapat melakukan tunnelling karena pengatur antarmuka dapat melakukannya untuk anda.

Daftar Kode 9.1: Konfigurasi tunnelling di /etc/conf.d/net

# Untuk tunnel GRE
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"

# Untuk tunnel IPIP
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"

# Untuk mengkonfigurasi antarmuka
config_vpn0=( "192.168.0.2 peer 192.168.1.1" )

3.j. VLAN (dukungan 802.1q)

Untuk mendapatkan dukungan VLAN, emerge net-misc/vconfig.

Virtual LAN merupakan grup perangkat jaringan yang bertingkah seakan-akan mereka terhubung ke satu segmen jaringan - walaupun mungkin tidak. Anggota VLAN hanya dapat melihat anggota lain pada VLAN yang sama yang dibagi pada jaringan fisik yang sama.

Daftar Kode 10.1: Konfigurasi VLAN di /etc/conf.d/net

# Menentukan jumlah VLAN untuk antarmuka
# Pastikan ID VLAN anda TIDAK terlapis nol
vlans_eth0="1 2"

# Anda juga dapat mengkonfigurasi VLAN
# bacalah manual vconfig
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )

# Konfigurasi antarmuka seperti biasa
config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )
config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )

Penting: Untuk penggunaan lebih dari satu pengaturan VLAN, anda mungkin perlu membaca dokumentasi Nama Variabel.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


Print

View all

Diperbarui 2 April 2008

Versi asli dari dokumen ini terakhir diupdate 9 Pebruari 2013

Rangkuman: Gentoo menyediakan jaringan yang fleksibel untuk anda - di sini anda akan diajarkan tentang memilih jenis-jenis klien DHCP, menyiapkan bonding, bridging, VLAN, dan banyak lagi.

Sven Vermeulen
Author

Grant Goodyear
Author

Roy Marples
Author

Daniel Robbins
Author

Chris Houser
Author

Jerry Alexandratos
Author

Seemant Kulleen
Gentoo x86 Developer

Tavis Ormandy
Gentoo Alpha Developer

Jason Huebel
Gentoo AMD64 Developer

Guy Martin
Gentoo HPPA developer

Pieter Van den Abeele
Gentoo PPC developer

Joe Kallar
Gentoo SPARC developer

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Gerald J. Normandin Jr.
Reviewer

Donnie Berkholz
Reviewer

Ken Nowack
Reviewer

Lars Weiler
Contributor

Siauw Nam Khong
Translator

Dzikri Aziz
Translator

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.