1 (edited by abdi_wae 11-01-2011 12:05:58)

Topic: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

Bismillahi rohman nir rohim,
Assalamu'alaikum wr. wb.

Pada artikel ini, penulis mencoba untuk mempelajari apa itu virtual LAN (VLAN) dan multilayer switch secara generik, gunanya, cara bekerjanya dan bagaimana cara mengkonfigurasinya - dan berikut mencoba beberapa contoh aplikasi routing statis dan dinamis dengan menggunakan sistem operasi Linux CentOS dan aplikasi routing dinamis Quagga/Zebra.

Tulisan ini bersifat generik dan umum (implementasi yang hampir sama/seragam antara satu perangkat router dengan router lainnya, perbedaan mungkin hanya masalah penulisan perintah). Tulisan ini dibuat secara sederhana (garis besar) dan tidak terlalu detil, sehingga pembaca wajib mencari sumber referensi utama/tambahan yang lebih akurat/terpercaya seperti dokumentasi RFC/Request for Comment, atau Wikipedia dsb.

Sebagai alat peraga penulis menggunakan 3 komputer berisikan sistem operasi Linux CentOS versi 5.5 (download dan dokumentasi dapat dirujuk ke website Linux CentOS http://www.centos.org) dan sebuah switch unmanaged.

Mohon dicatat bahwa artikel ini hanyalah sekedar contoh sederhana pada laboratorium terbatas (tidak untuk digunakan pada lingkungan produksi).

Tujuan dan tahapan :
1. Dapat menjelaskan apa itu VLAN dan multilayer switch (generik) dan bagaimana cara bekerjanya? kenapa dibutuhkan?

http://en.wikipedia.org/wiki/Vlan

2. Dapat menyusun langkah konfigurasi VLAN dan multilayer switch pada sistem operasi Linux (generik), dan langkah troubleshooting yang diperlukan?

akan dibahas pada artikel ini

3. Dapat membuat kesimpulan dari hasil belajar VLAN dan multilayer switch pada sistem operasi Linux (generik) secara keseluruhan

akan dianalisa bersama pada artikel ini

Kebutuhan :
1. Pengetahuan dasar OSI dan TCP/IP layer
2. Pengetahuan dasar pengalamatan IP subnet
3. Pengetahuan dasar sistem operasi Linux CentOS
4. Pengetahuan dasar operasi routing statis (iproute2)
5. Pengetahuan dasar konfigurasi aplikasi routing dinamis (Quagga dengan RIP, OSPF atau BGP).

http://i165.photobucket.com/albums/u66/rossonieri_1/SPEEDY/linux-quagga-sederhana1.png

penjelasan :
- bagian Linux VLAN
setiap router (server1, 3 dan 5)  hanya menggunakan 1 NIC yang mendukung enkapsulasi 802.1q vlan-tagging

- bagian Linux multilayer switch
setiap router memiliki 2 VLAN port yang disambung pada masing2 bridge

- bagian Linux routing dinamis dgn Quagga
perhatikan pada skema contoh diatas bahwa ada 2 macam network yang akan dipergunakan (yang mempengaruhi protokol routing dinamis dan konfigurasi yang akan dipergunakan) :
1. jaringan broadcast
2. jaringan nonbroadcast multi access/NBMA

perlengkapan :
- sistem operasi Linux
- aplikasi bridge-utils
- aplikasi vconfig
- aplikasi Quagga/Zebra

peralatan :
- 1 atau lebih network interface card/NIC/LAN-card/network adapter/kartu jaringan yang mendukung 802.1q VLAN (sila dirujuk ke data spesifikasi masing2 produk)

langkah :
- membuat dan menggunakan repositori lokal basis DVD iso image untuk menghemat BW
- memasang aplikasi bridge-utils untuk membuat interface loopback/virtual
- memasang aplikasi vconfig untuk membuat interface VLAN
- memasang aplikasi Quagga/Zebra untuk routing dinamis

membuat dan menggunakan repositori lokal basis DVD iso image
- download berkas DVD iso image sistem operasi Linux CentOS :

menyiapkan host mapping secara statis dan merubah alamat IP untuk server5 dgn stream editor sed :

[root@server1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1        localhost.localdomain localhost
127.0.1.1    server1.contoh.lokal    server1
::1        localhost6.localdomain6 localhost6
192.168.0.82 server5

[root@server1 ~]# sed -e "s:192\.168\.0\.82:10\.4\.4\.3:" -i /etc/hosts

[root@server1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1        localhost.localdomain localhost
127.0.1.1    server1.contoh.lokal    server1
::1        localhost6.localdomain6 localhost6
10.4.4.3 server5

download berkas DVD iso image pada webserver server5 :

[root@server1 ~]# cd /tmp/
[root@server1 tmp]# wget http://server5/CentOS-5.5-i386-bin-DVD.iso
--2011-01-11 09:33:50--  http://server5/CentOS-5.5-i386-bin-DVD.iso
Resolving server5... 10.4.4.3
Connecting to server5|10.4.4.3|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4185118720 (3.9G) [application/octet-stream]
Saving to: `CentOS-5.5-i386-bin-DVD.iso'

100%[===============================================================================================>] 4,185,118,720 10.9M/s   in 6m 8s   

2011-01-11 09:39:58 (10.8 MB/s) - `CentOS-5.5-i386-bin-DVD.iso' saved [4185118720/4185118720]

[root@server1 tmp]# ll
total 4091028
-rw-r--r-- 1 root root 4185118720 Oct 13 12:16 CentOS-5.5-i386-bin-DVD.iso

menyiapkan repositori lokal basis DVD iso image :

- mounting DVD iso image pada direktori /media

[root@server1 tmp]# mount -o loop CentOS-5.5-i386-bin-DVD.iso /media/
[root@server1 tmp]# ls /media/
CentOS    NOTES                  RELEASE-NOTES-en          RELEASE-NOTES-es.html  RELEASE-NOTES-nl          RELEASE-NOTES-ro.html
EULA      RELEASE-NOTES-cs       RELEASE-NOTES-en.html     RELEASE-NOTES-fr       RELEASE-NOTES-nl.html     repodata
GPL       RELEASE-NOTES-cs.html  RELEASE-NOTES-en_US       RELEASE-NOTES-fr.html  RELEASE-NOTES-pt_BR       RPM-GPG-KEY-beta
images    RELEASE-NOTES-de       RELEASE-NOTES-en_US.html  RELEASE-NOTES-ja       RELEASE-NOTES-pt_BR.html  RPM-GPG-KEY-CentOS-5
isolinux  RELEASE-NOTES-de.html  RELEASE-NOTES-es          RELEASE-NOTES-ja.html  RELEASE-NOTES-ro          TRANS.TBL

- menon-aktifkan sementara repositori lainnya pada aplikasi yum (jangan lupa untuk diaktifkan kembali setelah selesai digunakan) :

[root@server1 tmp]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.orig

- merubah lokasi repositori lokal :

[root@server1 tmp]# vi /etc/yum.repos.d/CentOS-Media.repo 

[c5-media]
name=CentOS-$releasever - Media
#baseurl=file:///media/CentOS/ ---> edit - commented, tambah baris dibawah
baseurl=file:///media
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
#enabled=0 ---> edit - commented, tambah baris dibawah
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

- uji repositori lokal :

[root@server1 tmp]# yum search bridge-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c5-media: 
c5-media                                                                                                            | 1.1 kB     00:00     
c5-media/primary                                                                                                    | 920 kB     00:00     
c5-media                                                                                                                         2599/2599
========================================================== Matched: bridge-utils ==========================================================
bridge-utils.i386 : Utilities for configuring the linux ethernet bridge

// atau dapat juga menggunakan repositori mirror yang ada pada webserver LAN atau internet lokal Indonesia :

merubah/menambah repositori, salin berkas sebelum dirubah untuk cadangan :

[root@server1 ~]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# ls
CentOS-Base.repo  CentOS-Media.repo
[root@localhost yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.orig

[root@server1 yum.repos.d]# vi CentOS-Base.repo
 
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os ---> edit - commented
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ ---> edit - commented
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

tambah repositori mirror lokal dan meng-aktifkan repositori mirror lokal :

[kambing] ---> internet lokal Indonesia
name=CentOS-$releasever - kambing
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://kambing.ui.ac.id/centos/5.5/os/i386
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

[itb] ---> internet lokal Indonesia
name=CentOS-$releasever - itb
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://ftp.itb.ac.id/pub/CentOS/5.5/os/i386
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

[server5] ---> webserver lokal LAN
name=CentOS-$releasever - server5
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://server5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

[root@server1 yum.repos.d]# yum --enablerepo=[kambing]
[root@server1 yum.repos.d]# yum --enablerepo=[itb]
[root@server1 yum.repos.d]# yum --enablerepo=[server5]

menon-aktifkan sementara repositori lain yang tidak diperlukan (repositori updates, extras dsb) :

[root@server1 yum.repos.d]# yum --disablerepo=[updates]
[root@server1 yum.repos.d]# yum --disablerepo=[extras]

atau secara manual :

[root@server1 yum.repos.d]# vi CentOS-Base.repo

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
enabled=0 ---> masukkan nilai enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

uji repositori mirror lokal :

[root@server1 yum.repos.d]# yum search apache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base                                                                                                                | 2.1 kB     00:00     
itb                                                                                                                 | 2.1 kB     00:00     
itb/primary_db                                                                                                      | 1.6 MB     00:14     
kambing                                                                                                             | 2.1 kB     00:00     
kambing/primary_db                                                                                                  | 1.6 MB     00:17     
============================================================= Matched: apache =============================================================
jakarta-commons-daemon.i386 : Jakarta Commons Daemon Package
jakarta-commons-daemon-javadoc.i386 : Javadoc for jakarta-commons-daemon
jakarta-commons-discovery.i386 : Jakarta Commons Discovery
jakarta-commons-discovery-javadoc.i386 : Javadoc for jakarta-commons-discovery
dst...

memasang aplikasi bridge-utils (brctl) untuk interface loopback/virtual

- cek keberadaan aplikasi bridge-utils :

[root@server1 tmp]# rpm -qa bridge*
bridge-utils-1.1-2

- membuang aplikasi bridge-utils (optional, sekedar contoh) :

[root@server1 tmp]# rpm -e bridge-utils-1.1-2
error: Failed dependencies:
    bridge-utils is needed by (installed) libvirt-0.6.3-33.el5_5.3.i386
    bridge-utils is needed by (installed) xen-3.0.3-105.el5_5.5.i386

- memasang kembali aplikasi bridge-utils (optional, sekedar contoh) :

[root@server1 tmp]# yum install bridge-utils.i386
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c5-media: 
Setting up Install Process
Package bridge-utils-1.1-2.i386 already installed and latest version
Nothing to do

- menguji aplikasi bridge-utils (brctl) :

[root@server1 tmp]# which brtcl
/usr/bin/which: no brtcl in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

[root@server1 tmp]# whereis brctl
brctl: /usr/sbin/brctl /usr/share/man/man8/brctl.8.gz

[root@server1 tmp]# brctl --help
Usage: brctl [commands]
commands:
    addbr         <bridge>        add bridge
    delbr         <bridge>        delete bridge
    addif         <bridge> <device>    add interface to bridge
    delif         <bridge> <device>    delete interface from bridge
    setageing     <bridge> <time>        set ageing time
    setbridgeprio    <bridge> <prio>        set bridge priority
    setfd         <bridge> <time>        set bridge forward delay
    sethello      <bridge> <time>        set hello time
    setmaxage     <bridge> <time>        set max message age
    setpathcost    <bridge> <port> <cost>    set path cost
    setportprio    <bridge> <port> <prio>    set port priority
    show                      show a list of bridges
    showmacs      <bridge>        show a list of mac addrs
    showstp       <bridge>        show bridge stp info
    stp           <bridge> {on|off}    turn stp on/off

[root@server1 tmp]# brctl show
bridge name    bridge id        STP enabled    interfaces
virbr0        8000.000000000000    yes        
xenbr1        8000.feffffffffff    no        peth1
                            vif0.1

- membuat interface loopback generik menggunakan brctl (sesuai skema topologi contoh) - sebagai persiapan untuk langkah multilayer switching :

cek interface yang sudah ada :

[root@server1 ~]# ifconfig ---> melihat semua interface yang aktif

atau

[root@server1 ~]# ifconfig -a ---> melihat semua interface yang ada termasuk yang tidak aktif

membuat interface bridge sebagai loopback interface (atau biasa disebut back-to-back interface) - atau sebagai Switch Virtual Interface/SVI generik, dan terapkan pada semua router (server1, 3 dan 5) :

[root@server1 ~]# brctl addbr br11
[root@server1 ~]# brctl addbr br12

[root@server1 ~]# brctl show
bridge name    bridge id        STP enabled    interfaces
br11        8000.000000000000    no        
br12        8000.000000000000    no        

[root@server1 ~]# ifconfig -a
br11      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          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:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

br12      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          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:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

- memberi alamat IP pada interface bridge/loopback untuk keperluan multilayer switching :

[root@server1 ~]# ifconfig br11 192.168.11.1/24
[root@server1 ~]# ifconfig br12 192.168.12.1/24

memasang aplikasi vconfig untuk membuat interface VLAN
(diperlukan NIC yang mendukung 802.1q VLAN)

- cek keberadaan aplikasi vconfig

[root@server1 ~]# rpm -qa vconfig*
vconfig-1.9-3

bila vconfig belum terpasang pada sistem :

[root@server1 ~]# yum search vconfig
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c5-media: 
============================================================ Matched: vconfig =============================================================
vconfig.i386 : Linux 802.1q VLAN configuration utility

[root@server1 ~]# yum install vconfig.i386

[root@server1 ~]# which vconfig
/sbin/vconfig

[root@server1 ~]# vconfig 
Expecting argc to be 3-5, inclusive.  Was: 1

Usage: add             [interface-name] [vlan_id]
       rem             [vlan-name]
       set_flag        [interface-name] [flag-num]       [0 | 1]
       set_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]
       set_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]
       set_name_type   [name-type]

* The [interface-name] is the name of the ethernet card that hosts
  the VLAN you are talking about.
* The vlan_id is the identifier (0-4095) of the VLAN you are operating on.
* skb_priority is the priority in the socket buffer (sk_buff).
* vlan_qos is the 3 bit priority in the VLAN header
* name-type:  VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5),
              DEV_PLUS_VID (eth0.0005), DEV_PLUS_VID_NO_PAD (eth0.5)
* bind-type:  PER_DEVICE  # Allows vlan 5 on eth0 and eth1 to be unique.
              PER_KERNEL  # Forces vlan 5 to be unique across all devices.
* FLAGS:  1 REORDER_HDR  When this is set, the VLAN device will move the
            ethernet header around to make it look exactly like a real
            ethernet device.  This may help programs such as DHCPd which
            read the raw ethernet packet and make assumptions about the
            location of bytes.  If you don't need it, don't turn it on, because
            there will be at least a small performance degradation.  Default
            is OFF.

- membuat interface VLAN (diperlukan NIC yang mendukung 802.1q VLAN)

cek modul 802.1q VLAN pada kernel :

[root@server1 ~]# lsmod |grep 8021q
8021q                  25033  1 cxgb3

cek interface yang sudah ada dan aktif :

[root@server1 ~]# ifconfig 
eth0      Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          inet addr:10.4.4.1  Bcast:10.4.4.255  Mask:255.255.255.0
          inet6 addr: fe80::211:d8ff:ccdd:eeff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2905856 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1228014 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:82081105 (78.2 MiB)  TX bytes:82017322 (78.2 MiB)
          Interrupt:19 Base address:0xec00 

eth1      Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:gg  
          inet addr:192.168.0.2  Bcast:192.168.0.15  Mask:255.255.255.240
          inet6 addr: fe80::205:5dff:ccdd:eeff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1294 errors:0 dropped:0 overruns:0 frame:0
          TX packets:453 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1050602 (1.0 MiB)  TX bytes:37190 (36.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:32 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3849 (3.7 KiB)  TX bytes:3849 (3.7 KiB)

contoh membuat interface VLAN (pada NIC yang mendukung enkapsulasi 802.1q) :

[root@server1 ~]# vconfig add eth0 11
Added VLAN with VID == 11 to IF -:eth0:-
[root@server1 ~]# vconfig add eth0 12
Added VLAN with VID == 12 to IF -:eth0:-
[root@server1 ~]# vconfig add eth0 51
Added VLAN with VID == 51 to IF -:eth0:-
[root@server1 ~]# vconfig add eth0 52
Added VLAN with VID == 52 to IF -:eth0:-

cek interface VLAN :

eth0      Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          inet addr:10.4.4.1  Bcast:10.4.4.255  Mask:255.255.255.0
          inet6 addr: fe80::211:d8ff:ccdd:eeff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2906928 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1228873 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:82164127 (78.3 MiB)  TX bytes:82153832 (78.3 MiB)
          Interrupt:19 Base address:0xec00 

eth0.11   Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff 
          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:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0.12   Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          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:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0.51   Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          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:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0.52   Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          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:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

perhatikan nilai HWaddr pada eth0.11, eth0.12, eth0.51 dan eth0.52 sama dengan alamat MAC eth0

memberi alamat IP pada interface VLAN :

[root@server1 ~]# ifconfig eth0.51 192.168.51.1/24
[root@server1 ~]# ifconfig eth0.52 192.168.52.1/24
[root@server1 ~]# ifconfig eth0.11 0.0.0.0
[root@server1 ~]# ifconfig eth0.12 0.0.0.0

cek hasil pembuatan interface loopback dan VLAN secara lokal :

[root@server1 ~]# ping 192.168.11.1 -I 192.168.51.1 -c 4
PING 192.168.11.1 (192.168.11.1) from 192.168.51.1 : 56(84) bytes of data.
64 bytes from 192.168.11.1: icmp_seq=1 ttl=64 time=0.207 ms
64 bytes from 192.168.11.1: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.11.1: icmp_seq=3 ttl=64 time=0.152 ms
64 bytes from 192.168.11.1: icmp_seq=4 ttl=64 time=0.156 ms

--- 192.168.11.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.152/0.167/0.207/0.027 ms

catatan :
langkah yang sama juga diterapkan pada router lainnya (server3 dan 5)

memasukkan interface VLAN pada bridge untuk keperluan multilayer switching :

[root@server1 ~]# brctl addif br11 eth0.11
[root@server1 ~]# brctl addif br12 eth0.12

[root@server1 ~]# brctl show
bridge name    bridge id        STP enabled    interfaces
br11        8000.0011d836bc08    no        eth0.11
br12        8000.0011d836bc08    no        eth0.12

cek konektifitas antara router1 (server1) dan router3 (server3) :

[root@server3 ~]# echo "192.168.11.1 server1_vlan11" >> /etc/hosts
[root@server3 ~]# echo "192.168.12.1 server1_vlan12" >> /etc/hosts
[root@server3 ~]# echo "192.168.51.1 server1_vlan51" >> /etc/hosts
[root@server3 ~]# echo "192.168.52.1 server1_vlan52" >> /etc/hosts

[root@server3 ~]# ping server1_vlan52 -c 4
PING server1_vlan52 (192.168.52.1) 56(84) bytes of data.
64 bytes from server1_vlan52 (192.168.52.1): icmp_seq=1 ttl=64 time=0.364 ms
64 bytes from server1_vlan52 (192.168.52.1): icmp_seq=2 ttl=64 time=0.320 ms
64 bytes from server1_vlan52 (192.168.52.1): icmp_seq=3 ttl=64 time=0.327 ms
64 bytes from server1_vlan52 (192.168.52.1): icmp_seq=4 ttl=64 time=0.321 ms

--- server1_vlan52 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.320/0.333/0.364/0.018 ms

cek konektifitas dari VLAN31 (server3) ke VLAN11 (server1) :

[root@server5 ~]# ping server1_vlan11 -c 2 -I 192.168.31.1
PING server1_vlan11 (192.168.11.1) from 192.168.31.1 : 56(84) bytes of data.

--- server1_vlan11 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms

masalah???

routing statis antar VLAN (inter-VLAN routing) - multilayer switching

cek rute pada tabel routing, sekaligus menambah/mengurangi rute yang diperlukan :

[root@server5 ~]# ip route list
192.168.0.80/28 dev eth0  proto kernel  scope link  src 192.168.0.82 
192.168.53.0/24 dev eth1.53  proto kernel  scope link  src 192.168.53.2 
192.168.51.0/24 dev eth1.51  proto kernel  scope link  src 192.168.51.2 
192.168.32.0/24 dev br32  proto kernel  scope link  src 192.168.32.1 
192.168.31.0/24 dev br31  proto kernel  scope link  src 192.168.31.1 
169.254.0.0/16 dev eth1  scope link 
default via 192.168.0.81 dev eth0 

[root@server5 ~]# ip route add 192.168.11.0/24 via 192.168.51.1 dev eth1.51
[root@server1 ~]# ip route add 192.168.31.0/24 via 192.168.51.2 dev eth0.51

cek hasil penambahan/pengurangan rute (sesuaikan dengan yang diperlukan) :

[root@server5 ~]# ping server1_vlan11 -c 2 -I 192.168.31.1
PING server1_vlan11 (192.168.11.1) from 192.168.31.1 : 56(84) bytes of data.
64 bytes from server1_vlan11 (192.168.11.1): icmp_seq=1 ttl=64 time=2.31 ms
64 bytes from server1_vlan11 (192.168.11.1): icmp_seq=2 ttl=64 time=0.287 ms

--- server1_vlan11 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.287/1.302/2.317/1.015 ms

dari server5_vlan31 ke server3_vlan21 melalui server1 :

[root@server5 ~]# ip route add 192.168.21.0/24 via 192.168.51.1 dev eth1.51
[root@server5 ~]# ping server3_vlan21 -c 4 -I 192.168.31.1
PING server3_vlan21 (192.168.21.1) from 192.168.31.1 : 56(84) bytes of data.
64 bytes from server3_vlan21 (192.168.21.1): icmp_seq=1 ttl=63 time=4.25 ms
64 bytes from server3_vlan21 (192.168.21.1): icmp_seq=2 ttl=63 time=0.443 ms
64 bytes from server3_vlan21 (192.168.21.1): icmp_seq=3 ttl=63 time=0.425 ms
64 bytes from server3_vlan21 (192.168.21.1): icmp_seq=4 ttl=63 time=0.397 ms

--- server3_vlan21 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.397/1.380/4.255/1.659 ms

[root@server5 ~]# traceroute server3_vlan21 
traceroute to server3_vlan21 (192.168.21.1), 30 hops max, 40 byte packets
 1  server1_vlan51 (192.168.51.1)  0.396 ms  0.343 ms  0.309 ms
 2  server3_vlan21 (192.168.21.1)  0.688 ms  0.346 ms  0.684 ms

[root@server5 ~]# cat /proc/sys/net/ipv4/ip_forward 
0

[root@server5 ~]# wget http://server3_vlan21/testfile.img
--2011-01-10 07:17:53--  http://server3_vlan21/testfile.img
Resolving server3_vlan21... 192.168.21.1
Connecting to server3_vlan21|192.168.21.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 256004096 (244M) [application/octet-stream]
Saving to: `testfile.img'

100%[=================================================================================================>] 256,004,096 9.64M/s   in 25s     

2011-01-10 07:18:18 (9.63 MB/s) - `testfile.img' saved [256004096/256004096]

[root@server1 ~]#  ifconfig eth0.51
eth0.51   Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          inet addr:192.168.51.1  Bcast:192.168.51.255  Mask:255.255.255.0
          inet6 addr: fe80::211:d8ff:ccdd:eeff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:90478 errors:0 dropped:0 overruns:0 frame:0
          TX packets:178876 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5129973 (4.8 MiB)  TX bytes:268533661 (256.0 MiB)

[root@server1 ~]#  ifconfig eth0.52
eth0.52   Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          inet addr:192.168.52.1  Bcast:192.168.52.255  Mask:255.255.255.0
          inet6 addr: fe80::211:d8ff:ccdd:eeff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:178873 errors:0 dropped:0 overruns:0 frame:0
          TX packets:90466 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:266029326 (253.7 MiB)  TX bytes:6397425 (6.1 MiB)

routing dinamis dengan quagga

memasang dan menyiapkan aplikasi quagga dengan protokol routing dinamis RIP versi 2 :

[root@server1 ~]# rpm -qa quagga*

[root@server1 ~]# yum search quagga
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c5-media: 
============================================================= Matched: quagga =============================================================
quagga.i386 : Routing daemon
quagga-contrib.i386 : contrib tools for quagga
quagga-devel.i386 : Header and object files for quagga development

[root@server1 ~]# yum install quagga.i386
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c5-media: 
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package quagga.i386 0:0.98.6-5.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================================================
 Package                        Arch                         Version                                Repository                        Size
===========================================================================================================================================
Installing:
 quagga                         i386                         0.98.6-5.el5                           c5-media                         1.1 M

Transaction Summary
===========================================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : quagga                                                                                                              1/1 

Installed:
  quagga.i386 0:0.98.6-5.el5                                                                                                               

Complete!

[root@server1 ~]# cd /etc/quagga/
[root@server1 quagga]# chmod -R 755 /etc/quagga/
[root@server1 quagga]# ll
total 36
-rwxr-xr-x 1 root   root      570 Nov 11  2007 bgpd.conf.sample
-rwxr-xr-x 1 root   root     2801 Nov 11  2007 bgpd.conf.sample2
-rwxr-xr-x 1 root   root     1110 Nov 11  2007 ospf6d.conf.sample
-rwxr-xr-x 1 root   root      182 Nov 11  2007 ospfd.conf.sample
-rwxr-xr-x 1 root   root      410 Nov 11  2007 ripd.conf.sample
-rwxr-xr-x 1 root   root      394 Nov 11  2007 ripngd.conf.sample
-rwxr-xr-x 1 root   root        0 Jan 11 16:34 vtysh.conf
-rwxr-xr-x 1 quagga quaggavt  128 Nov 11  2007 vtysh.conf.sample
-rwxr-xr-x 1 quagga quagga     17 Jan 11 16:34 zebra.conf
-rwxr-xr-x 1 root   root      373 Nov 11  2007 zebra.conf.sample

catatan :
analisa setiap berkas/dokumentasi/konfigurasi yang ada pada direktori /etc/quagga

menyalin dan merubah berkas yang diperlukan :

[root@server1 quagga]# cp zebra.conf.sample zebra.conf
cp: overwrite `zebra.conf'? y
[root@server1 quagga]# cp vtysh.conf.sample vtysh.conf
cp: overwrite `vtysh.conf'? y
[root@server1 quagga]# cp ripd.conf.sample ripd.conf

mencoba menjalankan aplikasi routing dinamis quagga/zebra secara apa adanya (tanpa perubahan), melihat hasilnya :

[root@server1 quagga]# /etc/init.d/zebra start
Starting zebra: Nothing to flush.
                                                           [  OK  ]


[root@server1 quagga]# telnet localhost 2601
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.

Hello, this is Quagga (version 0.98.6).
Copyright 1996-2005 Kunihiro Ishiguro, et al.


User Access Verification

Password: 
Router> enable 
Password: 
Router# show running-config 

Current configuration:
!
hostname Router
password zebra
enable password zebra
!
interface br11
 ipv6 nd suppress-ra
!
interface br12
 ipv6 nd suppress-ra
!
interface eth0
 ipv6 nd suppress-ra
!
interface eth0.11
 ipv6 nd suppress-ra
!
interface eth0.12
 ipv6 nd suppress-ra
!
interface eth0.51
 ipv6 nd suppress-ra
!
interface eth0.52
 ipv6 nd suppress-ra
!
interface eth1
 ipv6 nd suppress-ra
!
interface lo
!
ip forwarding
!
!
line vty
!
end
Router# 

Router# show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

K>* 0.0.0.0/0 via 192.168.0.1, eth1
C>* 10.4.4.0/24 is directly connected, eth0
C>* 127.0.0.0/8 is directly connected, lo
K>* 169.254.0.0/16 is directly connected, eth0
C>* 192.168.0.0/28 is directly connected, eth1
C>* 192.168.11.0/24 is directly connected, br11
C>* 192.168.12.0/24 is directly connected, br12
C>* 192.168.51.0/24 is directly connected, eth0.51
C>* 192.168.52.0/24 is directly connected, eth0.52
C>* 192.168.122.0/24 is directly connected, virbr0
Router#

mencoba ripd - protokol routing pada zebra (apa adanya tanpa perubahan pada konfigurasi) :

[root@server1 quagga]# /etc/init.d/ripd restart
Shutting down ripd:                                        [FAILED]
Starting ripd:                                             [  OK  ]

[root@server1 quagga]# telnet localhost 2602
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.

Hello, this is Quagga (version 0.98.6).
Copyright 1996-2005 Kunihiro Ishiguro, et al.


User Access Verification

Password: 
ripd> enable
ripd# show running-config

Current configuration:
!
hostname ripd
password zebra
log stdout
!
router rip
!
line vty
!
end
ripd#

- menggunakan vtysh sebagai integrated-router management (menggunakan 1 console untuk mengakses semua daemon routing) :

[root@server1 quagga]# vtysh 

Hello, this is Quagga (version 0.98.6).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

server1#  show running-config
Building configuration...

Current configuration:
!
hostname Router
!
password zebra
enable password zebra
!
interface br11
 ipv6 nd suppress-ra
!
interface br12
 ipv6 nd suppress-ra
!
interface eth0
 ipv6 nd suppress-ra
!
interface eth0.11
 ipv6 nd suppress-ra
!
interface eth0.12
 ipv6 nd suppress-ra
!
interface eth0.51
 ipv6 nd suppress-ra
!
interface eth0.52
 ipv6 nd suppress-ra
!
interface eth1
 ipv6 nd suppress-ra
!
interface lo
!
ip forwarding
!
line vty
!

- menjalankan aplikasi Quagga/Zebra secara penuh dengan vtysh dan RIPv2 :

merubah berkas zebra.conf, vtysh.conf dan ripd.conf dan menjalankan kembali aplikasi Quagga/Zebra dan ripd ::

[root@server1 quagga]# vi zebra.conf

! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: zebra.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
!hostname Router ---> edit, dikomentari - tambah baris dibawahnya
hostname server1
!password zebra ---> edit, dikomentari - tambah baris dibawahnya (opsional)
password admin123
!enable password zebra ---> edit, dikomentari - tambah baris dibawahnya (opsional)
enable password admin123

[root@server1 quagga]# vi vtysh.conf
!
! Sample configuration file for vtysh.
!
!service integrated-vtysh-config ---> rubah, dikomentari - tambah baris bawah
service integrated-vtysh-config
!hostname quagga-router ---> rubah, dikomentari - tambah baris bawah
hostname server1
!username root nopassword --> rubah, dikomentari - tambah baris bawah
username root 
password admin123
enable password admin123
!

[root@server1 quagga]# vi ripd.conf

! -*- rip -*-
!
! RIPd sample configuration file
!
! $Id: ripd.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
!hostname ripd ---> dikomentari, tambah dibawah
hostname server1
!password zebra ---> dikomentari, tambah dibawah
password admin123

[root@server1 quagga]# service zebra restart
Shutting down zebra:                                       [  OK  ]
Starting zebra: Nothing to flush.
                                                           [  OK  ]
[root@server1 quagga]# service ripd restart
Shutting down ripd:                                        [  OK  ]
Starting ripd:                                             [  OK  ]

mengakses manajemen router dengan aplikasi vtysh :

[root@server1 quagga]# vtysh

- melihat (menambah/mengurangi bila diperlukan) rute statis yang telah untuk contoh sebelumnya pada setiap router (server1, 3 dan 5) :

server5# show ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

K>* 0.0.0.0/0 via 192.168.0.81, eth0
C>* 10.4.4.0/24 is directly connected, eth1
C>* 127.0.0.0/8 is directly connected, lo
K>* 169.254.0.0/16 is directly connected, eth1
C>* 192.168.0.80/28 is directly connected, eth0
C>* 192.168.31.0/24 is directly connected, br31
C>* 192.168.32.0/24 is directly connected, br32
C>* 192.168.51.0/24 is directly connected, eth1.51
C>* 192.168.53.0/24 is directly connected, eth1.53
server5#

membuat router RIP versi 2 (contoh, diterapkan pada semua router) :

server5# conf terminal 
server5(config)# router rip
server5(config-router)# version 2
server5(config-router)# network 192.168.51.0/24
server5(config-router)# network 192.168.53.0/24
server5(config-router)# network 192.168.31.0/24
server5(config-router)# network 192.168.32.0/24
server5(config-router)# passive-interface default 
server5(config-router)# no passive-interface eth1.51
server5(config-router)# no passive-interface eth1.53
server5(config-router)# no passive-interface br31
server5(config-router)# no passive-interface br32
server5(config-router)# neighbor 192.168.51.1 
server5(config-router)# neighbor 192.168.53.1 
server5(config-router)# ^z
server5# wr mem
Building Configuration...
Integrated configuration saved to /etc/quagga/Quagga.conf
[OK]
server5# 

server5# conf t
server5(config)# interface eth1.51
server5(config-if)# ip rip authentication mode md5 
server5(config-if)# ip rip authentication string rip123
server5(config-if)# exit
server5(config)# interface eth1.53
server5(config-if)# ip rip authentication mode md5
server5(config-if)# ip rip authentication string rip123
server5(config-if)# 

server5# sh ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

K>* 0.0.0.0/0 via 192.168.0.81, eth0
C>* 10.4.4.0/24 is directly connected, eth1
C>* 127.0.0.0/8 is directly connected, lo
K>* 169.254.0.0/16 is directly connected, eth1
C>* 192.168.0.80/28 is directly connected, eth0
R>* 192.168.11.0/24 [120/3] via 192.168.53.1, eth1.53, 00:00:01
R>* 192.168.12.0/24 [120/3] via 192.168.53.1, eth1.53, 00:00:01
R>* 192.168.21.0/24 [120/2] via 192.168.53.1, eth1.53, 00:00:01
R>* 192.168.22.0/24 [120/2] via 192.168.53.1, eth1.53, 00:00:01
C>* 192.168.31.0/24 is directly connected, br31
C>* 192.168.32.0/24 is directly connected, br32
C>* 192.168.51.0/24 is directly connected, eth1.51
R>* 192.168.52.0/24 [120/2] via 192.168.53.1, eth1.53, 00:00:01
C>* 192.168.53.0/24 is directly connected, eth1.53
server5#

uji routing Quagga RIP dari klien server3_vlan21 ke server5_vlan31

[admin@mk3] > /interface vlan add vlan-id=21 name=vlan21 interface=ether1 
[admin@mk3] > /interface vlan enable numbers=vlan21 
[admin@mk3] > /interface vlan print  
Flags: X - disabled, R - running, S - slave 
 #    NAME                                                MTU   ARP        VLAN-ID INTERFACE                                              
 0 R  vlan21                                              1500  enabled    21      ether1                  

[admin@mk3] > /ip add add interface=vlan21 address=192.168.21.2/24 comment=vlan21
[admin@mk3] > /ip route add dst-address=192.168.31.0/24 gateway=192.168.21.1

[admin@mk3] > /ping 192.168.31.2 count=2
192.168.31.2 64 byte ping: ttl=62 time=11 ms
192.168.31.2 64 byte ping: ttl=62 time<1 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0/5.5/11 ms

[admin@mk3] > /tool traceroute 192.168.31.2
     ADDRESS                                    STATUS
   1    192.168.21.1 1ms 1ms 1ms 
   2    192.168.53.2 1ms 1ms 1ms 
   3    192.168.31.2 1ms 1ms 1ms

kesimpulan???
- bahasan bridge/loopback/virtual interface?
- bahasan VLAN?
- bahasan multilayer switch?

Semoga bermanfaat smile

Kredit :
- Linux CentOS http://www.centos.org
- Quagga http://www.quagga.net

sekedar catatan belajar jaringan komputer, bila ada kekurangan/kesalahan - mohon dikoreksi smile

bila artikel ini membantu rekan2 semua, perkenankan abdi memohonkan bantuan sedekah bagi kaum dhuafa dan yatim-piatu disekitar kita semua, dan silahkan disalurkan sendiri secara langsung. atas kebaikannya, abdi ucapkan terima kasih smile

Alhamdulillahi robbil alamin,
Billahit taufiq wal hidayah,
Wassalamu'alaikum wr. wb.

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

bahasan yang menarik mod abdi mengenai multilayer switching beserta vlan nya smile insya alloh sangat bermanfaat smile

azilmi ada sedikit pertanyaan mengenai pembahasan di atas

yang pertama adalah penamaan server 1, server 3, dan server 5 itu pada gambar sama dengan
server 1 = r1
server 3 = r2
server 5 = r3 ?

lalu apakah perlu di buatkan interface vlan di server 3 dan server 5 yang saling berhubungan balik? seperti contoh

pada r2, interface vlan yang terhubung ke r1 yaitu di vlan52
pada r3, interface vlan yang terhubung ke r2 yaitu di vlan53
pada r3, interface vlan yang terhubung ke r1 yaitu di vlan51

sementara interface vlan52 telah di buatkan pada saat konfigurasi pemberian interface vlan52 di server 1, begitu pula dengan interface vlan53 yang nanti nya akan di buatkan pada saat konfigurasi pemberian interface vlan53 di server2, serta interface vlan51 telah di buatkan pada saat konfigurasi pemberian interface vlan51 di server 1?

mohon maaf bila pertanyaan nya membingungkan smile

nuhun

@azilmi

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

hehe jadi inget oprekan pas jaman TA big_smile

detail sekali pak abdi. nice share smile

mungkin sedikit menambahkan cara lain 
jika kita ingin membuat access node pada switch

untuk trunk 2 port atau lebih:
membuat brigde terlebih dahulu untuk port2 yang akan dijadikan trunk, kemudian membuat vlan diatas brigde tersebut

untuk access :
biasanya saya membuat brigde antara vlan dan interface ethernet sehingga header vlan nya hilang di interface ethernet tersebut (setara switchport mode access pada cisco)


cmiiw smile

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

@ azilmi smile

penamaan server 1, server 3, dan server 5 itu pada gambar sama dengan
server 1 = r1
server 3 = r2
server 5 = r3 ?

yup, betul. punteun - kmrn lupa set hostnamenya sesuai skema smile

apakah perlu di buatkan interface vlan di server 3 dan server 5 yang saling berhubungan balik? seperti contoh

pada r2, interface vlan yang terhubung ke r1 yaitu di vlan52
pada r3, interface vlan yang terhubung ke r2 yaitu di vlan53
pada r3, interface vlan yang terhubung ke r1 yaitu di vlan51

sementara interface vlan52 telah di buatkan pada saat konfigurasi pemberian interface vlan52 di server 1, begitu pula dengan interface vlan53 yang nanti nya akan di buatkan pada saat konfigurasi pemberian interface vlan53 di server2, serta interface vlan51 telah di buatkan pada saat konfigurasi pemberian interface vlan51 di server 1?

hmm, agak kurang jelas nih smile tapi coba dijawab :
betul, bahwa setiap router membutuhkan interface vlan yang sama pada NIC untuk dapat saling berhubungan/berkomunikasi. Pada skema diatas - setiap komputer hanya memiliki 1 NIC, dmn sambungan fisik ke-switch ditandai warna orange, dan sambungan vlan ditandai garis putus2 smile

dibentuk full-meshed untuk redundancy.

@ faisal smile

edikit menambahkan cara lain 
jika kita ingin membuat access node pada switch

untuk trunk 2 port atau lebih:
membuat brigde terlebih dahulu untuk port2 yang akan dijadikan trunk, kemudian membuat vlan diatas brigde tersebut

yup, betul. terima kasih koreksi/penambahan alternatifnya smile
cara faisal diatas memang benar - khusus untuk pembuatan L3 dan bridging akses port pada linux smile
alasan utama kenapa contoh diatas menggunakan interface vlan dibawah bridge adalah interface fisik hanya 1 - dimana tidak mungkin membuat bridge untuk akses port terlebih dulu smile sedang abdi membutuhkan untuk membuat contoh konfigurasi intervlan routing smile antara ayam dan telur, lebih dulu mana? ya, kita adaptasi saja - fleksibel smile

untuk access :
biasanya saya membuat brigde antara vlan dan interface ethernet sehingga header vlan nya hilang di interface ethernet tersebut (setara switchport mode access pada cisco)

hmm, agak kurang jelas nih smile
apa mungkin yg dimaksud faisal : untagged dan tagged frame?

btw, input/koreksi/diskusi yang bagus sekali dari rekan2 semua, sesuai dgn yang abdi harapkan smile
untuk koreksi/penambahan dari azilmi &  faisal, insyaAlloh kalo ada waktu nanti abdi sisipkan ke bagian pembuatan vlan - khusus untuk trunk dan akses port smile

terima kasih smile

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

saya malah baru tahu ada tulisan kang abdi tentang VLAN dan multilayer switch....

keren banget, tapi kenapa koq pakai bridge-utils?!
bisa kondisinya klo itu lebih dari 1 NIC?!
mantep virtual multilayer switch-nya....

Facebook OPiKdesign
http://badge.facebook.com/badge/100000147194199.279.411965916.png
* IT Consultant * Networking Specialist for Internet Cafe/HotSpot/SOHO * Maintenance * Graphic & Web Design, 3D Modeling & 2D/3D Animation * Hosting & Domain * email to: th@opikdesign.com

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

@mod abdi_wae

makasi untuk penjelasannya host nya smile hehe, maaf pertanyaan sebelum nya bila sedikit rancu big_smile

yang jadi pertanyaan azilmi singkatnya adalah apakah perlu pemberian konfigurasi vlan, yang sebelum nya sudah di lakukan di server1 lalu dilakukan kembali di server3 dan server5, contoh nya

[root@server1 ~]# vconfig add eth0 11
Added VLAN with VID == 11 to IF -:eth0:-
[root@server1 ~]# vconfig add eth0 12
Added VLAN with VID == 12 to IF -:eth0:-
[root@server1 ~]# vconfig add eth0 51          #konfigurasi awal
Added VLAN with VID == 51 to IF -:eth0:-
[root@server1 ~]# vconfig add eth0 52          #konfigurasi awal
Added VLAN with VID == 52 to IF -:eth0:-   

[root@server3 ~]# vconfig add eth0 21
Added VLAN with VID == 21 to IF -:eth0:-
[root@server3 ~]# vconfig add eth0 22
Added VLAN with VID == 22 to IF -:eth0:-
[root@server3 ~]# vconfig add eth0 53
Added VLAN with VID == 53 to IF -:eth0:-
[root@server3 ~]# vconfig add eth0 52           #sudah di lakukan konfigurasi di server1
Added VLAN with VID == 52 to IF -:eth0:-   

[root@server5 ~]# vconfig add eth0 31
Added VLAN with VID == 31 to IF -:eth0:-
[root@server5 ~]# vconfig add eth0 32
Added VLAN with VID == 32 to IF -:eth0:-
[root@server5 ~]# vconfig add eth0 51            #sudah di lakukan konfigurasi di server1
Added VLAN with VID == 51 to IF -:eth0:-
[root@server5 ~]# vconfig add eth0 53            #sudah di lakukan konfigurasi di server3
Added VLAN with VID == 53 to IF -:eth0:-

seperti yang azilmi bold di atas, konfigurasi yang di bold merupakan konfiguras-konfigurasi yang sebelum nya sudah pernah di terapkan di server sebelum nya, nah apakah memang harus di lakukan konfigurasi dari 2 sisi agar vlan dapat saling berhubungan?

sekian, mudah-mudahan pertanyaan kali ini cukup jelas hehehe

nuhun

@azilmi

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

coba bantu jawab ya

untuk dapat saling berkomunikasi, memang harus dibuat konfigurasi vlan nya di setiap perangkat yang dilewati

kecuali jika menggunakan cisco bisa memanfaatkan Vlan Trunk Protocol (VTP) yang bisa mengirimkan konfig vlan di satu perangkat ke perangkat lain

cmiiw

8 (edited by opikdesign 03-02-2011 19:49:29)

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

bener apa yang di bilang om mod si_faisal...

sedikit tambahan agar lebih mudah dipahami,
seperti halnya satu jalur dilewati lebih dari 1 jaringan,
jadi harus membuat VLAN di kedua sisi agar bisa berkomunikasi tiap VLAN di masing2 perangkat interfaces di tiap sisinya... agar tiap subnet pada tiap VLAN di kedua sisi bisa berkomunikasi bukan satu subnet saja....


CMIIW

Facebook OPiKdesign
http://badge.facebook.com/badge/100000147194199.279.411965916.png
* IT Consultant * Networking Specialist for Internet Cafe/HotSpot/SOHO * Maintenance * Graphic & Web Design, 3D Modeling & 2D/3D Animation * Hosting & Domain * email to: th@opikdesign.com

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

mod si_faisal dan mod opikdesign,  terimakasih untuk penjelasannya ya smile alhamdullilah sudah faham sekarang smile

@azilmi

10 (edited by yogii 27-07-2011 11:41:16)

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

assalamuallikum @momod kios.

saya baru baca tentang vlan di linux pertama kali di threadnya @mod abdi, tutor yang bagus pak smile.

saya bingung dengan salah satu langkah dibawah,

langkah :
1. - membuat dan menggunakan repositori lokal basis DVD iso image untuk menghemat BW
2. - memasang aplikasi bridge-utils untuk membuat interface loopback/virtual
3. - memasang aplikasi vconfig untuk membuat interface VLAN
4. - memasang aplikasi Quagga/Zebra untuk routing dinamis

yang pertama untuk urusan software, yang ke 3 untuk keperluan VLAN, dan ke 4 untuk keperluan routing dinamis karena berbeda subnet.

saya bingung langkah yang ke 2, bagaimana kalau tanpa bridge, hanya dengan virtual ip address saja pada masing-masing NIC dengan subnet yang berbeda?

mohon pencerahannya para suhu. smile

Re: Belajar Linux VLAN, multilayer switch dan routing dinamis dgn Quagga

Vlan sama virtual ip berbeda, vlan dengan id yang berbeda walaupun subnetnya sama tetap gak terkoneksi...