Имеется сервер OpenVPN сервер с 1 сетевым интерфейсом (смотрит в интернет) с адресом: 11.11.11.11 Внутренняя виртуальная сеть OpenVPN: 10.20.30.0/24
На оборудовании так же стоит IMAP сервер
Правилами IPTables разрешен доступ к IMAP только с адреса 22.22.22.22 и с виртуальной сети - 10.20.30.0/24
# IMAP
iptables -A INPUT -i eth0 -s 22.22.22.22 -p TCP -m multiport --dport 143,993 -j ACCEPT
iptables -A INPUT -i tun+ -s 10.20.30.0/24 -p TCP -m multiport --dport 143,993 -j ACCEPT
Трафик клиентов проходит через NAT
iptables -A FORWARD -i tun+ -s 10.20.30.0/24 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.20.30.0/24 -o eth0 -j SNAT --to-source 11.11.11.11
Проблема с которой столкнулся: подключенные клиенты OpenVPN не могут обратиться к внешнему адресу: 11.11.11.11, данную проблему я исправил добавил в конфигурацию сервера следующую строку:
push "route 11.11.11.11"
на Windows и Linux добавился маршрут 11.11.11.11 255.255.255.255 IP_адрес_сервера_в_тоннеле и все отлично работает, за исключением Mac OS X, на котором вначале добавляется маршрут 11.11.11.11/32 шлюз_локальной_сети_клиента, потом (судя по логам) имеются попытки добавить 11.11.11.11 255.255.255.255 IP_адрес_сервера_в_тоннеле, но с ошибкой:
route: writing to routing socket: File exists
конфигурация OVPN сервера: http://pastebin.com/p6sMvvrP
конфигурация OVPN клиента: http://pastebin.com/0tsuYPvY
правила IPTables: http://pastebin.com/b5xrdFPY