Удаленный usb порт через интернет. Usb по сети в виртуализации
Настройка VPN (L2TP/IPsec) для Windows
Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate с помощью L2TP/IPsec VPN клиента, встроенного в операционные системы Windows XP, 7, 8, 10, RT, Server 2003, 2008 и 2012.
Кликните правой кнопкой мыши по значку Сеть (интернет) в области уведомления панели задач (системном трее) и выберите опцию “Центр управления сетями и общим доступом”.
Выберите опцию “Создание и настройка нового подключения или сети” на основной странице центра управления сетями.
Выберите вариант “Подключение к рабочему месту”.
Затем выберите “Использовать мое подключение к Интернету (VPN)”.
http://www.vpngate.net/en/
Важная информация
Скопируйте имя узла DDNS (идентификатор, который заканчивается на ".opengw.net") или IP-адрес (цифровое значение xxx.xxx.xxx.xxx) и введите его в поле “Адрес в Интернете”.
Примечание
Если появится экран ввода имени пользователя и пароля, то введите vpn в оба поля. Также можно отметить галочку “Запомнить пароль”.
Затем перейдите в "Центр управления сетями и общим доступом" и нажмите ссылку “Изменение параметров адаптера”.
Будет показан список настроенных подключений. Щелкните правой кнопкой мыши по иконке VPN-подключения, созданного на предыдущем шаге и нажмите “Свойства”.
Перейдите на вкладку “Безопасность” и в поле “Тип VPN” из выпадающего списка выберите вариант “Протокол L2TP с IPsec (L2TP/IPsec)”. Для параметра "Шифрование данных" выберите "обязательное (отключиться, если нет шифрования)".
Затем нажмите кнопку “Дополнительные параметры”. Появится новое окно, на котором нужно выбрать опцию “Для проверки подлинности использовать общий ключ” и введите vpn в поле “Ключ”.
После завершения конфигурации дважды нажмите кнопку “ОК”, чтобы закрыть экран настроек подключения VPN.
2. Подключение к VPN-серверу
Нажмите по значку значку Сеть (интернет) в области уведомления панели задач (системном трее) и выберите созданное VPN подключение. Нажмите кнопку “Подключиться”.
Если Имя пользователя и Пароль не заполнены автоматически, то введите vpn в оба поля и нажмите ОК.
При попытке подключения будет показываться сообщение “Подключение к [выбранный VPN-сервер]”. Если при попытке произойдет ошибка, то убедитесь, что в качестве типа VPN используется "L2TP/IPsec", а ключ проверки подлинности задан правильно.
Если VPN-соединение будет успешно установлен, то в списке сетей появится новый пункт “VPN-подключение” с состоянием “Подключено".
Теперь вы сможете быстро и просто устанавливать VPN-подключение с помощью соответствующей иконки в списке сетей.
Когда соединение установлено, весь трафик будет проходить проходить через VPN-сервер. Убедиться в этом вы сможете с помощью команды tracert 8.8.8.8 в командной строке Windows.
Как показано на скриншоте выше, если пакеты проходят через "10.211.254.254", а значит ваше подключение ретранслируется через один из серверов VPN Gate.
Вы также можете перейти на основную страницу VPN Gate
Настройка VPN (L2TP/IPsec) для MacOS
Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate с помощью L2TP/IPsec VPN клиента, встроенного в операционную систему MacOS.
1. Предварительная конфигурация
Нажмите по иконке сетевого подключения в верхнем-правом углу экрана Mac. Выберите "Открыть настройки сети..." в меню.
Нажмите кнопку "+" на экране настройки сети.
Выберите интерфейс "VPN", тип подключения "L2TP через IPsec" и нажмите кнопку "Создать".
Будет создана новая конфигурация VPN (L2TP) и появится экран настроек соединения.
На данном экране нужно ввести либо имя узла, либо IP-адреса сервера из пула открытых серверов VPN Gate.
Откройте список публичных серверов ретрансляции http://www.vpngate.net/en/ и выберите VPN-сервер, к которому хотите подключиться.
Важная информация
Для столбца L2TP/IPsec Windows, Mac, iPhone, Android No client required в списке серверов должна быть отмечена галочка, которая сообщает о поддержке настраиваемого протокола L2TP/IPsec.
Скопируйте имя узла DDNS (идентификатор, который заканчивается на ".opengw.net") или IP-адрес (цифровое значение xxx.xxx.xxx.xxx) и введите его в поле "Адрес сервера" на экране конфигурации.
Примечание : рекомендуется использовать имя DDNS - его можно продолжать использовать, даже если соответствующий DDNS IP-адрес в будущем изменится. Тем не менее, в некоторых странах у вас не получиться использовать имя узла DDNS - в этом случае следует использовать IP-адрес.
После того, как вы указали "Адрес сервера", введите vpn в поле "Имя учетной записи".
Затем нажмите кнопку "Настройки аутентификации".
Появится экран настроек аутентификации. Введите vpn в поле "Пароль" и в поле "Общий ключ (Shared Secret)". После этого нажмите кнопку "ОК".
Затем вернитесь на предыдущий экран, отметьте пункт “Показывать статус VPN в строке меню” и нажмите кнопку "Дополнительно...".
Откроется экран дополнительных настроек. Отметьте галочку "Отправлять весь трафик через VPN" и нажмите кнопку "ОК".
На экране настроек VPN-подключения нажмите кнопку "Применить", чтобы сохранить настройки соединение.
2. Запуск VPN -подключения
Вы можете в любое время установить новое подключение к VPN-серверу, нажав кнопку "Подключить". Вы можете также запустить подключение к VPN, нажав иконку VPN на верхней панели инструментов MacOS.
После установки VPN-подключения на экране настроек VPN будет отображаться статус "Подключено", а также вам новый IP-адрес и продолжительность подключения.
Когда соединение установлено, весь трафик будет проходить проходить через VPN-сервер. Вы также можете перейти на основную страницу VPN Gate , чтобы посмотреть глобальный IP-адрес. Вы сможете посмотреть видимое из сети местоположение, которое будет отличаться от вашей фактической локации.
При подключении к VPN вы сможете посещать заблокированные веб-сайты и играть в заблокированные игры.
Нашли опечатку? Выделите и нажмите Ctrl + Enter
Иногда мне кажется, что создатели Mikrotik намеренно лишают себя прибыли, не создавая однозначных пошаговых руководств по настройке своих детищ. Почти 100% потребителей этих роутеров пытаются настроить VPN, использовать два или более WAN одновременно или в качестве резервных. Именно это ищут по всей сети (и часто вне рунета) счастливые владельцы этих замечательных устройств. Представьте, на сколько бы увеличилась армия владельцев, если бы для настройки этих функций было два-три визарда в веб-интерфейсе. А сейчас.. сейчас именно благодаря сложности настройки (и, соотв., меньшему количеству желающих купить) мы имеем недорогое, малокапризное для несложных задач устройство, которое надо заставить работать 24х7х365. Например, в качестве VPN-сервера. Поехали!
Протокол L2TP обеспечивает канал передачи данных, туннель.
IPSec обеспечивает защиту данных от просмотра.
Настраивать мы будем тоже по частям - сначала туннель, потом - защита данных.
Примечание 1: я не очень люблю текстовые команды с кучей ключей при настройке вещей, которые достаточно много где описаны, но описаны каждый раз с незаметными опечатками, где-то что-то не скопировалось при написании (или при копировании с другого сайта, что случается чаще всего) или просто съелось текстовым редактором CMS сайта. Настройка VPN как раз такой случай. Поэтому я специально каждый шаг прописал для GUI Mikrotik - Winbox, тем более что не так уж тут и много всего надо сделать.
Примечание 2: до версии 6.18 в прошивке есть баг, из-за которого всегда применяется default policy template, поэтому обновите прошивку до последней стабильной. Не обновляйте прошивку до самой последней, но нестабильной версии, если вы настраиваете VPN.
Итак, имеем роутер Mikrotik с прошивкой 6.30 (июль 2015) c LAN 192.168.88.0/24 (сеть по-умолчанию). WAN не важен, например, 1.2.3.4.
Настройка туннелирования (L2TP)
1. IP - Pool / Определям диапазон адресов VPN-пользователей
Name: vpn_pool
Addresses: 192.168.112.1-192.168.112.10
Next pool: none
Лучше для клиентов vpn использовать отдельную адресацию. Так проще отделять одних от других. И вообще, бест практис.
2. PPP - Profiles / Профиль для нашего конкретного туннеля
General:
Name: l2tp_profile
Local address: vpn_pool (а можно указать
192.168.88.1
, сами смотрите, как вам больше нравится)
Remote address: vpn_pool
Change TCP MSS: yes
Protocols:
all to default:
Use MPLS: default
Use compression: default
Use Encription: default
Limits:
Only one: default
3. PPP - Secrets / Готовим пользователя VPN
Name: vpn_user1
Password: bla-bla-bla
Service: l2tp
Profile: l2tp_profile
4. PPP - Interface - клик на L2TP Server / Включаем сервер L2TP
Enabled - yes
MTU / MRU - 1450
Keepalive Timeout - 30
Default profile - l2tp_profile
Authentication - mschap2
Use IPSec - yes
IPSec Secret: tumba-yumba-setebryaki (это не пароль пользователя, а предварительный ключ, который надо будет указывать на клиентах в дополнение к логину/паролю)
Настройка шифрования данных в "туннеле" (IPSec)
На предыдущем этапе мы создали туннель для передачи данных и включили IPSec. В этом разделе мы настроим параметры IPSec.
5. IP - IPSec - Groups
Т.к. велика вероятность появления , просто удалим и тут же создадим ее. Например, с именем "policy_group1". Также можно просто удалить эту группу, но через веб-интерфейс будут показываться ошибки.
6. IP - IPSec - Peers
Address: 0.0.0.0/0
Port: 500
Auth method: pre shared key
Passive: yes (set)
Secret: tumba-yumba-setebryaki (это не пароль пользователя!)
Policy template group: policy_group1
Exchange mode: main l2tp
Send Initial Contact: yes (set)
NAT Traversal: yes (set)
My id: auto
Proposal check: obey
Hash algorithm: sha1
Encryption Algorithm: 3des aes-128 aes-256
DH Group: modp 1024
Generate policy: port override
Lifitime: 1d 00:00:00
DPD Interval: 120
DPD Maximum failures: 5
7. IP - IPSec - Proposals / "Предложения".
Что-то вроде "что мы можем вам предложить". Другими словами, задаем опции подключения, которые смогут пытаться использовать удаленные клиенты.
Name: default
Auth algorithms: sha1
Enrc. algorithms: 3des, aes-256 cbc, aes-256 ctr
Life time: 00:30:00
PFS Group: mod 1024
Вы наверняка заметили, что пункты 6 и 7 похожи, а если еще добавить, что один и тот же Secret мы добавляли и пункте 4 и пункте 6, то возникает вопрос: почему одни и те же опции повторно настраиваются? Ответ у меня такой: чисто из практики вышло, что Windows 7 требовал одного, а iPhone - другого. Как так работает, не знаю. Но факт чисто из практики. Например, изменяю в Proposal PFS Group на 2048 - Windows нормально коннектиться, а iPhone перестает. Делаю наоборот (в proposal ставлю 1024, а в ip-ipsec-peers ставлю 2048) - iPhone коннектиться, а Windows - нет:) Т.е. при подключении разных клиентов используются разные части конфигов. Бред? Может быть, это следствие постепенных изменений в конфигурацию VPN сервера, не могу сказать, т.к. может иметь место даже влияние старых прошивок, конфигов и др. Я не исключаю, что что-то здесь избыточно, но что именно, не знаю.
Firewall
Давайте уж к консоли, что-ли для разнообразия:
/ip firewall filter
add chain=input action=accept protocol=udp port=1701,500,4500
add chain=input action=accept protocol=ipsec-esp
Если у вас по-умолчанию политика forward установлена в drop (последнее правило для forward "chain=forward action=drop"), вам может быть необходимым разрешить forward с ip-адресов vpn_pool в локальную сеть:
add chain=forward action=accept src-address=192.168.112.0/24 in-interface=!ether1 out-interface=bridge-local comment="allow vpn to lan" log=no log-prefix=""
Вот теперь с сервером все.
Подключение удаленного клиента
Пробуем подключить Windows 7:
Панель управленияСеть и ИнтернетЦентр управления сетями и общим доступом:
Настройка нового подключения или сети
Подключение к рабочему месту
Создать новое подключение
Использовать мое подключение к интернету (VPN)
Интернет-адрес: ip или имя роутера в сети
Пользователь и пароль из PPP->Secrets. В нашем случае это vpn_user1 и его пароль.
Пытаемся подключиться.
Если не выходит, или просто надо настроить созданное подключение:
Вкладка Безопасность:
Тип VPN: L2TP IPSec VPN
Дополнительные параметры: для проверки подлинности использовать предварительный ключ. В нашем случае это "tumba-yumba-setebryaki" (IP - IPSec - Peers):
Здесь же, в группе "Проверка подлинности", оставляем только CHAP v2:
Жмем ОК и пытаемся подключиться. Должно получиться. Если нет, загляните на страницу ошибок при настройке VPN .
Update 1: часто люди интересуются, как несколько (больше одного) клиентов из одной локальной сети (за nat) могут подключаться к одному удаленному vpn-серверу микротик. Не знаю, как в L2TP/IPSec связке это обеспечить. Можно назвать это багом реализации. Я не нашел простого объяснения и решения проблемы.
18.07.2016 19:29 Птррр
09.08.2016 10:00 Mapc
19.08.2016 17:35 Vertall
10.09.2016 23:29 Nikpo
02.10.2016 15:28 Anatoly
18.10.2016 12:39 Daimos
19.10.2016 01:02 Бумер
19.10.2016 01:05 Бумер
19.10.2016 01:16 Бумер
19.10.2016 09:34 Daimos
19.10.2016 10:07 Daimos
20.10.2016 12:54 bzzz
20.10.2016 13:04 bzzz
22.10.2016 13:44 Hippomsk
24.10.2016 00:01 bzzz
24.10.2016 00:04 bzzz
24.10.2016 00:11 bzzz
24.10.2016 10:35 Daimos
24.10.2016 14:41 bzzz
24.10.2016 14:46 bzzz
25.10.2016 08:41 Daimos
25.10.2016 08:51 Daimos
Многие операционные системы поддерживают L2TP/IPsec VPN "из коробки". Объединяя сервисы конфиденциальности и аутентификации IPsec (безопасность Интернет-протокола), сетевое туннелирование протокола туннелирования второго уровня (L2TP) и идентификацию пользователя через pppd, администраторы могут создавать VPN-сети на множестве разнородных систем. Это позволяет настроить VPN на Android, Windows, Linux, MacOS и других операционных системах без использования какого-либо коммерческого ПО.
Введение
IPsec/L2TP – повсеместно используемый VPN протокол, применяемый в Windows и других операционных системах. Все версии Windows, начиная с Windows 2000, имеют встроенную поддержку этого протокола и не требуют сторонних клиентов (например, OpenVPN), что делает его более удобным. Однако, значительно сложнее настроить серверную сторону на Linux, поскольку задействованы как минимум 3 слоя: IPsec, L2TP и PPP.
- IPsec обеспечивает конфиденциальность сетевого соединения и авторизации клиента (системы)
- С L2TP туннель настроен так, что VPN трафик прозрачно проходит через IPsec
- PPP (протокол точка-точка) контролирует авторизацию пользователей
Это руководство не охватывает установку DHCP, RADIUS, Samba или Инфраструктуры Открытых Ключей (PKI). Оно также совсем не объясняет, как настраивать Linux-клиентов, хотя этот шаг может быть довольно легко получен из руководства. Будет освещена часть конфигурации Windows-клиентов с целью устранения неполадок в настройке сервера.
Условные обозначения
В этом руководстве будут использованы следующие условные обозначения (пример настроек):
- Домен – example.com
- Имя сервера – vpn.example.com
- Имя файла сертификата CA – ca.crt
- Сертификат сервера – vpn.example.com.crt
- Ключ сервера – vpn.example.com.key
- Сертификат клиента – client.example.com.crt
- Ключ клиента – client.example.com.key
IPsec
Первый и самый сложный уровень для настройки – IPsec. Заметим, что IPsec – одноранговая сеть, таким образом, в её терминологии клиент называется инициатор , а сервер – ответчик .
Windows использует IKEv1. Существуют 3 реализации IPsec в Portage: ipsec-tools (racoon), LibreSwan и strongswan.
В следующих разделах объясняются различные конфигурации. Для каждого варианта документируется
- как использовать PSK для авторизации и
- как использовать сертификаты для авторизации
Выберете один из вариантов (PSK или сертификаты). При использовании авторизации на основе сертификата предполагается, что нужные сертификаты уже доступны.
Вариант 1: ipsec-tools (racoon)
root # emerge --ask net-dialup/pptpd
Авторизация
Без авторизации
Самый простой путь настройки pppd – вообще не использовать авторизацию. В этом случае, убедитесь что указан "noauth". Это может оказаться полезным с целью тестирования, но в противном случае не рекомендуется, особенно с использованием PSK. Для некоторых установок PKI, такая конфигурация может быть благоразумной, например,
- все клиентские компьютеры полностью доверены и находятся под контролем, или
- все пользователи доверены и ключи есть только на компьютерах рядом с самими пользователями, имеющими доступ, и нигде более, или
- все соединения являются автоматическими (этот метод используется для подключения нескольких мест)
Авторизация через chap.secrets
Для небольших пользователей (обычно тех, кто хочет подключаться к своей домашней сети в другом месте), авторизация может быть произведена через файл chap.secrets :
Файл /etc/ppp/chap-secrets
Предупреждение
/etc/ppp/chap-secrets
содержит незашифрованные пароли, поэтому убедитесь, что только root может выполнять чтение или запись в этот файл
Авторизация через Samba
Если компьютер является частью домена Microsoft или леса Active Directory, а клиенты используют winbind, то авторизацию может выполнять Samba. Добавьте plugin winbind.so к опциям ppp. Настройка Samba и pppd находится за пределами этого руководства.
Авторизация через RADIUS
Если на компьютере запущен сервер RADIUS, то pppd может использовать его. Убедитесь, что net-dialup/ppp собран с USE-флагом radius . Затем добавьте plugin radius.so к опциям PPP. Настройка RADIUS и pppd находится за пределами этого руководства.
Авторизация через EAP-TLS
Если у пользователя есть сертификаты (не такие, как сертификаты компьютера, о которых говорилось раньше), тогда настройте pppd для авторизации через EAP-TLS. Рекомендуется, чтобы пользователи авторизовались с помощью смарт-карт или RSA secureID. Убедитесь, что net-dialup/ppp собран с USE-флагом eap-tls . Требуется, чтобы был настроен RADIUS (см. выше). Может потребоваться включить require-eap в файл опций PPP. Настройка pppd выходит за пределы этого руководства.
Устранение неполадок клиента
Windows: Правильная установка сертификата (для пользователей PKI)
Сертификат должен быть запакован в пакет PKCS12. Это может быть сделано посредством openssl или gnutls:
user $ openssl pkcs12 -export -certfile ca.crt -inkey client.example.com.key -in client.example.com.crt -out client.example.p12
user $ certtool --load-ca-certificate ca.crt --load-certificate client.example.com.crt --load-privkey client.example.com.key --to-p12 --outfile client.example.com.p12
Когда создан файл .p12 , импортируйте его в Windows. Однако, способ не очевиден. Не надо дважды щёлкать по ключу и следовать инструкциям, это не будет работать. Ключ будет импортирован в личное хранилище сертификатов, но в Windows в авторизации нуждается локальный компьютер, таким образом сертификат должен быть добавлен в хранилище ключей локального компьютера. Для этого используйте Консоль управления Microsoft (MMC). Для работы требуются привилегии администратора.
Код Импорт ключа в Windows
Пуск -> Выполнить -> mmc Файл -> Добавить или удалить оснастку... -> Сертификаты -> Добавить учетной записи компьютера -> локальным компьютером -> Готово -> OK.
Разверните Сертификаты. Выберете любую папку (без разницы какую), щёлкните правой кнопкой мыши, выберете "Все задачи", затем "Импорт...". Только сейчас следуйте указаниям мастера, но на последнем шаге убедитесь, что выбрано "Автоматически выбрать хранилище на основе типа сертификата".
Windows: Сетевые ошибки RAS
Ошибка 766: Сертификат не может быть найден
Если происходит такая ошибка, значит сертификат не был правильно импортирован. Убедитесь, что импортировали его через MMC, а не двойным щелчком файла.
Ошибка 810: VPN соединение не завершено
При использовании ipsec-tools (racoon) в системном логе может появится следующее сообщение:
Код Сообщение об ошибке в системном логе при использовании ipsec-tools/racoon
ERROR: ignore information because ISAKMP-SAhas not been established yet.
Это значит, что сертификат был неправильно импортирован, или пакет p12 отсутствует в сертификате ЦС. Убедитесь, что импортировали ключ через MMC и выбрали "Автоматически выбрать хранилище на основе типа сертификата" в конце процесса импорта.
XP SP2 и выше: Ошибка 809: Сервер не отвечает (Сервер за NAT)
Windows XP SP2 и Vista умолчанию не будут подключаться к серверу за NAT . Требуется взлом реестра. Отдельные исправления требуются для Windows XP и Windows Vista.
Vista: Ошибка 835 Невозможно авторизоваться
Эта ошибка появляется только при использовании PKI. Она значит, что subjectAltName не соответствует серверу, к которому подключается клиент. Такое часто случается при использовании динамического DNS, – сертификат имеет внутреннее имя, а не внешнее. Добавьте к сертификату внешнее имя или отключите опцию "Проверить атрибуты имени и использования у сертификата сервера" в настройках соединения: Безопасность -> Дополнительные параметры -> L2TP.
Ошибка 741: Локальный компьютер не поддерживает требуемый тип шифрования
Windows будет пытаться реализовать MPPE (слабое) шифрование, когда
- система не использует авторизацию PPP, или
- система не имеет pppd с поддержкой MPPE, или
- MPPE поддерживается, но не скомпилировано с ядром (или как модуль)
тогда происходит данная ошибка.
Если используется авторизация PPP, рекомендуется исправить pppd или ядро (с минимальными изменениями конфигурации), даже если нет смысла в двойном шифровании. Если система не использует авторизацию PPP, или двойное шифрование однозначно не требуется, тогда отключите его на вкладке Безопасность.
Заметка
Соединение всё же так или иначе защищено шифрованием IPsec, отключится только потребность в MPPE.
Mac OS X
Mac OS X клиенты должны быть требовательны к рекомендациям, с которыми они соглашаются. В частности:
- dh_group должен быть modp1024 .
- my_identifier должен быть адресом, а не полным именем домена (адрес используется по умолчанию, таким образом просто уберите эту строку из racoon.conf ).
Mac OS X не будет подключаться, если subjectAltName не соответствует имени сервера, с которым он соединяется. В отличие от Vista, эта проверка не может быть отключена.
Также, Mac OS X не подключится, если сертификат сервера содержит поля "Расширенное использование ключа" (EKU) (кроме устаревших ikeIntermediate). В частности, при использовании сертификатов из утилиты easy-rsa OpenVPN , добавляются EKU "TLS WWW Сервер" или "TLS WWW Клиент", поэтому такие сертификаты не будут работать. Однако, они всё же могут быть использованы Mac OS X клиентом, поскольку его интересуют только сертификаты сервера.
Ссылки
- a Linux L2TP/IPsec VPN server от Jacco de Leeuw
Руководство по настройке VPN сервера IPSEC L2TP
- Установка осуществляется на сервер под управлением CentOS 6
- В качестве клиентов могут выступать операционные системы поддерживающие IPsec/L2tp (Mac OS, Android, Windows, Ubuntu )
- Используемые порты, которые следует открыть на файрволе 1701/TCP , 4500/UDP и 500/UDP
Перед началом установки немного разъяснений о том, почему я выбрал стек IPSec/L2TP и для чего нам понадобится xl2tpd и ppp .
IPSec
шифрует пакеты для обеспечения шифрования и аутентификации, чтобы никто не смог расшифровать или подделать данные между клиентами и сервером.
L2TP
обеспечивает туннель для передачи данных, он ни в коем случае не обеспечивает шифрование и аутентификацию.
xl2tpd
используется как демон L2TP
и ppp
для обеспечения аутентификации соединения.
Установка Epel
Поскольку в релизе OpenSwan из EPEL 6.8 существует баг , то нам необходимо выполнить даунгрейд пакета или установить вручную.
Скачиваем необходимые пакеты: i686 , x86_64
В sysctl.conf добавим следующие строчки
%SERVERIP% - IP-адрес VPN
сервера.
Вышеуказанные строчки необходимо добавить до строки exit 0
Конфигурация Openswan (IPSEC)
nano /etc/ipsec.conf
|
version 2 # conforms to second version of ipsec.conf specification
config setup dumpdir=/var/run/pluto/ #in what directory should things started by setup (notably the Pluto daemon) be allowed to dump core? nat_traversal=yes #whether to accept/offer to support NAT (NAPT, also known as "IP Masqurade") workaround for IPsec virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v6:fd00::/8,%v6:fe80::/10 #contains the networks that are allowed as subnet= for the remote client. In other words, the address ranges that may live behind a NAT router through which a client connects. protostack=netkey #decide which protocol stack is going to be used. force_keepalive=yes keep_alive=60 # Send a keep-alive packet every 60 seconds. conn L2TP-PSK-noNAT authby=secret #shared secret. Use rsasig for certificates. pfs=no #Disable pfs auto=add #the ipsec tunnel should be started and routes created when the ipsec daemon itself starts. keyingtries=3 #Only negotiate a conn. 3 times. ikelifetime=8h keylife=1h ike=aes256-sha1;modp1024! phase2alg=aes256-sha1;modp1024 # specifies the phase 1 encryption scheme, the hashing algorithm, and the diffie-hellman group. The modp1024 is for Diffie-Hellman 2. Why "modp" instead of dh? DH2 is a 1028 bit encryption algorithm that modulo"s a prime number, e.g. modp1028. See RFC 5114 for details or the wiki page on diffie hellmann, if interested. type =transport #because we use l2tp as tunnel protocol left=%SERVERIP% #fill in server IP above leftprotoport=17/1701 right=%any rightprotoport=17/%any dpddelay=10 # Dead Peer Dectection (RFC 3706) keepalives delay dpdtimeout=20 # length of time (in seconds) we will idle without hearing either an R_U_THERE poll from our peer, or an R_U_THERE_ACK reply. dpdaction=clear # When a DPD enabled peer is declared dead, what action should be taken. clear means the eroute and SA with both be cleared. |
Общий пароль
Общий пароль находится в файле /etc/ipsec.secrets .
Убедитесь в его надежности, также не забудьте изменить IP-адрес на свой.
%SERVERIP% %any: PSK "357xCT1h2QY8+059k2eHZdaL3eogoTM8jHyzCF2kQxr6Zn4+PGmvuEILJMW8fP63"
|
Проверка
Запускаем проверку
ipsec verify
|
Checking your system to see if
IPsec got installed and started correctly:
Version check and ipsec on-path Linux Openswan U2.6.32/K2.6.32-573.7.1.el6.x86_64 (netkey) Checking for IPsec support in kernel SAref kernel support NETKEY: Testing for disabled ICMP send_redirects NETKEY detected, testing for disabled ICMP accept_redirects Checking that pluto is running Pluto listening for IKE on udp 500 Pluto listening for NAT-T on udp 4500 Two or more interfaces found, checking IP forwarding Checking NAT and MASQUERADEing Checking for "ip" command Checking /bin/sh is not /bin/dash Checking for "iptables" command Opportunistic Encryption Support |
Если много ошибок - проверяем, запущен ли сервис ipsec , если нет, то запускаем
- force userspace = из-за ошибки, по которой мы вынуждены были сделать даунгрейд Ipsec ;
- ip range = Диапазон IP-адресов, который будет назначен клиентам;
- local ip = IP адрес VPN сервера;
- refuse pap = отключаем pap-аутентификацию;
- ppp debug = yes - когда тестируем, no в продакшн.
Локальные пользователи (PAM авторизация//etc/passwd)
Чтобы использовать локальные учетные записи пользователей для авторизации через PAM (или /etc/passwd) и, таким образом, не использовать пароли пользователя в открытом виде в текстовом файле, необходимо выполнить следующее:
В файле конфигурации /etc/xl2tpd/xl2tpd.conf добавим
В файле /etc/ppp/options.xl2tpdz убедимся, что отсутствует строка (ниже говорится добавить его, но если хотим использовать UNIX аторизацию, то удаляем)
Файл /etc/pam.d/ppp приводим к следующему виду:
Конфигурация PPP
Редактируем конфигурационный файл /etc/ppp/options.xl2tpd
Проверка
Перезапускаем сервисы и проверяем
/etc/init.d/ipsec restart
/etc/init.d/xl2tpd restart |