Difference between revisions of "IPv6-ready kernel"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 21: | Line 21: | ||
# modprobe ipv6 | # 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" | # 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== | ||
+ | |||
− | |||
4.1.2.1. Automatically loading of module | 4.1.2.1. Automatically loading of module | ||
Revision as of 09:06, 21 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
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
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. 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:
Update your distribution to a current one which supports IPv6 out-of-the-box (recommended for newbies)
Compile a new vanilla kernel (easy, if you know which options you needed)
Recompile kernel sources given by your Linux distribution (sometimes not so easy)
Compile a kernel with USAGI extensions
If you decide to compile a kernel, you should have previous experience in kernel compiling and read the Linux Kernel HOWTO.
A comparison between vanilla and USAGI extended kernels is available on IPv6+Linux-Status-Kernel. 4.1.3.1. Compiling a vanilla kernel
More detailed hints about compiling an IPv6-enabled kernel can be found e.g. on IPv6-HOWTO-2#kernel.
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. 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.
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). 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
Parallel Line IP (PLIP), same like SLIP, device names: plipX
ISDN with encapsulation rawip, device names: isdnX
4.1.4.2. Currently known “not supported IPv6 capable links”
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)