Назад | Перейти на главную страницу

OpenVPN - OpenVZ - Multicast и как его включить

Добрый день всем

Мое приложение в основном использует многоадресные пакеты на

ip = 224.8.0.1

Я тестировал обычный Wi-Fi / Ethernet и размещенные сети, и все они хороши.

Проблема:

На моем сервере OpenVZ работает OpenVPN: UDP. Мое приложение должно разрешать многоадресным пакетам проходить через VPN и получать их любым другим клиентом, подключенным к VPN, однако это не так.

Я сделал tcpdump на адаптере OpenVPN tun0, многоадресный трафик не отправляется, однако на стороне отправителя wirehark обнаруживает отправляемый трафик.

После исследования я наткнулся на этот пост

https://openvpn.net/archive/openvpn-devel/2004-04/msg00032.html

Я бы попробовал переключиться на «dev tap» (без моста), чтобы посмотреть, поможет ли это.

Я видел некоторые старые отчеты о том, что многоадресная передача / igmp не работает на устройствах tun, но также читал отчеты о том, что он «теперь работает» ...

Также убедитесь, что вы отключили rp_filter на устройстве tun, поскольку многоадресный адрес не проходит проверку rp_filter (/ proc / sys / net / ipv4 / conf / * / rp_filter)

Я не могу переключиться на тап, поэтому я попытался повторить эхо 1> ../../rp_filter, но он защищен от записи.

Основываясь на другом сообщении, вот 3 возможных решения:

https://community.openvpn.net/openvpn/ticket/79

(1) Позвольте ядру выполнять маршрутизацию. Это означает возврат к одному демону OpenVPN на каждом конце туннеля, как в 1.x.

(2) Используйте интерфейс tun в OpenVPN 2.0 в многоклиентном режиме. Это будет рассматривать многоадресную рассылку как широковещательную рассылку.

(3) Используйте многоадресные туннели - это будет туннелировать многоадресные пакеты через OpenVPN, инкапсулированные в контейнер IP-in-IP, который должен работать нормально.

Другое [возможное] [3] решение:

вам нужно будет прослушивать и перехватывать входящие пакеты IGMP, поддерживать состояние многоадресной маршрутизации и реплицировать многоадресные пакеты в соответствии с недавно введенной таблицей многоадресной пересылки.

Вариант (3) кажется наиболее подходящим, но я понятия не имею, как его настроить.

Может ли кто-нибудь помочь мне в этом?

server.conf

port 1025
proto udp
dev tun

ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem

server 10.0.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir ccd
route 10.0.0.2 255.255.255.252
push "redirect-gateway def1"

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

client-to-client

keepalive 10 120
comp-lzo no

user nobody
group nogroup

persist-key
persist-tun

status openvpn-status.log
log-append  openvpn.log
verb 4

#possible bandwidth increase
sndbuf 393216
rcvbuf 393216
push "sndbuf 393216"
push "rcvbuf 393216"
push "remote-gateway x.x.x.x"
push "dhcp-option DNS 8.8.8.8"
ccd-exclusive

#for checking active clients
management localhost 7505

iptables хорош, недавно добавил

iptables -A INPUT -i tun0 -m pkttype --pkt-type multicast -j ACCEPT

iptables -A INPUT -i tun0 --protocol igmp -j ACCEPT

но не повезло