我正在使用 sudo ip tuntap add dev 創建一個 tun 接口mod tun,但是當我 ping 它時它沒有收到資料包?

我正在使用 sudo ip tuntap add dev 創建一個 tun 接口mod tun,但是當我 ping 它時它沒有收到資料包?

這是我設定介面時的命令:

sudo ip tuntap add dev router0 mod tun
sudo ip addr add 10.0.0.138/24 dev router0
sudo ip link set dev router0 up

這是輸出ip addr show dev router0

8: router0: <NO-CARRIER,POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 500
    link/none 
    inet 10.0.0.138/24 scope global router0
       valid_lft forever preferred_lft forever

當我嘗試10.0.0.138使用 tshark via ping 監聽介面時sudo tshark -i router0,沒有任何反應。

這是我的 ping10.0.0.138輸出:

PING 10.0.0.138 (10.0.0.138) 56(84) bytes of data.
64 bytes from 10.0.0.138: icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from 10.0.0.138: icmp_seq=2 ttl=64 time=0.058 ms

這是我的sudo tshark -i router0輸出:

Capturing on 'router0'

什麼也沒有通過

答案1

因為 ping 實際上並沒有到達實體設備,而是tshark透過實體設備來監聽封包。

當您將位址新增至電腦的任何介面時,它會在表中建立一個特殊的路由local(檢查您的sudo ip route show table local)。會有一些local路線。與本地路由的任何通訊都旨在跳過多層網路堆疊以提高效率。您的資料包應該出現在lo介面上,因此要查看它們,您必須運行sudo tshark -i lo.

相關內容