из этой статьи: 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
все еще это не работает. Я действительно не понимаю, почему.