inter-vlan-linux

VLAN dapat disebut juga sebagai Virtual Area Network. Merupakan suatu metode yang dikembangkan dan didesain untuk segmentasi network menggunakan perangkat data link layer atau switch. Switch dibedakan menjadi manageable dan unmangable. VLAN tentu hanya dapat dikonfigurasi pada perangkat switch manage (VLAN Support).
Topologi diatas merupakan perbandingan penggunakan linux sebagai router yang pada sesi artikel ini difungsikan sebagai alternatif router pada umumnya dalam penerapan intervlan routing mengingat yang penulis coba dokumentasika pada artikel ini adalah proses intervlan routing menggunakan linux (ubuntu) sebagai routernya. Proses pembuatan VLAN itu sendiri melalui switch dan tidak disampaikan melalui artikel ini. Penulis beranggapan bahwa untuk konfigurasi VLAN pada perangkat switch sudah dikuasai lebih lanjut oleh pengunjung/pembaca dan sudah berjalan dengan baik.
Merujuk pada tologi diatas, terdapat dua VLAN ID, yaitu VLAN 10 dan VLAN 20. Kedua VLAN tersebut tidak dapat berkomunikasi satu sama lain dikarenakan berbeda segment network dan memerlukan proses routing (intervlan routing). Tentunya, untuk proses routing memerlukan gateway untuk meneruskan paket datanya pada alamat host/network tujuan.
Tahapan pertama yaitu proses instalasi paket vlan beserta dengan dependensisnya terlebih dahulu.

apt-get update -y && apt-get install vlan -y

Aktifkan modul protokol 802.1q

modprobe 8021q

KOnfigurasi sub interface untuk setiap VLAN ID yang akan bertindak sebagai masing-masing gateway atas VLAN ID tersebut.

vim /etc/network/interfaces

Berikut konfigurasi sesuai dengan kondisi informasi topologi diatas.

auto eth0
iface eth0 inet static
 
#VLAN 10
auto eth0.10
iface eth0.10 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
vlan_raw_device eth0
 
#VLAN 20
auto eth0.20
iface eth0.20 inet static
address 192.168.20.1
netmask 255.255.255.0
network 192.168.20.0
broadcast 192.168.20.255
vlan_raw_device eth0

Save file konfigurasi dengan konfig seperti diatas tersebut, kemudian restart service network untuk mengaktifkan sub interface yang telah dikonfigurasi tersebut.

/etc/init.d/networking restart

Jika telah terkonfigurasi dengan benar maka akan tertampil sebagai berikut.

 * Reconfiguring network interfaces...                                                                                                         SIOCDELRT: No such process
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 10 to IF -:eth0:-
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 20 to IF -:eth0:-

Pengecekan lanjut bahwa setiap subinterface sudah dalam kondisi up beserta dengan konfigurasi masing-masing tcp/ip nya tersebut.

ifconfig -a

Hasilnya berhasil dengan kondisi up seperti output berikut.

eth0      Link encap:Ethernet  HWaddr 00:21:cc:49:2d:cc  
          UP 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:43 Base address:0x6000 
 
eth0.10   Link encap:Ethernet  HWaddr 00:21:cc:49:2d:cc  
          inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
          UP 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.20   Link encap:Ethernet  HWaddr 00:21:cc:49:2d:cc  
          inet addr:192.168.20.1  Bcast:192.168.20.255  Mask:255.255.255.0
          UP 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)

Sub interface untuk setiap gateway dari masing-masing VLANID sudah dalam kondisi up dan aktif. Kemudian modul 802.1q sudah di load dan aktif. Selanjutnya proses routing untuk setiap VLANID.
Aktifkan fitur ip forwarding pada kernel mengingat linux bertindak sebagai router dan akan meneruskan paket data yang akan dilewatkan pada setiap interface atau subinterfacenya.

echo "1" > /proc/sys/net/ipv4/ip_forward

Tambahkan informasi network dari masing-masing VLANID menggunakan static route menyesuiakan dengan kondisi topologi diatas tersebut.

route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.10.1
route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.20.1

Selanjutkan lakukan pengecekan hasil static route pada table routing linux kernel sebagai berikut.

route -n

Hasilnya adalah sebagai berikut.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    192.168.10.1    255.255.255.0   UG    0      0        0 eth0.10
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.10
192.168.20.0    192.168.20.1    255.255.255.0   UG    0      0        0 eth0.20
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.20

Sebagai tambahan informasi, berikut perintah untuk memanipulasi sub interface (gateway VLAN) mulai dari penambahan subinterface baru dan penghapusannya.

vconfig add eth0 30
vconfig rem eth0.30