IP tunnel adalah kanal jaringan komunikasi Protokol Internet (IP) antara dua jaringan komputer yang digunakan untuk transportasi menuju jaringan lain dengan mengkapsulkan paket ini. IP Tunnel sering kali digunakan untuk menghubungkan dua jaringan IP tidak bergabung yang tidak memiliki alamat penjaluran asali (native routing path) ke lainnya, melalui protokol penjaluran utma melewati jaringan transportasi tingkat menegah. Bersama dengan protokol IPsec keduanya kemungkinan digunakan untuk membuat jaringan maya pribadi (Virtual Private Network) antara dua atau lebih jaringan pribadi melewati jaringan umum misalnya internet. Penggunaan umum lainya adalah untuk menghubungkan antara instalsi IPv6 dan IPv4 internet. (sumber id.wiki)


Dalam melakukan IP tunel, setiap paket IP, termasuk informasi pengalamatan dari sumber dan tujuan jaringan IP, dikapsulasi dengan format paket asali lainnya ke jaringan antara (transit network).

Di batas antara jaringan sumber ke jaringan antara serta antara jaringan antara ke jaringan tujuan, gerbang jaringan (Gateways) digunakan untuk membangun titik akhir IP tunnel antar jaringan. Kemudian, titik akhir IP tunnel menjadi penjalur IP asali (native IP routers) yang membuat standar penjalur IP antara jaringan sumber dan jaringan tujuan.

Implementasi

Asumsi 2 mesin linux yang sama-sama memiliki ip public.

Linux1
IP Public: 125.162.82.3
IP LAN 192.168.1.1/24
IP Tunnel 10.10.10.2/29

Linux2
IP Public: 117.103.56.8
IP LAN 192.168.0.1/24
IP Tunnel 10.10.10.1/29

Perlu kita perhatikan  untuk ip tunnel ke 2 mesin linux haruslah sama-sama dalam satu subnet.

Seting di Linux1
#ip tunnel add tun0 mode ipip remote 117.103.56.8 local 125.162.82.3
#ip link set tun0 up
#ip addr add 10.10.10.2/29 dev tun0
#route add -net 192.168.0.0/24 dev tun0

Setting di linux2
#ip tunnel add tun0 mode ipip remote 125.162.82.3  local 117.103.56.8
#ip link set tun0 up
#ip addr add 10.10.10.1/29 dev tun0
#route add -net 192.168.1.0/24 dev tun0

Bisa kita lihat di masing-masing mesin linux interface tun0

tun0      Link encap:IPIP Tunnel  HWaddr
inet addr:10.10.10.1  P-t-P:10.10.10.1  Mask:255.255.255.248
UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
RX packets:36926 errors:0 dropped:0 overruns:0 frame:0
TX packets:39438 errors:69 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1706332 (1.6 MiB)  TX bytes:17654392 (16.8 MiB)

setelah setingan selesai kita bisa test ping ke masing-masing mesin linux,