Hello, Vasiliy!
On March, 05 2014 at 16:28 you wrote to Alexey Markov:
??>> Адрес и маска на tun0 автоматически прописываются OpenVPN-ом, в
??>> соответствии с параметром server из openvpn.conf (который, заодно,
??>> задаёт и доступные адреса для клиентов). Наверное, можно подобрать
??>> параметры OpenVPN так, чтобы на tun0 прописывалась маска /30, и потом
??>> для каждого клиента в скрипте подключения добавлять свой маршрут, но я
??>> сомневаюсь, что это сработает, так как к моменту запуска скрипта адрес
??>> подсети клиента уже будет прописан на tun0, и arp опять не сможет
??>> решить, к какому интерфейсу относится указанный МАС-адрес, к tun0 или
??>> vlan66.
??>>
??>> Но больше всего меня смущает то, что раз TUN вообще не может иметь
??>> МАС-адреса, то как arp вообще может запутаться в ОДНОМ оставшемся
??>> интерфейсе vlan66?
VM> Кстати - вот только заметил. tun - этот интерфейс для роутинга
VM> используется. Какой на роутинге может быть арп?
Никакого не может. Потому он и прописывается на vlan66. Точнее, должен
бы, но - увы. В линуксе это решается просто явным указанием нужного
интерфейса, но фришный arp такого ключика не имеет. :-(
VM> ну и я уже молчу об одной сетке на 2-ух интерфейсах. Для этого дела
VM> надо использовать tap
Не обязательно. TUN вместе с proxy-arp зачастую выгоднее, чем TAP,
и эта схема реально рабочая... если б не проблемы с arp на Фряхе.
По tcpdump видно, что пакеты от клиента нормально уходят в сеть
за OpenVPN, внешний хост пытается на них ответить, шлёт ARP-запрос,
но ответа на него не получает - потому что на сервере OpenVPN в
arp таблице адрес клиента не добавился. Точнее, на линуксах он
нормально добавляется, а вот Фряха путается. И это огорчает, да. :-(
IP 172.16.97.2 > 172.16.99.250: ICMP echo request, id 1, seq 33, length 40
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
IP 172.16.97.2 > 172.16.99.250: ICMP echo request, id 1, seq 34, length 40
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
ARP, Request who-has 172.16.97.2 tell 172.16.99.250, length 46
--
WBR, Alexey Markov.