Администраторам часто приходится работать с серверами удалённо, как по 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“:
Port | TCP or UDP | Service or Protocol Name | RFC | Used by / Additional information |
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 я очень доволен. Сейчас воткнул в него наушники и транслирую музыку с ноутбука. Благодать.
Pingback: Tweets that mention VPN-сервер в локальной сети за AirPort Express. Настройка Port Mapping | The Apple Geek -- Topsy.com