Вот здесь я обещал, что расскажу поподробнее о настройке OpenVPN. Пришло время выполнить это обещание.
VPN и OpenVPN – это такая замечательная штука, которая позволяет объединить несколько компьютеров в одну общую сеть через открытые каналы; и при этом обеспечивается высокая безопасность соединения – за счет шифрования передаваемых данных.
Основное преимущество VPN соединения – это простота настройки у клиентов. Оно настраивается буквальной в 3-4 клика мыши под Windows XP; поэтому в компаниях, которые могут предоставлять доступ в свою корпоративную сеть, предпочитают давать своим сотрудникам именно VPN соединения.
Минусов у VPN соединения тоже достаточно. Например, оно не всегда работает при соединении через GPRS (проверено на МТС, без услуги Реальный IP Адрес VPN не работает).
Для себя я предпочел настроить OpenVPN соединение. На мой взгляд, оно удобнее – во-первых, оно позволяет не только шифровать трафик, но и неплохо его сжимать. Во вторых, я сам могу решать, по какому соединению будет работать OpenVPN (TCP или UDP), и могу выбрать тот порт, который мне нужен. В третьих, длину ключа шифрования и периодичность смены ключа я тоже определяю сам. Такая гибкость настройки мне очень нравится.
Недостатки у OpenVPN тоже есть. Наппример, если установлен антивирус Касперского, то OpenVPN может не работать. Меня это не расстраивает, поскольку я в основном использую Linux.
И все-таки мне удалось настроить VPN соединение поверх GPRS от МТС без услуги Реальный IP адрес.
Все оказалось просто, надо сначала установить OpenVPN соединение поверх GPRS, и уже поверх OpenVPN установить соединение VPN. Звучит страшно, выглядит тоже не очень… Но работает.
В этом случае вышестощий провайдер не сможет помешать установке VPN-соединения, поскольку он не будет знать о используемых портах и передаваемых данных.
Дополнено 12.09.2008
Пример конфигурационных файлов OpenVPN:
### Конфигурация клиента
remote xxx.yyy.zzz.aaa 1194
dev tap
ifconfig 192.168.20.11 255.255.255.0
route-gateway 192.168.20.13
redirect-gateway
push “dhcp-option DNS 192.168.20.13″
secret key.txt
comp-lzo
### Конфигурация сервера
dev tap
ifconfig 192.168.20.13 255.255.255.0
push “redirect-gateway def1″
push “dhcp-option DNS xxx.yyy.zzz.aaa”
secret key.txt
comp-lzo
Ключ key.txt надо сгенерировать самостоятельно, например, на сервере, и передать по безопасному каналу клиенту (через sftp или scp). После этого надо перезапустить OpenVPN на сервере и на клиенте, все будет работать.
Надеюсь, мой опыт окажется полезным и для Вас.