
Вот мои команды при настройке интерфейса:
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
.