Я создаю интерфейс tun с помощью sudo ip tuntap add devmod tun, но он не получает пакеты, когда я его пингую?

Я создаю интерфейс tun с помощью sudo ip tuntap add devmod tun, но он не получает пакеты, когда я его пингую?

Вот мои команды при настройке интерфейса:

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

Когда я пытаюсь выполнить ping- 10.0.0.138прослушивание на интерфейсе с помощью tshark через sudo tshark -i router0, ничего не происходит.

Вот мой 10.0.0.138вывод ping:

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.

Связанный контент