Vpn
了解 tun0 地址
我已經進行了一些搜尋,並且或多或少地了解了
tun0
界面的作用。我從各種來源得到以下資訊,作業系統通過 tun/tap 設備發送的數據包被傳遞到使用者空間程序,該程序將自身附加到設備上。使用者空間程序也可以將數據包傳遞到 tun/tap 設備。在這種情況下,tun/tap 設備將這些數據包傳遞(或“注入”)到作業系統網路堆棧,從而模擬它們從外部源接收。tun/tap 介面是純軟體介面,這意味著它們只存在於核心中,並且與正常網路介面不同,它們沒有物理硬體組件(因此沒有連接到它們的物理線)。
您可以將 tun/tap 介面視為正常網路介面,當核心決定“線上”發送數據時,它會將數據發送到連接到該介面的某個使用者空間程序。
現在,如果我比較 and 的輸出
eth0
,tun0
我會看到類似這樣的內容。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
現在,如果我們嘗試比較兩者,我們會發現這些差異,
eth0
確實有一個MAC地址,可以理解的tun0
是沒有。eth0
在廣播模式下tun0
工作,在點對點模式下工作。我有以下幾點我不明白。
P-t-P:10.8.0.2
在這種情況下,地址的作用是什麼?- 為什麼子網遮罩
tun0
設置為255.255.255.255?
硬體網路連結可以是點對點或點對多點。ppp連結是點對點,乙太網是點對多點。tun 可以充當任何一個,在您的情況下,它充當點對點連結。一個點對多點介面有四個與之相關聯的地址,具體來說是 ip 地址(介面的地址)、網路地址、廣播地址和網路遮罩。點對點連結有兩個與之關聯的地址,特別是 ip 地址(近端地址)和點對點對等地址(遠端地址)。由於點對點連結僅適用於兩個地址,因此廣播、網路地址和網路遮罩沒有有用的數據或標誌值。
最後一點 tun 介面可以有 mac 地址,它們只是沒有預設的 mac 地址。