Sunflower Garden Changi Aiport

Tanggal 16 Agustus 2014 lalu saya pulang dari Manila dengan menumpang Singapore Airlines (SQ917). Pesawat harusnya berangkat dari Manila pukul 14.15 (waktu Manila lebih cepat 1 jam dari Jakarta). Saat itu saya juga sudah memegang tiket lanjutan dari Singapura ke Jakarta pukul 18.40 menggunakan SQ966. Waktu transit di Singapore sangat singkat. Ternyata penerbangan saya dari Manila delay sehingga baru berangkat sekitar pukul setengah 3 lebih. Saya was-was khawatir tidak dapat mengejar pesawat lanjutan ke Jakarta. Di layar monitor pesawat ini saya bisa melihat gate kedatangan berada dekat dengan gate tempat pesawat saya ke Jakarta. Informasi yang cukup melegakan karena saya tinggal berjalan beberapa gate saja.

Ternyata pesawat baru mendarat di Singapore pukul 18.25. Dalam hati saya masih berharap bisa berlari ke gate berikutnya. Ternyata setelah pesawat berhenti pun, pintu tidak kunjung dibuka. Akhirnya sebelum pintu pesawat dibuka, pramugari mengumumkan penumpang penerbangan lanjutan harus melapor kepada petugas. Itu termasuk para penumpang SQ966 ke Jakarta. Begitu turun pesawat beberapa kru Singapore Airlines sudah menunggu, kami diminta menukarkan boarding pass karena pesawat SQ966 sudah tutup boarding-nya. Saya mendapat pesawat pengganti SQ968 yang dijadwalkan terbang ke Jakarta pukul 9 malam. Pihak Singapore Airlines memberikan kupon makan sebagai complimentary.

Saya punya waktu cukup lama untuk berjalan-jalan di Terminal 2 Changi. Saya ingat ada taman bunga yang belum pernah saya kunjungi di Terminal 2. Taman bunga tersebut terletak di lantai 2 Terminal 2 Changi Airport. Untuk menuju ke taman tadi, saya perlu ke lantai 2 melewati hotel, game center, bioskop, dan kemudian keluar dari pintu bertuliskan “Sunflower Garden”. Ya betul, objek utama taman ini adalah bunga matahari. Meskipun demikian taman ini memiliki beberapa jenis tanaman bunga lainnya.

Saya kagum melihat tanaman bunga matahari yang besar-besar, berada di balkon bangunan bandara berlatar belakang pesawat berlalu-lalang. Saat itu waktu hampir menunjukkan pukul 7 malam, tapi karena Singapore 1 jam lebih cepat dari Jakarta langit masih cerah & sinar matahari masih cukup untuk memotret. Segera saya memotret dengan kamera Fuji X100s yang selama di Manila belum pernah saya pakai memotret. Ini beberapa foto yang saya dapat dari Sunflower Garden :




Belum puas memotret Fuji X100s saya kehabisan batere. Akhirnya saya beralih memotret dengan menggunakan kamera ponsel saja.


Tidak heran bila Changi Airport (kode : SIN) beberapa kali menjadi langganan The Best Airport in The World. Bandara ini benar-benar memanjakan penumpang yang singgah ke Singapore. Menikmati taman bunga ini cukup mengurangi kekesalan saya ketinggalan pesawat. Setelah puas menikmati taman ini, saya pergi makan malam. Di kupon makan yang saya dapat tercantum beberapa nama restoran, tapi cuma satu yang menarik untuk dikunjungi; Hard Rock cafe yang berada di Terminal 3 Changi. Bertambah kagum saya dengan Changi Aiport, bagaimana tidak kagum bandar udara ini memiliki Hard Rock cafe sendiri. Selesai makan di Hard Rock saya baru tahu kalau kupon makan tadi hanya bernilai SGD $20. Sisa tagihannya saya bayar sendiri. Bolak-balik dari Terminal 2 ke Terminal 3 sangat mudah, tinggal menggunakan SkyTrain saja. SkyTrain ini juga salah satu hal yang saya kagumi dari Changi Airport. Begitu kira-kira pengalaman saya “berwisata” singkat di Changi.

Mengganti Ethernet Instance Number – RHEL 6

Di Linux, network interface card (NIC) Ethernet dikenali dengan simbol eth. Masing-masing interface punya nomor yang unik. Misalnya bila cuma ada 1 interface maka namanya adalah eth0. Bila ada 2, maka kita bisa lihat akan ada 2 interface : eth0 dan eth1. Penomoran ini diatur udev (Dynamic Device Management). Saat proses booting, udev akan mencocokan data perangkat yang aktif dengan aturan yang sudah ada sebelumnya. Misalnya untuk NIC, udev menyimpan aturan (rule) penomoran NIC dalam berkas /etc/udev/rules.d/70-persistent-net.rules seperti contoh berikut ini.

root@rhel6:~# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.


# PCI device 0x8086:0x100e (e1000)


# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:d9:19:33", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:14:05:a7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
root@rhel6:~# 

Pada contoh di atas ada 2 NIC yang terdaftar. Ethernet dengan MAC address “08:00:27:d9:19:33” akan selalu diberi nama eth0 sedangkan NIC dengan MAC Address “08:00:27:14:05:a7” akan diberi nama eth1. Misalnya ada penambahan NIC baru pada komputer, udev akan otomatis menambahkan 1 nomor sehingga NIC tersebut akan dikenali sebagai eth2.

Selain rule untuk perangkat jaringan di atas, udev juga memiliki beberapa berkas lain seperti misalnya :

[root@dummyuim rules.d]# ll
total 36
-rw-r--r--. 1 root root 1652 Nov 20  2010 60-fprint-autosuspend.rules
-rw-r--r--. 1 root root  153 Oct 10  2013 60-ipath.rules
-rw-r--r--. 1 root root 1060 Jul 25  2010 60-pcmcia.rules
-rw-r--r--. 1 root root  316 Oct 12  2013 60-raw.rules
-rw-r--r--. 1 root root  530 Oct  1 22:43 70-persistent-cd.rules
-rw-r--r--. 1 root root  585 Oct  2 07:50 70-persistent-net.rules
-rw-r--r--. 1 root root  320 Dec 20  2012 90-alsa.rules
-rw-r--r--. 1 root root   83 May 21  2011 90-hal.rules
-rw-r--r--. 1 root root  292 Nov 18  2013 98-kexec.rules
[root@dummyuim rules.d]# 

Proses udev akan melakukan scanning pada semua perangkat yang terdeteksi oleh kernel Linux saat proses booting berlangsung. Tidak cuma mengatur penomoran masing-masing perangkat, udev juga bertanggung jawab untuk menjalankan program yang diperlukan untuk mengaktifkan perangkat. Misalnya dengan udev kita bisa menentukan driver module mana yang diperlukan oleh sebuah perangkat (udev akan memanggil program modprobe untuk mengaktifkan driver tersebut).

Kembali ke soal penamaan network interface tadi, biasanya penomoran Ethernet akan relatif statis tidak pernah berubah-ubah. Penomoran Ethernet akan berubah pada kasus tertentu saja; misalnya ada penggantian NIC yang rusak. Tentu hal semacam itu relatif jarang terjadi. Berbeda halnya saat saya menggunakan VirtualBox, saya bisa dengan mudah menggonta-ganti NIC & MAC Address-nya dengan mudah. Gambar berikut adalah contoh cara mengganti MAC Address pada sebuah virtual machine (VirtualBox akan otomatis menghasilkan MAC Address baru):

Misalnya VM RedHat Linux saya awalnya memiliki 1 buah NIC dengan MAC Address “08:00:27:d9:19:33”. NIC tersebut dikenali oleh Linux sebagai eth0. Lalu saya sengaja mengganti MAC Address-nya “08:00:27:14:05:a7”. Karena pada contoh ini saya menggunakan Network Manager & DHCP, Network Manager akan otomatis mengaktifkan NIC tersebut. Akibatnya saya mendapati NIC saya berubah menjadi eth1 seperti contoh berikut ini :

root@rhel6:ttirtawi# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:14:05:a7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.2/24 brd 192.168.56.255 scope global eth1
    inet6 fe80::a00:27ff:fe14:5a7/64 scope link
       valid_lft forever preferred_lft forever
root@rhel6:ttirtawi# 

Bila saya cek udev rule saya mendapati 2 baris yang mengatur Ethernet seperti ini :

root@rhel6:~# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.


# PCI device 0x8086:0x100e (e1000)


# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:d9:19:33", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:14:05:a7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
root@rhel6:~# 

Bila saya ingin mengembalikan nama eth0 pada NIC tersebut saya bisa memodifikasi berkas 70-persistent-net.rules tadi menjadi seperti ini :

root@rhel6:~# vi /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.


# PCI device 0x8086:0x100e (e1000)


# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:14:05:a7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
root@rhel6:~# 

Saya hapus saja baris yang masih mengatur NIC eth0 & MAC Address lama (“08:00:27:d9:19:33”). Lalu saya ubah baris berisi eth1 menjadi eth0 (untuk baris berisi MAC Address “08:00:27:14:05:a7”). Untuk mengaktifkan rule baru tersebut, cara paling mudah adalah dengan me-restart VM ini. Bila saya perlu melakukannya tanpa me-restart mesin, saya bisa menggunakan perintah udevadm.

Jadi setelah mengubah berkas 70-persistent-net.rules tadi, saya perlu menonaktifkan interface eth1 terlebih dulu seperti contoh berikut ini :

root@rhel6:~# ifconfig eth1 down

Barulah saya bisa menggunakan perintah udevadm seperti berikut ini :

root@rhel6:~# udevadm trigger --attr-match=subsystem=net

Perintah tersebut “memaksa” proses udev untuk membaca ulang rules yang dimilikinya & mengatur ulang penomoran Ethernet. Dengan begitu NIC yang awalnya menggunakan nama eth1 sekarang otomatis berubah menjadi eth0.

root@rhel6:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:14:05:A7 
          inet addr:192.168.56.2  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe14:5a7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1180 (1.1 KiB)  TX bytes:2482 (2.4 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:757 errors:0 dropped:0 overruns:0 frame:0
          TX packets:757 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:65098 (63.5 KiB)  TX bytes:65098 (63.5 KiB)


root@rhel6:~# 

Kira-kira begitu catatan saya untuk mengubah penamaan network interface Ethernet pada RedHat Linux.