Я использую сервер с демонами openvpn и pptp.
В iptables у меня есть правила, чтобы дать некоторым клиентам pptp разрешение на контакт с другими клиентами через туннели pptp или openvpn, доступные на сервере.
Elevated pptp client --> pptp server forward to --> pptp client
Elevated pptp client --> pptp server forward to --> openvpn client
Это работает довольно хорошо, но:
Время от времени я не могу связаться с клиентом openvpn. Когда я пингую IP-адрес клиента openvpn, я получаю тайм-аут, в то время как я могу пинговать этот ip напрямую с сервера!
server --> openvpn client == 64 bytes from *** time *ms
Elevated pptp client --> server == 64 bytes from *** time *ms
Elevated pptp client --> pptp server forward to --> openvpn client == time-out
Сервер является сервером Ubuntu 14.04, но на моем последнем сервере с Ubuntu 10.10 у меня возникла та же проблема.
Я думаю, что проблема заключается в следующем: сообщение ping выглядит так:
elevated client --> server routing --> openvpn daemon routing --> client
openvpn daemon routing <-- client
Демон openvpn не может найти IP, на который нужно ответить, в своем собственном пуле и сбрасывает сообщение.
Есть ли способ подтвердить это, и если это проблема: почему я только с некоторыми клиентами, и как я найду решение?