ИМХО:
Общие рекомендации:
- Лучше всё же использовать tun - так получается гибче настройка доступа в подсеть(и) с клиента.
- Сменить порт по умолчанию на какой-либо другой.
- Начать использовать TLS-шифрование как можно быстрей. Там всё просто.
На сервере почти минимальная конфигурация:
dev tun
local х.х.х.х - внешний ип, на котором слушаем
port хххх - порт, на котором слушаем с внешнего интерфейса
proto udp
server 192.168.168.0 255.255.255.0 - виртуальная подсетка, в которой клиенты работают с сервером
push "route 192.168.0.0 255.255.255.0" - реальные сетки за серваком
push "route 192.168.1.0 255.255.255.0"
route 192.168.168.0 255.255.255.252
client-config-dir ccd - автоматическая запись маршрута до клиента.
client-to-client - для доступа напрямую к клиентам. [Эта и предыдущая опции - суть ответ на твой вопрос]
comp-lzo - параметр сжатия трафика
keepalive 10 120
tun-mtu 1500
mssfix 1450 - ограничение посылаемых пакетов от клиентов (только при использовании udp)
verb 3 - для информативности логов.
============
На клиенте:
dev tun
remote х.х.х.х хххх - внешний ип сервера и наш нестандартный порт.
proto udp
comp-lzo
tun-mtu 1450
mssfix
verb 3
=======
Запускаем, смотрим логи.
Больше никаких шаманств. На файрволе должен быть доступен порт, который мы используем.
UPD: Не знаю, как там у пингвинов, а у демонов больше ничего настраивать не нужно (ни фаеров ни маршрутизаций левыми командами) /Навеяно первым ответом и комментариями к нему/