VPN server + Натирование в Mac OS X Snow Leopard

Делаем из обычной десктопной версии Mac OS X Snow Leopard - VPN сервер. Собственно все необходимое внутрь десктопной версии уже вставлено, отличие от сервера заключается лишь в отсутствии удобных средств конфигурирования и управления этим хозяйством. Но ради такой мелочи OS X Server устанавливать не будем. И покупать программу macserve iVPN за ихние фунты-стерлинги не будем. Тем более, что программа одноразовая и в процессе работы тупо затирает ранее настроенные для vpn-клиентов пароли.

Процесс настройки относительно прост, состоит всего из пары пунктов:

  • Настроить пользователей
  • Настроить VPN демон.


Пользователи, строиться!

Список пользователей vpn сервера и пароли доступа хранятся в файле /etc/ppp/chap-secrets, его владельцем является root, читать и писать в файл может только он. Открываем терминал, повышаем привилегии, создаем файл, назначаем владельца и права.

sudo bash
touch /etc/ppp/chap-secrets
chown root:wheel /etc/ppp/chap-secrets
chmod 600 /etc/ppp/chap-secrets


Отредактируем nano /etc/ppp/chap-secrets файл и добавим в него по строке на каждого пользователя vpn сервера в формате

login serverIP password clientIP


IP адреса заменим на звездочки (что значит любые). Для примера строка для vpnuser с паролем gnu_su выглядит так

vpnuser * gnu_su *


Строим сервер

Приступим к настройке сервера. К сожалению его файл конфигурации должен быть в формате .plist, а сам он не настолько мал, чтобы давать его полное описание в рамках статьи. Поэтому сделаем так: я дам ссылку на скачивание его готовой версии, приведу внешний вид в редакторе plist-ов



Вам останется только обратить внимание на выделенные фрагменты и подставить туда свои значения по-вкусу, а именно адреса предпочитаемых DNS серверов, отдаваемых клиенту для автоматической настройки и диапазон ip-адресов, которые сервер будет назначать клиентам.

Этот файл конфигурации необходимо поместить в каталог /Library/Preferences/SystemConfiguration под именем com.apple.RemoteAccessServers.plist

Стартуем

Остались мелочи - запустить и остановить vpn сервер, посмотреть логи, проверить работу.

Перед запуском сервера необходимо включить маршрутеризацию пакетов между сетевыми интерфейсами, если вы не сделали это как-либо иначе.

sysctl -w net.inet.ip.forwarding=1


Теперь стартуем сам сервер, в качестве аргумента используется наименование блока настроек из ключа ActiveServers его .plist

vpnd -i com.apple.ppp.pptp


Остановить запущенный сервер еще проще

killall vpnd


Теоретически приведенный файл конфигурации должен обеспечивать простую и удобную настройку клиентов под Mac и Windows, но могут быть нюансы. За подробностями лучше всего посмотреть в логи сервера, расположенные по подсвеченным в plist местах.

Для того, чтобы у клиентов появился интернет, клиентов надо занатить (NAT).

Настройка NAT

Необходимо при загрузке выполнять следующие правила:

#включаем форвардинг в sysctl, если еще не включен

sudo sysctl -w net.inet.ip.forwarding=1


#правило для IPFW для натирования в WiFi (Меняете, в зависимости от того, как Вам приходит интернет)

sudo ipfw add divert natd all from any to any via en1


#Правило для Natd, опять не забываем сменить интерфейс

sudo natd -n en1


Файлики для автозапуска через Lunchctld

(Файлы немного перекорячило из-за блока код...)

		Label	Nat	ProgramArguments				/usr/sbin/natd		-n en1				OnDemand			





		Label	ipfwnat	ProgramArguments				/sbin/ipfw		add divert natd all from any to any via en1				OnDemand			


Файлик 1 и файлик 2 кладём по пути, указанному ниже.

sudo launchctl load -w /Library/LaunchDaemons/com.nat.plist
sudo launchctl load -w /Library/LaunchDaemons/com.ipfw.plist





Вас также может заинтересовать:

Китайский производитель зубной пасты судится с Apple из-за названия «Snow Leopard»
Выпуск Apache Traffic Server 4.0
Корректирующие выпуски MySQL Server 5.0.92, 5.1.55 и 5.5.9
Маленький Proliant (Just Right Home Server)
Установка VMware Server 2.0.2 на CentOS 6
Вышел Windows Server 2012 Essentials