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.138tshark を使用してインターフェース上でping listen を試みても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

関連情報