з цієї статті: http://backreference.org/2010/03/26/tuntap-interface-tutorial/ автор створив інтерфейс tun
# openvpn --mktun --dev tun2
# ip link set tun2 up
# ip addr add 10.0.0.1/24 dev tun2
тоді він зробив ICMP пінг до 10.0.0.2
# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=2 Destination Host Unreachable
From 10.0.0.1 icmp_seq=3 Destination Host Unreachable
...
і він використовував tshark або tcpdump для зйомки пакетів на інтерфейсі tun2, і він може захоплювати пакети, як показано нижче:
0.000000 10.0.0.1 -> 10.0.0.2 ICMP Echo (ping) request
0.999374 10.0.0.1 -> 10.0.0.2 ICMP Echo (ping) request
1.999055 10.0.0.1 -> 10.0.0.2 ICMP Echo (ping) request
Я дотримувався тих же процедур, але я не можу захопити пакети, як він, і я не отримую Destination Host Unreachable
. Я думаю, що проблема пов’язана з локальною маршрутизацією, в його тесті здається, що система розглядає 10.0.0.1
шлюз за замовчуванням для підмережі 10.0.0.0/24, але в моєму тесті це не так.
тож як я можу отримати той самий результат, що і авторський?
До речі, на моїй машині:
tun2 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.0.0.1 P-t-P:10.0.0.1 Mask:255.255.255.0
UP POINTOPOINT NOARP MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:420 (420.0 b) TX bytes:0 (0.0 b)
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun2
192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
Я не розумію, що означає 0.0.0.0
шлюз, тому я додав маршрут:
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
і дістати
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
10.0.0.0 10.0.0.1 255.255.255.0 UG 0 0 0 tun2
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun2
192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
все одно це не працює. Я справді не розумію, чому.