Я пытался отправлять пакеты на интерфейс крана, используя python.Я наблюдаю за интерфейсом крана, используя wireshark, и пакеты не принимаются.Я делаю это как упражнение в основном для того, чтобы помочь мне понять vpns, мостовое соединение Ethernet и программирование сокетов в python.
Моя настройка системы выглядит следующим образом:
Ubuntu Desktop 11.10
Python 2.7
eth0 ip: 192.168.1.6
tap0 ip: 10.0.0.1
Сначала я настраиваюнажмите следующим образом:
sudo openvpn --mktun --dev tap0
sudo ifconfig tap0 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255 promisc up
Это запустит интерфейс tap0 и создаст правило маршрутизации ядра до 10.0.0.1/24 через tap0.
Вот таблица маршрутов:
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.255.255.0 U 0 0 0 tap0
192.168.1.6 * 255.255.255.0 U 1 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Далее я запускаю python Interactive и создаю простой UDP-сокет.
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.sendto('helloworld',('10.0.0.2',12345))
Я запускаю команду sendto с мониторингом Wireshark на tap0.Теперь в моей сети нет хоста 10.0.0.2, но я должен хотя бы увидеть некоторый исходящий трафик на интерфейсе tap0.Я повторил это в Windows, и это, кажется, работает нормально.
Я могу только думать, что проблема заключается где-то в настройке интерфейса tap0 под linux.Это или мое посредственное понимание этого материала.
Спасибо