Администраторам часто приходится работать с серверами удалённо, как по ssh, так и по VNC/RDP/Screen Sharing/Remote Management.
Можно открывать прямой доступ к нужным сервисам, полагаясь на пароли. Можно улучшать безопасность, разрешая доступ на брендмауерах только с определённых доверенных хостов и категорически не допускать внесения в этот список сетей по принципу “Ага, Yota. Ага, у них блок /18. Ага, администратор пользуется Yota. Ага, разрешим доступ со всего блока /18″ (к сожалению, в этом блоке есть сотни зараженных хостов, которые сканируют всё окружающее на предмет дыр, а от дыр не застрахован никто).

Но можно построить составную политику безопасности – для доступа в сеть использовать VPN-шлюз, а уже через VPN можно получить доступ к нужным ресурсам. Это и удобно – доступ можно разрешить из публичного Интернет, и достаточно безопасно при условии нормальной политики паролей.

В своей лаборатории я использую Mac OS X Server, на котором решил проверить вопросы, возникающие при реализации такой схемы. В Mac OS X Server VPN-сервер встроен и управляется через GUI. Вы также можете вручную настроить VPN-сервер на Mac OS X по статье Павла Цибулина “Snow Leopard as VPN server“.

Конфигурация сети такова:

  • доступ в Интернет из локальной сети обеспечивается WiFi-маршрутизатором через NAT
  • в локальной сети стоит VPN-сервер на Mac OS X Server 10.6
  • нужно получить доступ из публичного Internet в локальную сеть через VPN-сервер

На первый взгляд всё просто – настраиваешь проброс нужных портов с внешнего интерфейса WiFi-маршрутизаторе на VPN-сервер и пользуешься. Но реальная жизнь всегда сложнее.

У меня стоит Linksys WRT610n v1 (с последней официальной прошивкой). В нём можно описать один хост из локальной сети как хост из DMZ, и все запросы на внешний адрес WiFi-маршрутизатора будут передаваться автоматически на этот хост. Сделал – глухо. Ни PPTP, ни L2TP не заработали, в логах были попытки, но дальше LCP ничего не шло, и соединение не устанавливалось. При попытке соединения из локальной сети VPN поднимался без вопросов. Вывод – причина в маршрутизаторе.

Решил зайти с другой стороны и явно разрешить используемые порты – аналогичная картина.

И тут я вспомнил, что давно хотел купить для лаборатории AirPort Express (предварительно найдя информацию, что интересующая меня схема возможна). Сказано – сделано. Зашёл в iLand (Киев), пообщался с приятными людьми, повосхищался iPhone4, и вышел с AirPort Express.

Настроил точку, открыл нужные порты согласно документа ““Well known” TCP and UDP ports used by Apple software products“:

500 UDP ISAKMP/IKE - Mac OS X Server VPN service, Back to My Mac (MobileMe, Mac OS X v10.5 or later).
1701 UDP L2TP - Mac OS X Server VPN service
1723 TCP PPTP - Mac OS X Server VPN service
4500 UDP IKE NAT Traversal - Mac OS X Server VPN service, Back to My Mac (MobileMe, Mac OS X v10.5 or later).
Note: VPN and MobileMe are mutually exclusive when configured through an Apple access point (such as an AirPort Base Station); MobileMe will take precedence.

Конфигурация AirPort выглядит так:

Детали по портам:

Само собой, для VPN-сервера настроена выдача статического адреса по DHCP:

VPN-сервер у меня уже настроен (и L2TP, и PPTP). Были, конечно, некоторые проблемы – не всё так быстро происходит, как пишется. Они были связаны именно с L2TP – PPTP заработал сразу.

Но после вчитывания в фразу “VPN and MobileMe are mutually exclusive when configured through an Apple access point (such as an AirPort Base Station); MobileMe will take precedence” и многократного запуска tshark я отключил на сервере “Back to My Mac”. После чего всё заработало (и PPTP, и L2TP):

Особенность – при настройке PPTP нужно указать “Encryption Level = Auto”.

Есть и другие вопросы (динамическая выдача маршрутов на нужные сети, маршрутизация, фильтрация), но об этом напишу в другой раз.

P.S. Маршрутизатор Linksys WRT610n v1 остался не у дел. Попробовал поставить прошивку dd-wrt, но радиочасть не захотела включаться. Откатился обратно. Да и что-то у меня нет желания возиться со странными неофициальными прошивками – Apple меня развратил красотой решений. А вот AirPort Express я очень доволен. Сейчас воткнул в него наушники и транслирую музыку с ноутбука. Благодать.