Difference between revisions of "IPv6-ready kernel"

From OnnoWiki
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
4.1. IPv6-ready kernel
+
Di distribusi Linux modern biasanya kernel sudah siap IPv6. Kemampuan IPv6 biasanya di compile sebagai modul. Akan tetapi sangat mungkin, modul tersebut tidak di load secara automatis,
  
Modern Linux distributions already contain IPv6-ready kernels, the IPv6 capability is generally compiled as a module, but it's possible that this module is not loaded automatically on startup.
+
Catatan: sebaiknya tidak menggunakan kernel seri 2.2.x lagi, karena IPv6 tidak update. Juga dukungan IPv6 di kernel 2.4.x tidak lagi sesuai dengan definisi RFC. Lebih di rekomendasikan menggunakan kernel seri 2.6.x atau yang terbaru sekalian.
 +
 +
==Cek dukungan IPv6 di kernel yang berjalan==
  
Note: you shouldn't anymore use kernel series 2.2.x, because it's not IPv6-up-to-date anymore. Also the IPv6 support in series 2.4.x is no longer improved according to definitions in latest RFCs. It's recommend to use series 2.6.x now.
+
Untuk mencek apakah kernel yang berjalan mendukung IPv6, file berikut harus ada
4.1.1. Check for IPv6 support in the current running kernel
 
 
 
To check, whether your current running kernel supports IPv6, take a look into your /proc-file-system. Following entry must exists:
 
  
 
  /proc/net/if_inet6
 
  /proc/net/if_inet6
  
A short automatical test looks like:
+
atau kalau mau automatis dapat menggunakan script berikut
  
 
  # test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"
 
  # test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"
  
If this fails, it is quite likely, that the IPv6 module is not loaded.
+
Jika tidak jalan, kemungkinan modul IPv6 tidak di load.
4.1.2. Try to load IPv6 module
 
  
You can try to load the IPv6 module executing
+
==Meload Module IPv6==
 +
 
 +
Kita dapat mencoba me-load module IPv6 dengan menjalankan
  
 
  # modprobe ipv6
 
  # modprobe ipv6
  
If this is successful, this module should be listed, testable with following auto-magically line:
+
Jika load tersebut berhasil, maka module IPv6 harusnya terdaftar dan dapat di test
 +
menggunakan script berikut secara automatis
  
 
  # lsmod |grep -w 'ipv6' && echo "IPv6 module successfully loaded"
 
  # lsmod |grep -w 'ipv6' && echo "IPv6 module successfully loaded"
  
And the check shown above should now run successfully.
+
Harusnya jalan dengan baik
 
 
Note: unloading the module is currently not supported and can result, under some circumstances, in a kernel crash.
 
4.1.2.1. Automatically loading of module
 
 
 
Its possible to automatically load the IPv6 module on demand. You only have to add following line in the configuration file of the kernel module loader (normally /etc/modules.conf or /etc/conf.modules):
 
 
 
alias net-pf-10 ipv6  # automatically load IPv6 module on demand
 
 
 
It's also possible to disable automatically loading of the IPv6 module using following line
 
  
alias net-pf-10 off  # disable automatically load of IPv6 module on demand
+
Catatan: unload module IPv6 saat ini masih belum jalan dengan baik. Mungkin akan terjadi crash kernel.
  
Additional note: in kernels series 2.6.x, the module loader mechanism was changed. The new configuration file has to be named /etc/modprobe.conf instead of /etc/modules.conf.
+
==Load Module Secara Automatis==
4.1.3. Compile kernel with IPv6 capabilities
 
  
If both above shown results were negative and your kernel has no IP6 support, than you have the following options:
+
Alternatif lain adalah meload modul IPv6 secara automatis / on demand.
 +
Kita hanya perlu menambahkan kalimat berikut di file konfigurasi untuk kernel modul loader
 +
(biasanya /etc/modules.conf atau /etc/conf.modules atau /etc/modules) :
  
    Update your distribution to a current one which supports IPv6 out-of-the-box (recommended for newbies)
+
alias net-pf-10 ipv6  # untuk load IPv6 module on demand secara automatis
  
    Compile a new vanilla kernel (easy, if you know which options you needed)
+
Juga kita bisa men-disable load IPv6 module secara automatis menggunakan kalinat berikut:
  
    Recompile kernel sources given by your Linux distribution (sometimes not so easy)
+
alias net-pf-10 off  # disable load IPv6 module on demand secara automatis
  
    Compile a kernel with USAGI extensions
+
Catatan: di kernel 2.6.x, mekanisme load module di ubah. File konfigurasi di namakan
 +
/etc/modprobe.conf atau /etc/modprobe.d/*conf tidak lagi /etc/modules.conf.
  
If you decide to compile a kernel, you should have previous experience in kernel compiling and read the Linux Kernel HOWTO.
+
==Compile kernel dengan kemampuan IPv6==
  
A comparison between vanilla and USAGI extended kernels is available on IPv6+Linux-Status-Kernel.
+
Pada saat ini sebagian besar kernel yang digunakan sudah mendukung IPv6.
4.1.3.1. Compiling a vanilla kernel
+
Jika langkah di atas memperlihatkan hasil yang negatif,
 +
dan kernel yang kita gunakan tidak mendukung IPv6, maka kita mempunyai pilihan berikut:
  
More detailed hints about compiling an IPv6-enabled kernel can be found e.g. on IPv6-HOWTO-2#kernel.
+
* Update distribusi yang kita gunakan ke distribusi yang mendukung IPv6 (sangat di sarankan untuk pemula).
 +
* Compile kernel yang baru (mudah, jika kita mengetahui optipn yang harus di aktifkan).
 +
* Recompile kernel source bawaan distro anda (kadang tidak begitu mudah)
 +
* Compile kernel dengan USAGI extension
  
Note: you should use whenever possible kernel series 2.6.x or above, because the IPv6 support in series 2.4.x only will no longer get backported features from 2.6.x and IPv6 support in series 2.2.x is hopeless outdated.
+
Jika kita memutuskan untuk compile kernel, kita ada baiknya mempunyai pengalaman compile kernel sebelumnya.
4.1.3.2. Compiling a kernel with USAGI extensions
 
  
Same as for vanilla kernel, only recommend for advanced users, which are already familiar with IPv6 and kernel compilation. See also USAGI project / FAQ and Obtaining the best IPv6 support with Linux (Article) (Mirror).
 
4.1.4. IPv6-ready network devices
 
  
Not all existing network devices have already (or ever) the capability to transport IPv6 packets. A current status can be found at IPv6+Linux-status-kernel.html#transport.
+
==Network Device yang Siap IPv6==
  
A major issue is that because of the network layer structure of kernel implementation an IPv6 packet isn't really recognized by it's IP header number (6 instead of 4). It's recognized by the protocol number of the Layer 2 transport protocol. Therefore any transport protocol which doesn't use such protocol number cannot dispatch IPv6 packets. Note: the packet is still transported over the link, but on receivers side, the dispatching won't work (you can see this e.g. using tcpdump).
+
Tidak semua network device yang ada mendukung (akan mendukung) kemampuan untuk membawa paket IPv6.
4.1.4.1. Currently known never “IPv6 capable links”
 
  
    Serial Line IP (SLIP, RFC 1055 / SLIP), should be better called now to SLIPv4, device named: slX
+
Masalah utama yang ada karena struktur lapisan jaringan dari implementasi kernel yang ada. IPv6 paket tidak di kenali dengan nomor IP header (6 bukan 4). Tapi di kenali oleh nomor protokol di protokol lapisan ke 2. Oleh karenanya, protokol transport yang tidak mengggunakan nomor protokol tersebut tidak akan bisa melepaskan paket IPv6. Catatan: paket akan tetap dikirim melalui link, akan tetapi di bagian penerima, proses pengiriman / pelepasan paket tidak akan bekerja. Kita dapat melihat hal ini menggunakan tcpdump.
  
    Parallel Line IP (PLIP), same like SLIP, device names: plipX
+
==Link yang tidak akan pernah mampu IPv6==
  
    ISDN with encapsulation rawip, device names: isdnX
+
* Serial Line IP (SLIP, RFC 1055 / SLIP), sebaiknya di sebut SLIPv4, nama device: slX
 +
* Parallel Line IP (PLIP), sama dengan SLIP, nama device: plipX
 +
* ISDN dengan enkapsulasi rawip, nama device: isdnX
  
4.1.4.2. Currently known “not supported IPv6 capable links”
+
==Link yang tidak mendukung IPv6==
  
    ISDN with encapsulation syncppp, device names: ipppX (design issue of the ipppd, will be merged into more general PPP layer in kernel series 2.5.x)
+
ISDN dengan enkapsulasi syncppp, nama device: ipppX (masalah disain dari ipppd, akan digabungkan dengan lapisan PPP di kernel seri 2.5.x)

Latest revision as of 09:53, 22 June 2013

Di distribusi Linux modern biasanya kernel sudah siap IPv6. Kemampuan IPv6 biasanya di compile sebagai modul. Akan tetapi sangat mungkin, modul tersebut tidak di load secara automatis,

Catatan: sebaiknya tidak menggunakan kernel seri 2.2.x lagi, karena IPv6 tidak update. Juga dukungan IPv6 di kernel 2.4.x tidak lagi sesuai dengan definisi RFC. Lebih di rekomendasikan menggunakan kernel seri 2.6.x atau yang terbaru sekalian.

Cek dukungan IPv6 di kernel yang berjalan

Untuk mencek apakah kernel yang berjalan mendukung IPv6, file berikut harus ada

/proc/net/if_inet6

atau kalau mau automatis dapat menggunakan script berikut

# test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"

Jika tidak jalan, kemungkinan modul IPv6 tidak di load.

Meload Module IPv6

Kita dapat mencoba me-load module IPv6 dengan menjalankan

# modprobe ipv6

Jika load tersebut berhasil, maka module IPv6 harusnya terdaftar dan dapat di test menggunakan script berikut secara automatis

# lsmod |grep -w 'ipv6' && echo "IPv6 module successfully loaded"

Harusnya jalan dengan baik

Catatan: unload module IPv6 saat ini masih belum jalan dengan baik. Mungkin akan terjadi crash kernel.

Load Module Secara Automatis

Alternatif lain adalah meload modul IPv6 secara automatis / on demand. Kita hanya perlu menambahkan kalimat berikut di file konfigurasi untuk kernel modul loader (biasanya /etc/modules.conf atau /etc/conf.modules atau /etc/modules) :

alias net-pf-10 ipv6  # untuk load IPv6 module on demand secara automatis

Juga kita bisa men-disable load IPv6 module secara automatis menggunakan kalinat berikut:

alias net-pf-10 off   # disable load IPv6 module on demand secara automatis

Catatan: di kernel 2.6.x, mekanisme load module di ubah. File konfigurasi di namakan /etc/modprobe.conf atau /etc/modprobe.d/*conf tidak lagi /etc/modules.conf.

Compile kernel dengan kemampuan IPv6

Pada saat ini sebagian besar kernel yang digunakan sudah mendukung IPv6. Jika langkah di atas memperlihatkan hasil yang negatif, dan kernel yang kita gunakan tidak mendukung IPv6, maka kita mempunyai pilihan berikut:

  • Update distribusi yang kita gunakan ke distribusi yang mendukung IPv6 (sangat di sarankan untuk pemula).
  • Compile kernel yang baru (mudah, jika kita mengetahui optipn yang harus di aktifkan).
  • Recompile kernel source bawaan distro anda (kadang tidak begitu mudah)
  • Compile kernel dengan USAGI extension

Jika kita memutuskan untuk compile kernel, kita ada baiknya mempunyai pengalaman compile kernel sebelumnya.


Network Device yang Siap IPv6

Tidak semua network device yang ada mendukung (akan mendukung) kemampuan untuk membawa paket IPv6.

Masalah utama yang ada karena struktur lapisan jaringan dari implementasi kernel yang ada. IPv6 paket tidak di kenali dengan nomor IP header (6 bukan 4). Tapi di kenali oleh nomor protokol di protokol lapisan ke 2. Oleh karenanya, protokol transport yang tidak mengggunakan nomor protokol tersebut tidak akan bisa melepaskan paket IPv6. Catatan: paket akan tetap dikirim melalui link, akan tetapi di bagian penerima, proses pengiriman / pelepasan paket tidak akan bekerja. Kita dapat melihat hal ini menggunakan tcpdump.

Link yang tidak akan pernah mampu IPv6

  • Serial Line IP (SLIP, RFC 1055 / SLIP), sebaiknya di sebut SLIPv4, nama device: slX
  • Parallel Line IP (PLIP), sama dengan SLIP, nama device: plipX
  • ISDN dengan enkapsulasi rawip, nama device: isdnX

Link yang tidak mendukung IPv6

ISDN dengan enkapsulasi syncppp, nama device: ipppX (masalah disain dari ipppd, akan digabungkan dengan lapisan PPP di kernel seri 2.5.x)