Saya sudah melakukan pencarian dan kurang lebih memahami apa yang tun0
dilakukan antarmuka. Saya mendapat yang berikut dari berbagai sumber,
Paket yang dikirim oleh sistem operasi melalui perangkat tun / tap dikirimkan ke program ruang-pengguna yang menempel pada perangkat. Program ruang pengguna juga dapat meneruskan paket ke perangkat tun / ketuk. Dalam hal ini perangkat tun / tap memberikan (atau "menyuntikkan") paket-paket ini ke tumpukan jaringan sistem operasi sehingga meniru penerimaannya dari sumber eksternal. antarmuka tun / tap adalah antarmuka perangkat lunak saja, yang berarti bahwa mereka hanya ada di kernel dan, tidak seperti antarmuka jaringan biasa, mereka tidak memiliki komponen perangkat keras fisik (sehingga tidak ada kabel fisik yang terhubung dengannya).
Anda dapat menganggap antarmuka tun / ketuk sebagai antarmuka jaringan biasa yang, ketika kernel memutuskan bahwa saatnya telah tiba untuk mengirim data "on the wire", alih-alih mengirimkan data ke beberapa program userspace yang terhubung ke antarmuka.
Sekarang, jika saya membandingkan output untuk eth0
dan tun0
, saya melihat sesuatu seperti ini.
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:14:22:50:78:71
inet addr:172.16.210.32 Bcast:172.16.255.255 Mask:255.255.0.0
...
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
<snipped>
ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
Sekarang, jika kita mencoba membandingkan keduanya, kita menemukan perbedaan ini,
eth0
memang memiliki alamat MAC, dan dimengertitun0
tidak.eth0
bekerja dalam mode siaran, dantun0
bekerja dalam mode point-to-point.
Saya memiliki poin-poin berikut yang tidak saya mengerti.
Apa peran alamat
P-t-P:10.8.0.2
dalam skenario ini?Mengapa subnet mask
tun0
diatur ke 255.255.255.255?
sumber
ifconfig tunXX hw ether XX:XX:XX:XX:XX:XX
tetapi tidak diperlukan dan mungkin tidak akan berfungsi pada tautan titik ke titik.