Bila kita mempunyai dua atau lebih kartu jaringan, kadang udev atau mekanisme assigning kartu ke dev secara otomatis tidak seperti yang kita inginkan. Seperti contoh yang saya alami dengan centos, onboard kartu jaringan di-assign sebagai eth1 dan kartu jaringan tambahan sebagai eth0, sementara saya ingin onboard yang eth0. Nah, gimana cara ngerubah ini?
Untuk centos 5.3 yang masih menggunakan udev versi lama, maka ada beberapa file yang harus dirubah. Yang pertama adalah file /etc/modprobe.conf. Sebelumnya adalah:
[root@hb1 ~]# cat /etc/modprobe.conf alias eth0 3c59x alias eth1 e100
e100 adalah driver untuk kartu jaringan onboard dan 3c59x adalah driver untuk kartu tambahan. Yang diinginkan onboar jadi eth0, maka kita rubah menjadi:
[root@hb1 ~]# cat /etc/modprobe.conf alias eth0 e100 alias eth1 3c59x
Selanjutnya adalah merubah file-file di /etc/sysconfig/network-scripts/ yaitu ifcfg-eth0 dan ifcfg-eth1 (kalau cuma 2 kartu). Pertama kita swap dulu nama kedua file tersebut dan kemudian adaptasikan perubahannya.
[root@hb1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 DEVICE=eth0 BOOTPROTO=none HWADDR=00:e0:18:25:20:dd ONBOOT=yes DHCP_HOSTNAME=hb1 TYPE=Ethernet IPADDR=192.168.0.11 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 USERCTL=no IPV6INIT=no PEERDNS=yes
Yang perlu dirubah paling DEVICE, IPADDR dan GATEWAY.
Untuk Fedora 10 keatas (dan turunannya serta Ubuntu yang baru serta turunannya) yang dilakukan lebih sederhana. TInggal rubah satu file saja yaitu file /etc/udev/rules.d/70-persisten-net.rules. Contoh yang satu kartu:
[hansen@hansen ~]$ 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. # Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rule written by anaconda) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:19:21:6e:72:43", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Tinggal sesuaikan pada bagian ‘NAME=”eth0″‘.
Itu saja.
Update:
Ternyata centos mengambil setingan terakhir (eth1) sebagai default route, sementara saya menginginkan eth0 sebagai default route-nya. Untuk merubahnya, tambahkan nilai GATEWAY dari /etc/sysconfig/network-scripts/ifcfg-eth0 kedalam /etc/sysconfig/network dan hapus GATEWAY dari file /etc/sysconfig/network-scripts/ifcfg-eth0 dan /etc/sysconfig/network-scripts/ifcfg-eth1