Рубрика: Сервер

Прокси сервер виндовс сервер: Как настроить прокси-сервер Windows 10

Прокси сервер виндовс сервер: Как настроить прокси-сервер Windows 10

Прокси-серверы для Windows XP, 7, 8, 10

ProxyChecker

28 мая, 2019

ProxyChecker – бесплатная программа для выявления самого быстрого прокси-сервера. Из заданного списка в файле proxy.list, где указывается IP и порт прокси через пробел (для одного… Скачать

Другое, Интернет, Прокси-серверы, Серверы

Squid

30 мая, 2017

Squid (англ. squid – «кальмар») – свободный программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS. Разработан… Скачать

Прокси-серверы, Серверы

Small HTTP server

26 марта, 2017

Small HTTP server – веб-сервер, почтовый сервер, FTP-сервер, DNS-сервер и другое, работающий на Microsoft Windows и Linux. На странице выложены бинарные сборки для обеих систем,… Скачать

DNS-серверы, FTP-серверы, Веб-серверы, Прокси-серверы, Серверы

ChrisPC Free Anonymous Proxy

21 октября, 2016

ChrisPC Free Anonymous Proxy – бесплатная версия анонимайзера для компьютера, которая обеспечивает пользователю приватность при сёрфинге в сети Интернет. Работает под управлением операционных систем Microsoft Windows XP, Vista,… Скачать

Безопасность, Блокировка рекламы, Защита данных, Интернет, Прокси-серверы, Серверы, Шифрование

HandyCache

26 августа, 2016

HandyCache – локальный кэширующий прокси-сервер для операционной системы Microsoft Windows. Основная функция программы – экономия входящего трафика и ускорение загрузки веб-страниц, а также блокировка рекламы…. Скачать

Интернет, Прокси-серверы, Серверы, Утилиты к браузерам

Proxomitron

3 августа, 2016

Proxomitron — полезная и бесплатная компьютерная программа с закрытым кодом для Microsoft Windows, универсальный фильтр для интернет-страниц, технически реализованный в качестве прокси-сервера. Основное назначение Proxomitron — уничтожение… Скачать

Блокировка рекламы, Интернет, Прокси-серверы, Серверы

Privoxy

3 июля, 2016

Privoxy – свободный веб-прокси с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности (приватности) пользователей сети Интернет, изменения содержания веб-страниц, управления cookies, ограничения доступа к некоторым… Скачать

Безопасность, Веб-серверы, Прокси-серверы, Серверы, Шифрование

nginx

8 марта, 2016

nginx (англ. engine x) (по-русски произносится как энжин-экс или энжин-икс) – веб-сервер и почтовый прокси-сервер, работающий на UNIX-подобных операционных системах (тестировалась сборка и работа на… Скачать

Веб-серверы, Прокси-серверы, Серверы

Apache Traffic Server

16 июня, 2014

Apache Traffic Server – модульный высокопроизводительный веб-сервер и кэширующий прокси-сервер, сравнимый по возможностям с nginx и Squid. Создан в Inktomi как коммерческий продукт Inktomi Traffic Server…. Скачать

Веб-серверы, Прокси-серверы, Серверы

3proxy

14 мая, 2014

3proxy — бесплатный кроссплатформенный прокси-сервер. Основными отличительными особенностями являются небольшой размер (несколько сотен килобайт) и переносимость (есть версии для x86 и x64 платформ). Программа 3proxy не… Скачать

Прокси-серверы, Серверы

Прокси для Windows 7 и Windows 10: как настроить


Две самые популярные ОС для персональных компьютеров — это Windows 7 и Windows 10 (здесь и далее по данным NetMarketShare). Их совместная доля на рынке, более 70%! При этом, операционная система, выпущенная в 2009 году, незначительно, но всё же опережает более новую ОС.

Умение работать с данными операционными системами нужно не только сетевым администраторам, но и офисным рабочим, а также обычным пользователям. Одним из пунктов в работе с ОС, является настройка прокси.

Зачем нужен прокси-сервер для Windows

Мы уже писали, что такое прокси-сервер и как она работает, и вы помните или знаете, что прокси – это своеобразный перевалочный пункт между вашим ПК и запрашиваемым сайтом. Но зачем настраивать прокси для Windows?

Во-первых, безопасность. Прокси-сервер позволяет защитить устройство пользователя от возможных атак в сети. Кроме того, позволяет настроить блокировку большинства вирусов, фильтр рекламы, а также бороться со спамом.

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

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

Читайте также: Где купить прокси для Авито

Как настроить прокси на Windows 7

Настройки прокси-сервера, через который планируется использовать ресурсы Интернета, в Windows 7 можно выполнять без использования дополнительных программ.

Для этого нажмите кнопку «Пуск» и перейдите в «Панель управления».

Затем переходим в «Свойства браузера».

В окне «Свойства: Интернет» перейдите на вкладку «Подключения» и нажмите кнопку «Настройка сети».

В разделе «Прокси-сервер» установите флажок «Использовать прокси-сервер для локальных подключений». Теперь необходимо указать прокси и ввести параметры сервера.

Нажмите на кнопку «Дополнительно» и в появившемся окне задайте дополнительные функции прокси-сервера для HTTP/HTTPS или FTP.

После завершения настроек можно работать.

Статья в тему: Как настроить прокси в браузере

Как настроить прокси Windows 10

Чтобы настроить прокси-сервер для Windows 10, следуйте инструкции ниже.

Заходим в систему и кликаем по кнопке «Пуск», открываем приложение «Параметры»,

и далее идём в раздел «Сеть и Интернет».

Открываем вкладку «Прокси».

Затем нажимаем «Прокси-сервер» и находим графу «Настройка прокси-сервера вручную» чуть правее. Переводим переключатель в положение «Вкл», вводим адрес и порт прокси-сервера.

Если требуется, чтобы отдельные сайты открывались без прокси, необходимо вбить домены ресурсов в соответствующее поле ниже.

Где взять прокси для Windows

Купить прокси для Windows, вы можете на сайте SocProxy. Зайдите на главную страницу сайта, выберите подходящие прокси, оплатите и скачайте текстовый файл с данными для доступа. В файле будут указаны приватный IP-адрес, порт, а также логин и пароль.

Это довольно краткий обзор, озвученной темы, который поможет разобраться с основными настройками прокси для виндоус 7 или 10, на своём ПК. Для более глобальных изменений, рекомендуем обращаться за помощью к специалистам.

Настройка прокси-сервера на Windows 7 всего в 5 простых шагов на сайте proxy-sale.com

Настройка прокси-сервера Windows 7 — необходимое условие, чтобы играть в игры или выполнять ежедневную работу, связанную с Интернетом. Сегодня мы раскроем секрет о том, как правильно настроить прокси-сервер на Windows 7. Если следовать простой инструкции, то у вас обязательно все получится!

В нашем веке информационных технологий, когда уровень безопасности нахождения в интернете ежедневно снижается, а использование proxy становится «краеугольным камнем» в сохранении персональных данных нетронутыми, актуальным остается вопрос защиты корпоративной сети предприятия, если оно непосредственно завязано на IT. Прокси незаменимы для выполнения задач анализа и сбора данных (так называемый парсинг) в некоторых соцсетях (например, в Вконтакте) и для обхода регионального запрета некоторых ресурсов.

Практически каждый прокси сервер для Windows 7 умеют настраивать как специальные утилиты, так и сама ОС Windows. Давайте рассмотрим один из популярных способов настройки proxy сервера средствами ОС Windows.

Пошаговая инструкция

Итак, для начала заходим в «Панель управления», которую можно найти в меню «Пуск». Далее необходимо выбрать подпункт «Свойства обозревателя» (или «Свойства браузера» в Windows 8.1).

В открытом окне заходим в «Подключения», находим «Настройка сети» и смело жмем.

Ниже необходимо ввести адрес и рабочий порт указанного прокси, а после чего рядом с полем ввода рабочего порта прокси нажать «дополнительно». В открывшемся окне выбираем опцию «один proxy для протоколов». После проделанных процедур и манипуляций с настройками, во время загрузки любого браузера высветится окно ввода «логин-пароль» для указанного вами в настройках proxy. Если вы ставили авторизацию по IP, то дополнительного ввода данных не потребуется.

Если в результате проделанных шагов, что-то пошло не так, повторите все шаги согласно данной инструкции. Возможно где-то что-то было упущено. Если вам нужно настроить прокси-сервер на Windows 10, то учитывайте тот факт, что хоть действия и похожие, однако, все же есть отличия.

В представленном ниже видеообзоре показана подробная пошаговая инструкция, которая также поможет вам правильно настроить прокси в Internet Explorer, включить прокси в Firefox и взаимодействовать с сервером через Chrome.

Бесплатный прокси-сервер для предприятия с доменной аутентификацией / Хабр

pfSense+Squid с фильтрацией https + Технология единого входа (SSO) с фильтрацией по группам Active Directory

Краткая предыстория

На предприятии возникла необходимость во внедрении прокси-сервера с возможностью фильтрации доступа к сайтам(в том числе https) по группам из AD, чтобы пользователи не вводили никаких дополнительных паролей, а администрировать можно было с веб интерфейса. Неплохая заявочка, не правда ли?

Правильным вариантом ответа было бы купить такие решения как Kerio Control или UserGate, но как всегда денег нет, а потребность есть.

Тут то к нам и приходит на выручку старый добрый Squid, но опять же — где взять веб интерфейс? SAMS2? Морально устарел. Тут то и приходит на выручку pfSense.

Описание

В данной статье будет описан способ настройки прокси-сервера Squid.
Для авторизации пользователей будет использоваться Kerberos.
Для фильтрации по доменным группам будет использоваться SquidGuard.

Для мониторинга будет использован Lightsquid, sqstat и внутренние системы мониторинга pfSense.
Также будет решена частая проблема, связанная с внедрением технологии единого входа (SSO), а именно приложения, пытающиеся ходить в интернет под учеткой компа\своей системной учеткой.

Подготовка к установке Squid

За основу будет взят pfSense, Инструкция по установке.

Внутри которого мы организуем аутентификацию на сам межсетевой экран с помощью доменных учеток. Инструкция.

Очень важно!

Перед началом установки Squid необходимо настроить DNS сервера в pfsense, сделать для него запись A и PTR записи на нашем DNS сервере и настроить NTP так, чтобы время не отличалось от времени на контроллере домена.

А в вашей сети предоставить возможность WAN интерфейсу pfSense ходить в интернет, а пользователям в локальной сети подключаться на LAN интерфейс, в том числе по порту 7445 и 3128 (в моем случае 8080).

Всё готово? С доменом связь по LDAP для авторизации на pfSense установлена и время синхронизировано? Отлично. Пора приступать к основному процессу.

Установка и предварительная настройка

Squid, SquidGuard и LightSquid установим из менеджера пакетов pfSense в разделе «Система/Менеджер пакетов».

После успешной установки переходим в «Сервисы/Squid Proxy server/» и в первую очередь во вкладке Local Cache настраиваем кеширование, я выставил все по 0, т.к. не вижу особого смысла кешировать сайты, с этим и браузеры прекрасно справляются. После настройки нажимаем клавишу «Сохранить» внизу экрана и это даст нам возможность производить основные настройки прокси.

Основные настройки приводим к следующему виду:

Порт по умолчанию 3128, но я предпочитаю использовать 8080.

Выбранные параметры во вкладке Proxy Interface определяют какие интерфейсы будет слушать наш прокси сервер. Так как этот межсетевой экран построен таким образом, что в интернет он смотрит WAN интерфейсом, даже при том что LAN и WAN могут быть в одной локальной подсети, рекомендую для прокси использовать именно LAN.

Лупбек нужен для работы sqstat.

Ниже вы найдете настройки Transparent (прозрачного) прокси, а также SSL Filter, но они нам не нужны, наш прокси будет не прозрачным, а для фильтрации https мы не будем заниматься подменой сертификата(у нас ведь документооборот, банк-клиенты и тд), а просто посмотрим на рукопожатие.

На этом этапе нам необходимо перейти в наш контроллер домена, создать в нем учетную запись для аутентификации(можно использовать и ту что настроили для аутентификации на сам pfSense). Здесь очень важный фактор — если вы намерены использовать шифрование AES128 или AES256 — проставьте соответствующие галочки в настройках учетной записи.

В случае если ваш домен представляет собой весьма сложный лес с большим количеством каталогов или ваш домен .local, то ВОЗМОЖНО, но не точно, вам придется использовать для этой учетной записи простой пароль, баг известный, но со сложный паролем может просто не работать, надо проверять на конкретном частном случае.

После этого всего формируем файл ключей для кербероса, на контроллере домена открываем командную строку с правами администратора и вводим:

# ktpass -princ HTTP/[email protected] -mapuser pfsense -pass 3EYldza1sR -crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} -ptype KRB5_NT_PRINCIPAL -out C:\keytabs\PROXY.keytab

Где указываем свой FQDN pfSense, обязательно соблюдая регистр, в параметр mapuser вводим нашу доменную учетную запись и её пароль, а в crypto выбираем способ шифрования, я использовал rc4 для работы и в поле -out выбираем куда отправим наш готовый файл ключей.
После успешного создания файла ключей отправим его на наш pfSense, я использовал для этого Far, но также можно сделать этот как командами, так и putty или через веб интерфейс pfSense в разделе «Диагностика\Командная строка».

Теперь мы можем отредактировать\создать /etc/krb5.conf

где /etc/krb5.keytab это созданный нами файл ключей.

Обязательно проверьте работу кербероса с помощью kinit, если не работает — дальше нет смысла читать.

Настройка аутентификации Squid и списка доступа без аутентификации

Успешно настроив керберос прикрутим его к нашему Squid`у.

Для этого перейдите в Сервисы\Squid Proxy Server и в основных настройках опуститесь в самый низ, там найдем кнопочку «Расширенные настройки».

В поле Custom Options (Before Auth) введем:

#Хелперы
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -s GSS_C_NO_NAME -k /usr/local/etc/squid/squid.keytab -t none
auth_param negotiate children 1000
auth_param negotiate keep_alive on
#Списки доступа
acl auth proxy_auth REQUIRED
acl nonauth dstdomain "/etc/squid/nonauth.txt" 
#Разрешения 
http_access allow nonauth 
http_access deny !auth
http_access allow auth

uде auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth — выбирает необходимый нам хелпер керберос аутентификации.

Ключ -s с значением GSS_C_NO_NAME — определяет использование любой учетной записи из файла ключа.

Ключ -k с значением /usr/local/etc/squid/squid.keytab — определяет использовать именно этот кейтаб файл. В моем случае это тот же сформированный нами кейтаб файл, который я скопировал в директорию /usr/local/etc/squid/ и переименовал, потому что с той директорией сквид дружить не хотел, видимо прав не хватало.

Ключ -t с значением -t none — отключает цикличные запросы к контроллеру домена, что сильно снижает нагрузку на него если у вас больше 50 пользователей.
На время теста также можно добавить ключ -d — т.е диагностика, больше логов будет выводиться.
auth_param negotiate children 1000 — определяет сколько одновременных процессов авторизации может быть запущено
auth_param negotiate keep_alive on — не дает разорвать связь во время опроса цепочки авторизации
acl auth proxy_auth REQUIRED — создает и требует список контроля доступа, включающий в себя пользователей, прошедших авторизацию
acl nonauth dstdomain «/etc/squid/nonauth.txt» — сообщаем сквиду о списке доступа nonauth в котором содержатся домены назначения, к которым всегда будет разрешен доступ всем. Сам файл создаем, а внутрь него вписываем домены в формате

.whatsapp.com
.whatsapp.net

Whatsapp не зря используется как пример — он очень привередлив к прокси с аутентификацией и не будет работать если его не разрешить до аутентификации.
http_access allow nonauth — разрешаем доступ к данному списку всем
http_access deny !auth — запрещаем доступ неавторизованным пользователям к остальным сайтам
http_access allow auth — разрешаем доступ авторизированным пользователям.
Всё, сам сквид у вас настроен, теперь самое время приступить к фильтрации по группам.
Настройка SquidGuard

Переходим в Сервисы\SquidGuard Proxy Filter.

В LDAP Options вводим данные нашей учетной записи, используемой для керберос аутентификации, но в следующем формате:

CN=pfsense,OU=service-accounts,DC=domain,DC=local

Если есть пробелы и\или не латинские символы всю эту запись стоит заключить в одинарные или двойные кавычки:
'CN=sg,OU=service-accounts,DC=domain,DC=local'
"CN=sg,OU=service-accounts,DC=domain,DC=local"

Далее обязательно ставим эти галочки:

Чтобы отрезать ненужные DOMAIN\pfsense DOMAIN.LOCALк которым вся система очень чувствительна.

Теперь переходим в Group Acl и привязываем наши доменные группы доступа, я использую простые наименования в духе group_0, group_1 и тд до 3, где 3 — доступ только в белый список, а 0 — можно всё.

Привязываются группы следующим образом:

ldapusersearch ldap://dc.domain.local:3268/DC=DOMAIN,DC=LOCAL?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=group_0%2cOU=squid%2cOU=service-groups%2cDC=DOMAIN%2cDC=LOCAL))

сохраняем нашу группу, переходим в Times, там я создал один промежуток означающий работать всегда, теперь переходим в Target Categories и создаем списки по своему усмотрению, после создания списков возвращаемся в наши группы и внутри группы кнопочками выбираем кто куда может, а кто куда — нет.
LightSquid и sqstat

Если в процессе настройки мы выбрали лупбек в настройках сквида и открыли возможность заходить на 7445 в фаерволле как в нашей сети, так и на самом pfSense, то при переходе в Диагностика\Squid Proxy Reports мы без проблем сможем открыть и sqstat и Lighsquid, для последнего нужно будет там же придумать логин и пароль, а также есть возможность выбрать оформление.
Завершение

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

Надеюсь данная статья поможет кому-нибудь решить достаточно актуальную для средних и крупных предприятий задачу.

Установка прокси-сервера Squid под Windows (HTTPS + AUFS + ROCK): rustedowl — LiveJournal

Можно я не буду отвечать на вопрос «Зачем?!!» а сразу перейду к описанию? 😀

Заранее опишу ограничения:
1. Squid в обязательном порядке требует указывать DNS-сервер. Можно направить его в сторону DNS-сервера на роутере или скормить публичный DNS того же гугла, но лучше поставить Acylic DNS Proxy с настроенным hosts-файлом. Это само по себе, на уровне запросов, блокирует этак 90% рекламы, которую, к тому же, squid в результате не кэширует.
2. Squid не умеет использовать внешние прокси для запросов по https, поэтому делать это придется вручную и довольно корявым образом — с применением Proxifier, в котором надо будет указывать не имена сайтов, на которые хочешь попасть, а их ip-адреса. Поскольку squid не использует системный DNS-резолвер, это единственный вариант, при котором содержимое сайтов будет кэшироваться. Для сайтов TOR можно использовать промежуточный прокси, это я опишу.


Нам потребуется:
1. Собственно, Squid под Windows — берется здесь
2. OpenSSL для генерирования собственного Certificate Authority — берется здесь. Будет достаточно light-пакета на 3Мб
3. Утилита, скрывающая окна консоли качается отсюда.
4. 3proxy, если нужно проксирование в TOR-сеть берется здесь

Начнем же!

1. Распаковываем скачанный пакет — открываем cmd, переходим в папку с пакетом, набираем msiexec /a squid.msi /qb TARGETDIR=.\unpack
2. Копируем папку Squid из unpack в то место, где squid будет работать в дальнейшем. В приведенных мной примерах это папка E:\squid
3. Каталог unpack и squid.msi можно удалить, они больше не понадобятся. Идем в папку E:\squid
4. Открываем cmd.exe в этой папке и вбиваем туда mkdir .\_cache & mkdir .\etc\bump & mkdir .\dev\shm & mkdir .\log & echo 0 > .\log\access.log & echo 0 > .\log\cache.log
Это создает папки для внутренних нужд squid. В дальнейшем предполагается, что кэш располагается в папке _cache
5. Устанавливаем OpenSSL, идем в каталог bin, открываем cmd.exe, вбиваем туда:
5.1 — openssl req -new -config «openssl.cfg» -newkey rsa:1024 -days 1825 -nodes -x509 -keyout squidCA.pem -out squidCA.pem
5.2 — openssl x509 -in squidCA.pem -outform DER -out browserCA.der
Первая команда создает сертификат SquidCA.pem для генерации вторичных сертификатов. Копируем его в E:\squid\etc\bump
Вторая команда конвертирует этот сертификат в формат для импорта в браузер (если Firefox) или систему (если все остальное)
6. Идем в E:\squid\lib\squid, открываем командную строку,
ssl_crtd.exe -c -s /cygdrive/e/squid/etc/bump/ssldb (ВАЖНО: каталога ssldb существовать не должно, иначе вылезет ошибка!)
7. Редактируем E:\squid\etc\squid.conf
У меня он выглядит так:
[squid.conf]

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

# Deny requests to certain unsafe ports
# http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
# http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on «localhost» is a local user
# http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

# DNS Options
dns_v4_first on
dns_nameservers 127.0.0.1

# Squid normally listens to port 3128
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=8MB cert=/cygdrive/e/squid/etc/bump/squidCA.pem
sslcrtd_program /cygdrive/e/squid/lib/squid/ssl_crtd -s /cygdrive/e/squid/etc/bump/ssldb -M 8MB
sslcrtd_children 32 startup=2 idle=1
always_direct allow all
ssl_bump client-first all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER

# LOG
cache_access_log stdio:/cygdrive/e/squid/log/access.log buffer-size=128KB
# cache_store_log stdio:/cygdrive/e/squid/log/store.log buffer-size=128KB
cache_store_log none
cache_log stdio:/cygdrive/e/squid/log/cache.log buffer-size=128KB

# Uncomment the line below to enable disk caching — path format is /cygdrive/, i.e.
cache_dir rock /cygdrive/e/squid/_cache/rock 2048 max-size=32767 max-swap-rate=3000 swap-timeout=300
cache_dir aufs /cygdrive/e/squid/_cache/aufs 4096 16 256 min-size=32768
cache_replacement_policy heap LFUDA
memory_replacement_policy lru
ipcache_size 10240
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 50 KB
cache_mem 128 MB
memory_pools off
maximum_object_size 4 MB
quick_abort_min -1 KB
log_icp_queries off
client_db off
buffered_logs on
half_closed_clients off
via off
reload_into_ims on
max_filedescriptors 3200
pid_filename /cygdrive/e/squid/_cache/squid.pid
hosts_file none

# Leave coredumps in the first cache dir
coredump_dir /cygdrive/e/squid/_cache

# Add any of your own refresh_pattern entries above these.
# refresh_pattern -i ^ftp: 100000 90% 200000
# refresh_pattern -i ^gopher: 1440 0% 1440

# cache images
refresh_pattern -i \.(gif|png|ico|jpg|jpeg|jp2|webp)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(jpx|j2k|j2c|fpx|bmp|tif|tiff|bif)$ 259200 90% 20000 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(pcd|pict|rif|exif|hdr|bpg|img|jif|jfif)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(woff|woff2|eps|ttf|otf|svg|svgi|svgz|ps|ps1|acsm|eot)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims

# cache content
refresh_pattern -i \.(swf|js|ejs)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(wav|css|class|dat|zsci|ver|advcs)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims

# cache videos
refresh_pattern -i \.(mpa|m2a|mpe|avi|mov|mpg|mpeg|mpg3|mpg4|mpg5)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(m1s|mp2v|m2v|m2s|m2ts|wmx|rm|rmvb|3pg|3gpp|omg|ogm|asf|war)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(asx|mp2|mp3|mp4|mp5|wmv|flv|mts|f4v|f4|pls|midi|mid)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(htm|html)$ 9440 90% 518400 reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(xml|flow|asp|aspx)$ 0 90% 518400 refresh-ims
refresh_pattern -i \.(json)$ 0 90% 518400 refresh-ims
refresh_pattern -i (/cgi-bin/|\?) 0 90% 518400

# live video cache rules
refresh_pattern -i \.(m3u8|ts)$ 0 90% 518400 refresh-ims

# cache microsoft and adobe and other documents
refresh_pattern -i \.(ppt|pptx|doc|docx|docm|docb|dot|pdf|pub|ps)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims
refresh_pattern -i \.(xls|xlsx|xlt|xlm|xlsm|xltm|xlw|csv|txt)$ 259200 90% 518400 override-expire reload-into-ims ignore-no-store ignore-private refresh-ims

refresh_pattern -i . 0 90% 518400 refresh-ims
Я таки нежно напоминаю, что это локальный вариант, для запуска на отдельной машине, с максимальным кэшированием статики. Пути, при необходимости утащить их куда-то в другое место, надо поменять по всему конфигурационному файлу.

8. Создаем ярлык, параметры — C:\Windows\System32\cmd.exe /K «color 02 & cd /dE:\squid\ & set PATH=E:\squid\bin;%PATH%» где нужно указать путь к папке со squid
9. Запускаем этот ярлык (текст в командной строке должен быть зеленым), набираем squid -z
Если все сделано и настроено правильно, то в папке _cache появятся директории aufs и rock. Если где-то накосячено — то читаем E:\squid\log\cache.log и исправляем накосяченное.
10. Открываем cmd.exe, рабочая папка должна быть E:\squid, выполняем icacls .\_cache /T /Q /C /RESET && icacls .\etc\bump /T /Q /C /RESET && icacls .\log /T /Q /C /RESET && pause
Эти команды сбрасывают сбойные права доступа, которые назначает созданным файлам и папкам cygwin. Без выполнения команды rock-кэш работать не будет.
11. Запускаем (из зеленой консоли) squid -N (без этой опции не работает rock-database, увы), выбираем в браузере прокси-сервером 127.0.0.1:3128. Должно работать.
12. Создаем в E:\squid батник для запуска сквида. Имя на ваше усмотрение, содержимое:

cd /d %~dp0
set PATH=%~dp0bin;%PATH%
cd bin
squid -N

Запускаем его.
13. Если все работает как надо, то копируем в папку E:\squid утилиту RunHiddenConsole.exe чтобы в дальнейшем запускать прокси через нее.

Настройка для работы с TOR:

1. Качаем и распаковываем TOR Expert Bundle. Для запуска требуется распаковать его, создать файл torrc.cfg с начинкой
SOCKSPort 127.0.0.1:9050
SOCKSPolicy accept 127.0.0.1
SOCKSPolicy reject *
GeoIPFile .\Data\geoip
GeoIPv6File .\Data\geoip6
DataDirectory .\Data
Ну а далее запускается ярлыком RunHiddenConsole.exe «tor.exe -f torrc.cfg» из папки с TOR’ом.

2. В папке E:\squid создаем файл onion.txt с содержимым
^http.*onion

Аналогичным образом можно добавлять другие сайты (только HTTP), которые должны быть доступны через TOR

3. В файл конфига squid добавляем:
К листам acl
acl onion url_regex «/cygdrive/e/squid/onion.txt»

Перед командой «always_direct» вставляем
cache_peer 127.0.0.1 parent 3127 0 no-query default
never_direct allow onion
always_direct deny onion

4. Скачиваем 3proxy (в архиве), создаем в squid папку _3proxy, копируем туда файл 3proxy.exe из архива
Создаем там же файл 3proxy.cfg с содержимым:

internal 127.0.0.1
fakeresolve
auth iponly
allow * 127.0.0.1
parent 1000 socks5+ 192.168.16.250 9050
proxy -p3127

где 127.0.0.1 9050 — это адрес и порт, на котором слушает TOR (если вы выбрали другой)

5. Переделываем батник запуска squid к виду:
RunHiddenConsole.exe %~dp0_3proxy\3proxy.exe %~dp0_3proxy\3proxy.cfg
cd /d %~dp0
set PATH=%~dp0bin;%PATH%
cd bin
squid -N

Все готово, можно пользоваться. По умолчанию такой режим предназначен только для того, чтобы заходить на сайты находящиеся в доменной зоне .onion

Дополнения:
При включенном squid иметь дисковый кэш браузера включенным как-то излишне.
В Firefox выключаем через about:config, ищем строку browser.cache.disk.enable и ставим ее в false. Кэш в памяти это оставит нетронутым.

В Chromium это делается «извне», путем добавления к ярлыку запуска браузера параметров —disk-cache-size=1 —media-cache-size=1
Поэтому я рекомендую использовать Chromium (и основанные на нем браузеры) не сами по себе, а в портативном виде, с помощью программки chrlauncher, где эти параметры можно задавать в конфигурационном файле.

Если у вас есть ipv6, то опцию dns_v4_first надо переключить в off

И напоследок — ответ на вопрос «а почему бы не использовать HandyCache?»
1. Он не кэширует HTTPS, если его не купить. Лицензия дешевая, и это не проблема, но…
2. Он ломает поведение страниц, которые используют технологию CORS. Это facebook, github, addons.mozilla.org и многих других, о которых я сейчас не вспомню.
3. Поддержка родительских SOCKS в ныне доступной версии RC4 1.0.0.700 сломана.

ИМХО, squid работает быстрее + его способ хранения кэша лично мне нравится больше. Мелкие файлы сохраняются в ROCK-кэш, крупные в AUFS-кэш, пространство на жестком диске (размер кластеров на разделе 32КБ) используется оптимально, по сравнению с HandyCache, где фактический кэш 2,32 Гб у меня занимает 3,86 Гб на диске.

Как поднять простейший прокси-сервер на Windows

Добрый день. На моем сайте открылся партнерский магазин от сайта gold-nm.ru и по случаю открытия партнер предлагает всем пользователям сайта скидку на товары в размере 10% (используйте промокод 84DE22AD1A164230), для того чтобы ознакомиться с перечнем товаров перейдите по ссылке — магазин. Но это еще не все изменения, скоро откроется еще один магазин. Подписывайтесь на обновления, чтобы узнать об этом вовремя;)

Теперь немного предыстории. Один мой товарищ переехал в Чехию на обучение и подкинул мне идею для очередной темы статьи. Суть проблемы была в том, что Steam отказывается принимать на счет рубли, если пользователь находится в Европе/Америке. Логичным решением было воспользоваться прокси сервером. Но прокси сервер так же помогает обойти блокировку сайтов на работе, к примеру vk.com:). Достаточно настроить сервер у себя дома, а на работе подключиться к нему. Для большего удобства можно настроить постоянное доменное имя для вашего компьютера. Немного изучив вопрос, я понял что для настройки простого сервера нужно потратить от силы пять минут:) И сейчас я расскажу вам, как это сделать.

Инструкция

  1. Нам понадобится бесплатный прокси-сервер под названием 3proxy. Для этого переходим на официальный сайт. И качаем самую свежую версию, я использую 0.8, вам тоже рекомендую именно ее.
  2. Разархивируем и идем в папку bin.
  3. Создаем текстовый файл и меняем ему имя на 3proxy.cfg.
  4. Открываем файл в блокноте или любом другом текстовом редакторе и записываем в него следующие три строчки:
    auth none
    log
    proxy

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

  5. Запускаем программу. Чтобы подключиться к прокси серверу используйте свой внешний IP-адрес(как его узнать) и порт 3128 (используется по-умолчанию).

Это простейший сервер, который удовлетворит потребности большинства пользователей. Для более точной настройки сервера изучите файл 3proxy.cfg.sample , находящийся в папке cfg в архиве с программой.

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу в Вконтакте.

Спасибо за внимание!

Материал сайта Skesov.ru

Оцените статью:

(10 голосов, среднее: 3.3 из 5)

Поделитесь с друзьями!

Путеводитель по прокси-серверам. Часть 2.


СодержаниеHandyCache 0.95

Официальный сайт: http://handycache.ru
Размер: 1048 КБ
Цена: бесплатный

Рабочее окно HandyCache

HandyCache – бесплатный кэширующий HTTP прокси-сервер. Основное назначение программы заключается в организации общего кэша для нескольких браузеров либо на одной рабочей станции, либо внутри локальной сети. Работа с почтовыми клиентами и другими программами, использующими отличные от HTTP протоколы, не поддерживается.

В разделе настроек «Доступ» вписываются пользователи, имеющие доступ к прокси-серверу. В качестве критерия уникальности может использоваться IP-адрес рабочей станции, а также сочетание имени и пароля. Какие-либо тонкие настройки прав клиентов отсутствуют.

Программа может работать через внешний прокси. При вводе нескольких адресов создается меню выбора, вызываемое из значка в системном лотке Windows.

HandyCache позволяет блокировать нежелательную информацию с помощью создания черного списка. В нем допускается применение регулярных выражений. Для обеспечения грамотной фильтрации адресов, в программу добавлен и белый список. Вы можете, например, не загружать flash-ролики, имеющие довольно большой объем, а значит, заметно увеличивающие входящий трафик.

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

Используя HandyCache, можно быстро включать и отключать загрузку графики из Сети. При переключении в автономный режим, браузеры смогут отображать только данные, хранящиеся в кэше. Кроме того, вы можете, напротив, отключить кэш и работать напрямую с Сетью. Некоторые сайты не совсем корректно обновляют данные при работе через прокси, и быстрое отключение кэша помогает в этом случае получить свежую, актуальную информацию.

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

Программа может вести статистику соединений и выводить по каждому пользователю информации о переданном трафике. Если вы введете его цену, то сможете подсчитывать денежную сумму, истраченную каждым клиентом.

К содержаниюJana Server 2.4.8.51

Официальный сайт: www.janaserver.de
Размер: 1496 КБ
Цена: бесплатный

Настройка Jana Server через web-интерфейс

Jana Server – прокси-сервер, позволяющий пользователям локальной сети иметь доступ к интернету через коммутируемое соединение, ISDN или ADSL. Программа должна устанавливаться на рабочую станцию, имеющую выход во внешнюю сеть. Каких-либо дополнительных программ для обеспечения работы прокси-сервера не требуется.

Настройка программы производится из браузера, через web-интерфейс. По-умолчанию учетная запись администратора не имеет пароля. Рекомендуется сразу закрыть несанкционированный доступ к настройкам прокси-сервера.

Каждый из типов прокси имеет собственную группу настроек. Допускается изменение портов по-умолчанию. Вы можете блокировать нежелательную информацию с сайтов с помощью черного и белого списков.

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

Мониторинг сетевых соединений требует установленной в системе виртуальной машины Java (www.java.com). Статистика работы пользователей доступна только из log-файла.

Jana Server не является роутером, не имеет встроенного NAT. По этой причине программы, использующие сетевое соединение, не могут соединяться напрямую с интернетом, так как порты не могут быть открыты. Это, в первую очередь, касается игр и работы с аудио и видео через интернет.

К содержаниюMyProxy 7.70

Официальный сайт: http://myproxy.com.ua
Размер: 1044 КБ
Цена: 15.00$

Настройки MyProxy

MyProxy позиционируется не только как прокси-сервер, обеспечивающий подключение локальной сети к единому соединению с интернетом, но и как его мощный «ускоритель». Что скрывается за подобными смелыми обещаниями?

Первое, что реализовано в MyProxy, – возможность создания общего кэша на локальном диске, что позволяет не обращаться разным пользователям за одной и той же страницей во внешнюю сеть. В настройках программы можно указывать типы данных, заносящиеся в хранилище, максимальный размер обрабатываемого файла. Допускается игнорирование команды No cache.

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

Зарегистрированная версия может осуществлять сжатие загружаемых данных. Настройки позволяют указать правила исключения, то есть ввести типы файлов, которые не нужно обрабатывать архиватором.

MyProxy может блокировать всплывающие окна, а также не загружать нежелательную графическую информацию. Программа содержит классический черный список адресов, с которых загрузка данных запрещена. Кроме того, вы можете блокировать загрузку изображений, основываясь на их линейных размерах. За всеми адресами все равно не уследишь. Стандартизация графики по габаритам более универсальна. Нежелательные картинки обычно имеют стандартные размеры, чем MyProxy и позволяет воспользоваться.

Все вышеперечисленные факторы позволяют говорить о MyProxy, как о программе, увеличивающей среднюю скорость загрузки страниц, а также экономящей входящий трафик.

MyProxy не только экономит трафик, но позволяет также вести его учет для клиентов. Авторизация пользователей может происходить по имени и паролю, по IP и по MAC-адресу сетевой карты. Допускается ограничение на дневной и месячный трафик, а также указание максимальной скорости загрузки данных из внешней сети. Какая-либо групповая политика отсутствует.

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

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

В программу встроен инструмент, осуществляющий автоматическое подключение по коммутируемому соединению в случае возникновения сетевой активности. Прокси-сервер может кэшировать DNS-запросы. В целях обеспечения анонимности пребывания в Сети, в программу включен инструмент автоматического перебора внешних прокси. Вам достаточно создать и подключить их список. Основные события в MyProxy озвучиваются при помощи файлов в формате WAV. Компьютер может издавать звуковой сигнал при блокировке графического элемента или flash-ролика, при блокировании всплывающего окна, при дозвоне и отсоединении от провайдера.

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

К содержаниюNetProxy 4.03

Официальный сайт: www.baycastle.co.uk
Размер: 3475 КБ
Цена: 24.00$

Рабочее окно NetProxy

NetProxy – простой прокси-сервер, обеспечивающий работу большого количества протоколов. Первоначальная настройка программы осуществляется с помощью Мастера. Вы выбираете сетевые подключения, указываете необходимые серверы, после чего программа фактически готова к функционированию.

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

Программа позволяет хранить загружаемые из Сети документы внутри локального кэша. В настройках можно указывать его предельный размер, а также несколько правил автоматической очистки.

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

В состав NetProxy включен примитивный межсетевой экран. В его настройках можно указывать правила разрешения или запрета соединений с сервером изнутри локальной сети, а также извне, из интернета.

NetProxy содержит инструмент дозвона до провайдера при использовании коммутируемого соединения.

Благодаря простоте, NetProxy удобно применять в небольших сетях, где не требуется вести какой-либо жесткой статистики или тарификации работы пользователей в интернете.

К содержаниюProxy 4.14

Официальный сайт: www.analogx.com
Размер: 238 КБ
Цена: бесплатный

Настройки Proxy

Proxy – удивительно простой, лаконичный программный продукт. В нем нет ничего лишнего. Вы устанавливаете программу, читаете содержимое файла readme.txt, где дается список портов, используемых прокси-серверами HTTP, SOCKS, NNTP, POP3, SMTP и FTP. После этого необходимо лишь настроить соответствующее программное обеспечение на рабочих станциях клиентов. В браузере необходимо прописать IP-адрес сервера и порт HTTP-прокси, в программе обмена мгновенными сообщениями указывается SOCKS-прокси и так далее.

Proxy бесплатен без каких-либо ограничений.

К содержаниюProxy plus 3.0

Официальный сайт: www.proxyplus.net
Размер: 1532 КБ
Цена: бесплатный (с ограничениями)

Настройка Proxy plus через web-интерфейс

Proxy plus может работать как прокси-сервер, обеспечивающий доступ к единому подключению к интернету из локальной сети, а также как почтовый сервер. Настройка и управление программой осуществляется из браузера, через web-интерфейс. Программа может работать как на широкополосном, так и на коммутируемом соединении. Во втором случае допускается автоматический дозвон в случае появления сетевой активности. Вы можете также звонить провайдеру вручную, через web-интерфейс. Кроме того, можно настроить программу на соединение с внешней сетью по расписанию.

Proxy plus позволяет создавать несколько типов кэша на локальном диске. Помимо традиционного для подобных программ кэша HTTP, кэшированию могут подвергаться и FTP-запросы. Вы можете просматривать содержимое локального кэша, а также осуществлять в нем поиск данных.

Программа позволяет создавать группы и отдельные учетные записи для пользователей. Каждому клиенту может быть присвоен локальный электронный адрес.

Фильтрация содержимого происходит на основе черного и белого списков. Так как программа является еще и почтовым сервером, то допускается анализ содержимого электронных писем. Если в их тексте встречаются запрещенные слова, то передача данных блокируется. Подобным образом удобно бороться со спамом.

Программа содержит простой межсетевой экран, с помощью которого можно закрывать или открывать определенные порты, создавать особые правила доступа. Администратор может видеть статистику использования и, собственно, вносить все изменения в настройки прокси-сервера.

Бесплатная версия программы имеет два ограничения. Вы можете создать лишь три учетных записи пользователей. Объем кэша ограничен одним мегабайтом. Снятие лимита кэша и возможность работы пяти пользователей обойдется в 99.00$. При увеличении максимального количества подключаемых пользователей цена программы продолжает расти.

К содержаниюSpoonProxy 2.6

Официальный сайт: www.pi-soft.com
Размер: 769 КБ
Цена: 19.95$

Рабочее окно SpoonProxy

SpoonProxy – простой прокси-сервер, позволяющий пользователям локальной сети использовать единое подключение к интернету. Благодаря встроенному инструменту дозвона до провайдера, программу можно использовать не только при постоянном подключении к Сети, но и на коммутируемом соединении.

Программа может допускать к серверу всех пользователей локальной сети, а также требовать авторизацию. Во втором случае необходимо лишь указать имя и пароль. Кроме того, программа позволяет использовать данные учетных записей NT.

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

SpoonProxy не обладает какими-либо инструментами блокировки нежелательной информации и не ведет детальной статистики использования сетевого соединения по каждому пользователю.

Цена на программу может меняться в зависимости от максимального количества обслуживаемых пользователей.

К содержаниюWebScout 2.12

Официальный сайт: www.globalpatrol.net
Размер: 1067 КБ
Цена: 49.95$

Рабочее окно WebScout

WebScout может использоваться как HTTP и SOCKS прокси-сервер. Программа не только обеспечивает подключение рабочих станций локальной сети к единому соединению с интернетом, но и позволяет гибко фильтровать информацию, поступающую извне, а также жестко разграничивать права пользователей.

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

При вводе новых пользователей вы можете сразу вводить квоты на максимальное время пребывания в Сети, а также ограничивать объем загружаемой информации. Данные настройки могут применяться к различным интервалам времени — ко дню, к неделе и к месяцу. Кроме того, в разделе Quotas можно сразу ввести аналогичные ограничения для всех пользователей локальной сети.

Ограничение доступа к нежелательным сайтам производится с помощью единого инструмента Access Rules. Допускается применение правил ко всем пользователям, к отдельным IP-адресам, а также к диапазону адресов. Кроме того, можно включать и исключать пользователей из списка применения текущего правила.

Каждый фильтр может действовать в течение определенного промежутка времени. Вы можете указывать дни недели, а также диапазон времени применения правила. Фильтрация может осуществляться на основе регулярных выражений, а также путем ввода полных адресов нежелательных web-сайтов.

На последнем этапе вам необходимо указать, что делать с введенными ранее сайтами. Вы можете запретить или, напротив, разрешить к ним доступ. Кроме того, допускается ввод максимальной скорости загрузки данных с описанных в правиле ресурсов.

WebScout позволяет заменять нежелательное содержимое страниц собственными графическими и текстовыми элементами. С помощью инструмента Quota Usage Report можно создавать отчеты о работе каждого пользователя. Доступ к настройкам прокси-сервера может закрываться паролем.

К содержаниюWinProxy 1.5.3

Официальный сайт: www.winproxy.net
Размер: 261 КБ
Цена: 99.00$

Рабочее окно WinProxy

WinProxy является универсальным прокси-сервером, обеспечивающим подключение пользователей локальной сети к единому соединению с интернетом. Кэширование документов, поступающих к пользователю по протоколам HTTP и FTP, позволяет ускорить работу в Сети, уменьшить объем входящего трафика.

Программа может функционировать при любом типе подключения, в том числе и через коммутируемое соединение. В подобном случае прокси-сервер может устанавливать удаленную телефонную связь через браузер в автоматическом режиме или вручную, по требованию.

Ввод учетных записей пользователей осуществляется с учетом групповой политики. Впрочем, данное разделение весьма условно, так как при вводе нового пользователя можно лишь указывать его имя и пароль. Группа еще более абстрактна по сути, так как, кроме уникального названия, не несет никакой смысловой нагрузки.

Блокировка нежелательной информации может осуществляться из меню Access настроек Proxy. Вы указываете адреса сайтов, загрузка информации с которых запрещена. Допускается применение символа «*» для обозначения вхождения всех возможных адресов после указания домена.

Программа позволяет хранить загруженные документы внутри локального кэша. Вы можете задавать ограничения на максимальный размер кэшируемых файлов. При этом передача данных пользователю не запрещается.

WinProxy содержит в составе межсетевой экран, обеспечивающий безопасность пользователей локальной сети. Вы можете ограничивать также IP-адреса, с которых возможен доступ к прокси-серверу.

Настройка сервера осуществляется из браузера через web-интерфейс. Окно статуса, вызываемое из системного лотка Windows, отображает только количество текущих соединений с внешней сетью.

К содержаниюСводная таблица

К содержаниюОбщая сводная таблица

К содержанию

— прокси

HandyCache RC4 1.0.0.885 HandyCache — -. ,, … 4,35 M | | Анонимный прокси ChrisPC 8.15 Анонимный прокси FreeChrisPC, — 50 IP-. , … 5,49 M | | Проверка веб-прокси 2.24 Проверка веб-прокси — SOCKS4 / SOCKS5 / HTTP / HTTPS -. Проверка веб-прокси … 2,44 M | | ProxyChecker 8.2.0.40ProxyCheker — … 784 K | | Прокси-сервер и брандмауэр UserGate 6.5.3UserGate — -, IP-. — (NAT), (брандмауэр), Port mappi…80.12 M | — | Прокси-сервер Slava 2.6 Прокси-сервер Slava — Интернет. , прокси …. 23 K | — | Поиск прокси 5.1 Поиск прокси -, -. … 6,21 M | | Premium Proxy Switcher 4.0.0Премиум Proxy Switcher — IP -… 8.15 M | | AnProxy 1.0AnProxy — — … 348 K | | Сканер HTTP-прокси 1.6 Сканер HTTP-прокси -, — HTTP … 2.23 M | | Socks Proxy Scanner 1.6Socks Proxy Scanner — — SOCKS … 2.23 M | | OpenUp 1.2.1.2OpenUp — OpenUp. » «, Открыть …1.55 M | | Fast Proxy Expert 1.0.0.3Fast Proxy Expert — () — … 47 K | | ProxyShell Hide IP 3.1.5ProxyShell Hide IP -,. IP-, … 2,19 M | — | Прокси-сервер Eproxy 4.28 Прокси-сервер Eproxy — http / https / ftp -. -, … 9,05 млн | — | .

Windows Server Proxy Server — это почти прокси-сервер на базе Windows Server 2003 или Windows Server 2008

I. Краткое введение в прокси-сервер Windows Server

Прокси-сервер Windows Server — это прокси-сервер, который был расположен в операционной системе Windows, в основном в серверной версии Windows, такой как Windows Server 2003 и Windows Server 2008. Таким образом, он также известен как прокси-сервер Windows server 2003 и Windows server 2008 Прокси сервер.Прокси-сервер Windows может предоставлять прокси-сервис для клиентов не только с операционной системой Windows, но и с другими системами, такими как Linux, Apple, Mobile OS и т. Д.

Преимущества прокси-сервера Windows Server:

  • Держите клиентов в стороне, чтобы они могли просматривать веб-страницы анонимно, это в основном для безопасности. Например, Fox, если клиент посещает Yahoo через прокси-сервер Windows server, yahoo получит запрос от этого прокси-сервера, но не от этого клиента, что затрудняет отслеживание этого клиента Yahoo.
  • Совместное использование Интернет-соединения с друзьями и коллегами. С прокси-сервером Windows server компьютеры могут получить доступ в Интернет, это хорошее решение для совместного использования подключения к Интернету и позволяет сэкономить на плате за подключение к Интернету.
  • Ускорьте серфинг клиентов. Все запросы от клиентов сначала будут доходить до прокси-сервера. Если прокси-сервер кэшировал ресурсы, клиенты получат обратную связь напрямую от него, это будет быстрее.
  • Чтобы обойти региональные ограничения. Например, к серверу, использующему геолокацию на основе IP-адреса для ограничения своей службы в определенной стране, можно получить доступ с помощью прокси-сервера Windows Server, расположенного в этой стране, для доступа к службе.
  • Дайте вам возможность получить доступ к заблокированным веб-сайтам. Например, многие офисы и школы заблокировали facebook, myspace, youtube и некоторые другие веб-сайты. К счастью, с помощью прокси-сервера Windows Server вы можете легко обойти такие ограничения.

II. Шаги по установке прокси-сервера Windows Server

CCProxy — это простое в использовании программное обеспечение прокси-сервера на основе Windows, оно совместимо как с Windows Server 2003, так и с Windows Server 2008. Рекомендуемая версия Windows — Windows Server 2003 Enterprise Edition с пакетом обновления 2 (SP2) и Windows Server 2008 R2, как 32-разрядные, так и 64-битные версии поддерживаются CCProxy.

CCProxy предоставляет бесплатную версию для 3 пользователей для личных и домашних пользователей, чтобы эффективно и легко создавать свой собственный прокси-сервер Windows Server, ниже представлена ​​пошаговая инструкция для вас.

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

Шаг 1. Подготовка к установке прокси-сервера Windows Server

  • Установите Windows Server 2003 Enterprise Edition с пакетом обновления 2 (SP2) или Windows Server 2008 R2 на предварительно выбранный компьютер.
  • Убедитесь, что у этого компьютера есть доступ к Интернету напрямую.
  • Если вы включили системный брандмауэр Windows или установили другое программное обеспечение безопасности, убедитесь, что указанные ниже порты доступны.
HTTP: 808
FTP (Интернет): 808
FTP: 2121
Суслик: 808
Безопасный / SSL / HTTPS / RTSP: 808
SOCKS / MMS: 1080
Новости (NNTP): 119
SMTP: 25
POP3: 110
Telnet: 23

Это порты CCProxy по умолчанию, вы можете изменить их по своему усмотрению в соответствии с реальными потребностями.

  • Убедитесь, что все клиенты в локальной сети имеют доступ к серверу.

Шаг 2 — Установите CCProxy на компьютер, который будет работать как прокси-сервер Windows Server

  • Предположим, что IP-адрес сервера в локальной сети 192.168.0.1, а затем 192.168.0.1 — это адрес прокси-сервера.
  • Вы можете скачать CCProxy здесь. Запустите ccproxysetup.exe и следуйте инструкциям на экране, чтобы установить CCProxy.
  • Запустите CCProxy на сервере (рисунок 1).


(Фигура 1)

Если у вас возникли проблемы с запуском CCProxy, обратитесь к разделу «Проблема запуска CCProxy».

Шаг 3. Добавьте IP-адрес клиента в CCProxy на прокси-сервере Windows

  • Выберите один компьютер в локальной сети, которому требуется доступ в Интернет.Предположим, что IP-адрес компьютера 192.168.0.2.
  • Откройте главное окно CCProxy, нажмите кнопку «Учетная запись», затем откройте диалоговое окно «Диспетчер учетных записей».
  • Выберите «Только разрешение» в «Категории разрешений» и выберите «IP-адрес» в «Типе аутентификации» (рисунок 2).
  • Нажмите кнопку «Создать», введите «192.168.0.2» в поле «IP-адрес / диапазон IP-адресов», нажмите «Сохранить» и кнопку «ОК» (рисунок 3, рисунок 4).


(Фигура 2)


(Рисунок 3)


(Рисунок 4)

Шаг 4. Настройте прокси-сервер для IE на клиенте .

  • Перейдите на клиентский компьютер и откройте окно IE.
  • Откройте меню «Сервис», выберите «Свойства обозревателя» и откройте диалоговое окно «Свойства обозревателя».
  • Выберите вкладку «Подключения» (рис. 5), нажмите кнопку «Настройки LAN» и откройте диалоговое окно «Настройки локальной сети (LAN)».
  • Отметьте «Использовать прокси-сервер для вашей локальной сети», введите «192.168.0.1» в «Адрес» и «808» в «Порт» (рисунок 6).
  • Нажмите кнопку «ОК» в диалоговых окнах «Параметры локальной сети (LAN)» и «Свойства обозревателя».
  • Теперь вы можете просматривать веб-сайты в Интернете в IE на клиенте.


(Рисунок 5)


(Рисунок 6)

Помимо IE, возможно, вам также потребуется настроить прокси-сервер для некоторых других сетевых приложений, таких как MSN Messenger, Skype, CuteFTP и т. Д. У нас также есть дополнительные инструкции для вас — как использовать прокси-сервер для различных сетевых приложений.

.

Прокси-сервер WinGate. Веб-прокси для Windows

О нас

С 1995 года Qbik разрабатывает функциональное и удобное программное обеспечение, специализирующееся на подключении к Интернету и безопасности. Наши продукты позволяют пользователям управлять своими подключениями к Интернету (WinGate), соединять удаленные офисы вместе (WinGate VPN) и бороться с вредоносными программами (Kaspersky AV для WinGate).

Бесплатная 30-дневная пробная версия

Все наши продукты доступны для бесплатной 30-дневной пробной версии и разблокируются с помощью закодированного ключа.Независимо от того, покупаете ли вы, обновляете или хотите испытать наше программное обеспечение, загруженное программное обеспечение остается неизменным.

Безлимитная поддержка

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

Наш флагманский прокси-сервер HTTP с расширенным кэшированием, сервер SOCKS и многопротокольный прокси-сервер, почтовый сервер и система интернет-шлюза для Windows.

Перехват, кэширование и сканирование веб-содержимого.
Сканируйте также https-трафик с проверкой https. Ограничивайте и регистрируйте доступ пользователей к сети.
Решите проблемы с устаревшими версиями TLS И многое другое ….

Новая версия: 9.4.1 (1 февраля 2020 г.) БЕСПЛАТНО для 10 пользователей

Проверяйте свой трафик WinGate на наличие вредоносных программ с помощью уважаемого движка «Лаборатории Касперского». Также сканирует просмотр веб-страниц на наличие эксплойтов.

Lumen for WinGate — это подключаемый модуль классификации веб-содержимого для WinGate.Это позволяет администраторам устанавливать политику доступа на основе классификации сайта, вместо того, чтобы устанавливать политику для каждого сайта.

Простое в использовании, но гибкое решение VPN для удаленных офисов и сотрудников.
Текущая версия: 9.4.1 (1 февраля 2020 г.)

.
Git сервер свой: Создание, настройка и использование собственного Git-сервера

Git сервер свой: Создание, настройка и использование собственного Git-сервера

Создание, настройка и использование собственного Git-сервера

Материал, перевод которого мы сегодня публикуем, посвящён настройке Git-серверов. Git — это система управления версиями, разработанная Линусом Торвальдсом. Git пользуются миллионы людей во всём мире. Компании, вроде GitHub, предлагают службы хостинга кода, основанные на Git. По информации, которую можно найти в различных публикациях, GitHub является крупнейшим сервисом для хостинга IT-проектов. В частности, в 2017-м году сообщество GitHub достигло 24 миллионов разработчиков, которые трудятся над 67 миллионами репозиториев. В наши дни GitHub пользуются абсолютно все — от программистов-одиночек, до крупных организаций. Надо сказать, что даже компания Google перешла на GitHub, закрыв собственный проект схожей направленности.



Зачем нужен собственный Git-сервер?


GitHub — это замечательный сервис, но, особенно если вы — индивидуальный разработчик или небольшая компания, вы, при работе с GitHub, столкнётесь с некоторыми ограничениями. Одно из них заключается в том, что в бесплатный пакет услуг не входит хостинг приватных репозиториев. За эту возможность придётся заплатить, как минимум, $7 в месяц.

В подобных ситуациях, для того, чтобы обойти ограничения, или если вам нужно контролировать то, что происходит с вашими репозиториями, лучше всего создать собственный Git-сервер. Это, с одной стороны, поможет сэкономить, а с другой — даст полный контроль над сервером. Среди продвинутых пользователей Linux весьма распространена практика использования собственных Git-серверов, размещаемых, можно сказать, бесплатно, на уже используемых ими серверах.

В этом руководстве мы поговорим о двух подходах к управлению кодовой базой с использованием собственного Git-сервера. Первый заключается в использовании обычного Git-сервера, а второй — в применении инструмента с графическим интерфейсом GitLab. В качестве платформы для экспериментов тут используется сервер на полностью пропатченной Ubuntu 14.04 LTS, развёрнутый на VPS.

Использование Git


Здесь мы рассматриваем сценарий, в соответствии с которым у нас имеется удалённый сервер и локальный сервер. Работаем мы периодически то с одним, то с другим.

Для начала установим Git на этих двух машинах. Git можно установить либо из пакета, доступного в репозитории используемого дистрибутива, либо вручную. Тут мы воспользуемся простейшим методом:

sudo apt-get install git-core

Затем добавим пользователя для Git:
sudo useradd git
passwd git

Для того чтобы упростить доступ к удалённому серверу, настроим вход по ssh без пароля.

Создадим ssh-ключи на локальном компьютере:

ssh-keygen -t rsa

Система спросит у вас о том, куда нужно сохранить ключ. Если вас устраивает стандартное место хранения ключа, просто нажмите Enter. Далее вам предложат задать пароль, который будет нужен для доступа к удалённому серверу.

Вышеописанная команда генерирует два ключа — открытый и закрытый. Запишите или запомните расположение открытого ключа. Он понадобится нам на следующем шаге.

Теперь надо скопировать эти ключи на сервер, что даст возможность наладить канал связи между двумя машинами. На локальном компьютере выполните следующую команду:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Теперь подключитесь по ssh к серверу и создайте директорию проекта для Git. Для репозитория можно использовать любую папку, которая покажется вам подходящей:
[email protected]:~ $ mkdir -p /home/swapnil/project-1.git

Затем перейдите в эту директорию:
cd /home/swapnil/project-1.git

Создайте пустой репозиторий:
git init --bare

Если команда успешно сработала, вы увидите сообщение, подобное следующему:
Initialized empty Git repository in /home/swapnil/project-1.git

Теперь нужно создать Git-репозиторий на локальной машине. Для этого создаём директорию:
mkdir -p /home/swapnil/git/project

Переходим в неё:
cd /home/swapnil/git/project

Далее, создаём в ней файлы проекта, и, оставаясь в ней, инициализируем репозиторий:
git init

Об успешной инициализации репозитория можно судить по такому сообщению:
Initialized empty Git repository in /home/swapnil/git/project

Теперь добавим файлы проекта в репозиторий:
git add .

С этого момента, после добавления в проект новых файлов или после изменения существующих, нужно будет выполнять вышеописанную команду (git add .). Кроме того, нужно будет выполнять команду git commit, задавая сообщения, описывающие коммиты. Выглядит это примерно так:
git commit -m "message" -a
[master (root-commit) 57331ee] message
 2 files changed, 2 insertions(+)
 create mode 100644 GoT.txt
 create mode 100644 writing.txt

В нашем случае здесь имеется файл, который называется GoT (в нём лежит текст обзора Game of Thrones), в который внесены некоторые изменения. Изменения внесены и в другой файл. Поэтому при выполнении команды система сообщила о том, какие изменения были внесены в файлы. В вышеописанной команде опция -a означает обработку всех файлов репозитория. Если вы внесли изменения лишь в один файл, можно, вместо опции -a, указать имя этого файла.

Например:

git commit -m "message" GoT.txt
[master e517b10] message
 1 file changed, 1 insertion(+)

До сих пор мы работали на локальном сервере. Теперь нам нужно отправить локальные данные на удалённый сервер, что сделает их доступными через интернет и позволит организовать совместную деятельность нескольких разработчиков:
git remote add origin ssh://[email protected]/repo-<wbr< a="">>path-on-server..git

Теперь можно отправлять изменения с локальной машины на сервер или загружать данные с сервера, используя, соответственно, опции push или pull:
git push origin master

Если над проектом намереваются работать и другие программисты, сначала им надо клонировать репозиторий с сервера на своих локальных компьютерах:
git clone [email protected]:/home/swapnil/project.git

В данной команде /home/swapnil/project.git — это путь к папке проекта на удалённом сервере, в вашем случае тут будет другой путь.

Затем, после клонирования, надо перейти в директорию проекта:

cd /project

У вас, вместо project будет имя другой директории. Теперь можно приступать к работе над проектом, принимать изменения и отправлять их на сервер:
git commit -m 'corrections in GoT.txt story' -a
git push origin master

Мы полагаем, что вышеприведённых сведений достаточно для того, чтобы помочь тем, у кого не было опыта работы с Git, приступить к использованию собственного Git-сервера. Если вам нужен некий инструмент с графическим интерфейсом, позволяющий работать с проектом на локальной машине, можно воспользоваться чем-то вроде QGit или GitK для Linux.
QGit — графический инструмент для локальной работы с Git-репозиториями

Использование GitLab


Выше мы описали систему, позволяющую организовать совместную работу над проектами с помощью Git, полностью основанную на средствах командной строки. Работать в такой среде, конечно, сложнее, чем с GitHub. По иронии судьбы, хотя GitHub — это крупнейший в мире сервис для хостинга кода, его собственный код закрыт. Это — не опенсорсный проект, то есть, нельзя взять этот код и создать на его основе собственный GitHub. В отличие от чего-то вроде WordPress и Drupal, код GitHub нельзя загрузить и развернуть на собственном сервере.

Но, как это обычно бывает в мире опенсорса, проектам с закрытым кодом можно найти замену. В данном случае заменой GitHub может послужить весьма привлекательный опенсорсный проект GitLab. Он позволяет всем желающим разворачивать на собственных серверах нечто подобное GitHub. При этом GitLab можно использовать и для поддержки работы крупной компании или большой команды, и для организации собственного репозитория для небольшого проекта, который пока не готов к тому, чтобы представить его широкой общественности.

GitLab задействует бизнес-модель, характерную для опенсорсных проектов. А именно, имеется свободно распространяемая версия ПО, которую все желающие могут разворачивать на своих серверах, и хостинг кода, похожий на GitHub.

Свободно распространяемая версия GitLab имеет две редакции — бесплатную Community Edition (Core) и платную Enterprise Edition (существуют её варианты Starter, Premium и Ultimate). Последняя основана на Community Edition, которая отлично масштабируется, и, кроме того, включает в себя некоторые дополнительные возможности, ориентированные на организации. Это немного напоминает позиционирование WordPress.org и WordPress.com.

Среди возможностей GitLab можно отметить управление Git-репозиториями, средства обзора кода, наличие системы отслеживания ошибок, ленты активности, поддержку вики-страниц. Здесь имеется и GitLab CI — система непрерывной интеграции.

Многие VPS-провайдеры, вроде DigitalOcean, предлагают пользователям дроплеты GitLab. Если вы хотите развернуть GitLab на собственном сервере, вы можете установить эту систему вручную. GitLab предлагает пакет Omnibus для различных операционных систем. Прежде чем установить GitLab, может возникнуть необходимость в настройке почтового SMTP-сервера для того, чтобы система могла отправлять электронную почту. Рекомендовано для этих целей пользоваться Postfix. Поэтому, перед установкой GitLab, установим Postfix:

sudo apt-get install postfix

В процессе установки Postfix система задаст вам несколько вопросов. Не стоит пропускать ответы на них, но если ответы на них не даны, можно перенастроить систему, выполнив следующую команду:
sudo dpkg-reconfigure postfix

После запуска этой команды нужно указать параметр Internet Site и задать почтовый идентификатор для домена, который будет использоваться GitLab. Далее, надо будет указать имя пользователя для Postfix и почтовый адрес. Значения остальных параметров можно не менять. После установки и настройки Postfix можно заняться GitLab.

Загрузим свежий пакет отсюда с помощью wget:

wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.9.4-omnibus.1-1_amd64.deb

Теперь установим его:
sudo dpkg -i gitlab_7.9.4-omnibus.1-1_amd64.deb

Настроим и запустим GitLab:
sudo gitlab-ctl reconfigure

Теперь надо будет настроить доменное имя в конфигурационном файле, что даст возможность работать с GitLab. Откроем файл:
nano /etc/gitlab/gitlab.rb

В этом файле надо будет отредактировать параметр external_url, указав здесь доменное имя сервера. После редактирования файла его надо сохранить, после чего только что созданный GitLab-сайт можно открыть в браузере.
Сайт GitLab, открытый в браузере

По умолчанию система создаёт учётную запись администратора с именем root и паролем 5iveL!fe. Сразу после первого входа на сайт следует поменять пароль.


Смена пароля на сайте GitLab

После того, как пароль изменён, можно войти на сайт и заняться работой с проектами.


Работа с проектами в GitLab

GitLab — это серьёзная система, имеющая массу возможностей. Как в них разобраться? Позволим себе привести тут несколько изменённую цитату из фильма «Матрица»: «Увы, невозможно рассказать о том, что умеет GitLab. Вы должны увидеть это сами».

Уважаемые читатели! Пользуетесь ли вы собственными Git-серверами? Если да — просим рассказать о том, как вы их настраиваете и поддерживаете.

Поднимаем собственный git сервер GitBlit на хостинге Openshift / Хабр

Привет, Хабр!
Все программисты делятся на тех, кто использует систему контроля версий, и тех кто ещё ёё не использует. Одной из самых популярных на сегодняшний день, является git. И хотя его структура направлена на децентрализованное хранение данных, все мы пользуемся github, assembla, bitbucket или githost. Главный недостаток этих хостингов, в том, что это чужие проекты, которые в любой момент могут прикрыть ваш аккаунт или слить данные налево. И тут на сцене появляется GitBlit! Git сервер на Java, полностью контролируемый вами, с множеством плюшек и веб-интерфейсом. Сегодня будем запускать его на бесплатном хостинге от Redhat.


Узнав в начале лета про бесплатный хостинг от Redhat, сразу захотел что-нибудь там разместить, однако была проблемка: веб-разработкой не занимаюсь, проектов нет и вроде как ни какой хостинг мне не нужен. Наиболее падок человек на халяву, а это была именно халява, поэтому мой мозг выдал идею: «А давай сделаем свой собственный git сервер!». После гугления я обнаружил только один git сервер на Java, который не только активно разрабатывался, но и мог, по заверениям автора, работать на хостинге openshift. После тестов и введения в активное пользование появилось жгучие желание рассказать о нем всем в округе. Сразу было написано полстатьи, но вдруг наступило лето, и, как следствие, все проекты были заморожены до осени. Осень наступила, я наконец дописал статьи и представляю её на ваш суд.
Описание возможностей честно содрано с сайта и переведено на наш великий и могучий.

Четыре типа конфигураций контроля доступа для каждого хранилища:

  • Анонимный просмотр, клонирование и загрузка в репозиторий
  • Авторизованная загрузка в репозиторий
  • Авторизованные клонирование и загрузка в репозиторий
  • Авторизованные просмотр, клонирование и загрузка в репозиторий
  • Заморозка репозитория (только для чтения)

Основные плюшки:

  • Основано на JGit SmartHTTP сервлете
  • Возможность объединения с другими серверами Gitblit
  • RSS / JSON RPC интерфейс
  • Кроссплатформенный Java Gitblit-менеджер
  • Веб-интерфейс адаптированный для телефонов, планшетов и обычных компьютеров
  • Использование groovy скриптов в хуках перед загрузкой на сервер и после; можно задать действие хуков для отдельного репозитория или глобально, для всех
  • Уведомления по электронной почте после загрузки на сервер (через скрипт sendmail.groovy)
  • Индексация Lucene ветвей репозитория
  • Администраторы могут создавать, редактировать, переименовывать или удалять репозитории, пользователей и группы через веб-интерфейс или интерфейс RPC(менеджер)
  • Владельцам репозитория доступно редактирование через веб-интерфейс
  • Администраторы и владельцы репозитория могут установить главную ветвь через веб-интерфейс или интерфейс RPC
  • LDAP аутентификации и дополнительный LDAP список пользователей
  • Интеграция с gravatar
  • Поддерживается отображения Git тегов
  • Поддерживается отображения GH-страниц (Jekyll не поддерживается)
  • Поддерживается отображения файлов Markdown
  • Статистика ветвей (используется Google Charts)
  • RSS каналы ветвей
  • Поддерживается использование часового пояса браузера при отображении даты и времени
  • Поддерживается скрытие e-mail адресов автора и коммиттера
  • Регистронезависимый поиск по сообщениям коммитов, авторам и коммиттерам
  • Подсветка синтаксиса исходного кода
  • Дополнительные утилиты
  • Страница документации, содержащая все Markdown файлы репозитория
  • Страница Ticgit (на основе последнего выпуска MIT bf57b032 2009-01-27)

Языки:

  • Английский
  • Японский
  • Испанский
  • Польский

Есть желание перевести на Великий и Могучий?
Добро пожаловать на www.getlocalization.com/gitblit

Скриншоты: gitblit.com/screenshots.html
Демо сервер: demo-gitblit.rhcloud.com


Установка


Регистрируемся на openshift
Создаём JBoss Application Server https://openshift.redhat.com/app/console/application_types/jbossas-7
Дальше, следуя инструкциям, добавляем свой ssh-ключ и выполняем git clone.
У меня, например так:
git clone ssh://[email protected]/~/git/habr.git/

Переходим в папку приложения:
cd habr/

Очищаем папку от стандартной заглушки:
rm -R *

Скачиваем gitblit:
wget https://gitblit.googlecode.com/files/express-1.1.0.zip

Разархивируем в папку habr и удаляем архив:
unzip express-1.1.0.zip && rm express-1.1.0.zip

Настраиваем конфиг по адресу: habr/deployments/ROOT.war/WEB-INF/web.xml
Устанавливаем значения true:
web.enableRpcManagement
web.enableRpcAdministration

А у web.forwardSlashCharacter на !

Как здравомыслящие параноики перенаправляем весь трафик через https.
Создаём файл jboss-web.xml в этой же папке (WEB-INF) со следующим содержанием:

<jboss-web>  
      <security-domain>jboss-web-policy</security-domain>  
      <valve>  
        <class-name>org.jboss.web.rewrite.RewriteValve</class-name>  
      </valve>  
</jboss-web>

Создаём файл rewrite.properties в этой же папке (WEB-INF) со следующими правилами переадресации:

RewriteCond %{HTTP:X-Forwarded-Proto} http  
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

На этом настройка серверной части закончена.
Заливаем данные на сервер, выполняя сакральное:

git add .
git commit -m 'Init git server'
git push

Теперь последний этап настройки.


Скачиваем менеджер для удалённого администрирования gitblit: gitblit.googlecode.com/files/manager-1.1.0.zip

Подключаемся к нашему серверу habr-dark008.rhcloud.com, логин и пароль стандартные: admin, admin.
Необходимо лишь сменить пароль администратора, остальные настройки на ваше усмотрение.

Сервер так же можно настроить через веб-интерфейс, но автор советует использовать менеджер: в нём больше настроек, меньше глюков.
Более тонкая настройка: gitblit.com/setup.html


Исходники: github.com/gitblit или code.google.com/p/gitblit/source/list
Баг-трекер: code.google.com/p/gitblit/issues/list
Обсуждение: groups.google.com/group/gitblit
Google+: plus.google.com/114464678392593421684

Спасибо Суворову Андрею за рецензирование текста.

Собственный Git на Windows

January 05, 2018 | 3 Minute Read

Ну вот наступил 11111100010 год ии у меня появилось свободная минутка, чтобы написать тут что-то полезное:-)

Случилось так, что понадобился приватный git репозиторий, а покупать VIP аккаунт на github не хотелось, да и политика безопасности компании, для которой разрабатывается проект, не позволяет это делать. По этому было принято решение о развертывании собственного git-сервера. Так как я C# developer, то речь пойдет конечно же о Windows Server и IIS Server. Пользователям Linux скажу, что там установка этого «богатства» еще проще и состоит из пары команд в терминале.

Немного о платформе.

Данный git-server был написан на C# на ASP.NET и представляет собой Web приложение. Все исходные коды доступны тут. Все желающие могут ознакомиться и оценить кривизну кода) А мы поехали дальше -)

Как его ставить?

Для успешной установки нам нужны

  1. Сам сервер на Windows Server 2008 R2/2012/2012 R2/2016 (кто-то сидит на ней?)
  2. Internet Information Services (IIS) 7 или 8
  3. .NET Framework 4.6
  4. visual redist 2012/2015 и CLR
  5. Server дистрибутив

Быстро пробежимся по основным пунктам. У меня стоит Windows Server 2012 R2. И показывать я буду на ней. Для Windows Server 2008 все примерно также. Предполагается, что Виндасервер у вас сконфигурирован и настроен. Если это не так – идите к документации)

IIS Сервер + .NET Framework.

Запускаем Server Manager (диспетчер серверов) -> Manage (Управление) -> Add Roles and Features (Добавить роли и компоненты) …

да да у меня виндосервер на русском…

Выбрать Role-based or Feature-based Installation (установка ролей или компонентов)

Далее выбираем наш сервер

В ролях выбираем Web Server (IIS).

В компонентах жмякаем на .NET framework 4.5 и на последнем шаге выбираем нужные настройки.

Установка… Потребует перезагрузки сервера. Загружаем .NET Framework 4.6 и ставим его. Все теперь можно ребутиться.

Для любителей консоли…

Start /w pkgmgr /iu:IIS-WebServerRole;
IIS-WebServer;
IIS-CommonHttpFeatures;
IIS-StaticContent;
IIS-DefaultDocument;
IIS-DirectoryBrowsing;
IIS-HttpErrors;
IIS-HealthAndDiagnostics;
IIS-HttpLogging;
IIS-LoggingLibraries;
IIS-RequestMonitor;
IIS-Security;
IIS-RequestFiltering;
IIS-HttpCompressionStatic;
IIS-WebServerManagementTools;
IIS-ManagementConsole;
WAS-WindowsActivationService;
WAS-ProcessModel;
WAS-NetFxEnvironment;
WAS-ConfigurationAPI
Git Server

Всё, теперь можно перейти к непосредственно развёртыванию git сервера. Разархивируем содержимое дистрибутива в wwwroot IIS-сервера (C:\inetpub\wwwroot) и даём права учетной записи IIS_IUSERS на модификацию каталога App_Data.

Запускаем IIS Manager и конвертируем Git в приложение.

После конвертации жмем ActionBrowse (Управление приложением – обзор) и у нас должен открыться сайтик с формой для входа. Теперь он доступен по адресу IP сервера\git в локальной сети. При желании его можно вывезти во внешнюю сеть и вообще делать с ним все что душе угодно!

Настройка.

По стандарту логин пароль для входа admin\admin.

В настройках можно указать другой путь для хранения файлов, изменить язык и вообще сделать много полезного)

Можно добавлять новых пользователей и осуществлять контроль видимости репозиториев, выдавать исключительные права пользователям. Также можно объединять пользователей в команды и управлять ими. На пример команде Core Developers будут доступны все ветки в репозитории, а команде Testers только ветка Master.

P.s.

Я надеюсь данная статья была полезна для вас. Ставьте Like за встроенный редактор кода и подсветку синтаксиса))) Приятного кодинга!

« Л.Е.Т.О. 2017 Расставим точки над .NET Core и .NET Standard »

Свой GitLab сервер — KAZARIN OnLine

Доброго времени суток, коллеги.

На протяжении уже полутора лет работаю в области, которую сейчас принято называть DevOps, поэтому решил начать делиться некоторыми знаниями и наработками. Наработки будут на базе моих личных фриланс проектов, тк про основное место деятельности лучше не упоминать — бумажки там всякие подписаны и пр)

Итак, о чем будет эта статья — она будет о том, как организовать свой собственный современный Git сервер внутри команды/компании. Почем так важно иметь свой сервер, почему бы например не воспользоваться GitLab облаком, Github, Bitbucket и иже с ними?

Во первых — у проекта могут быть свои требования безопасности и приватности, скажем -не пользоваться сторонними сервисами

Во вторых — на бесплатных тарифах ест куча ограничений, тот же GitHub только недавно ввел бесплатные приватные репозитории, однако все подобные решения идут с ограничениями так или иначе (как минимум на число участников)

В третьих — если вы даже покупаете платный тариф, цена там идет за пользователя — то есть резкое расширения команды ударит по вашему кошельку, в то же время стоимость какой-нибудь vds у Hetzner или аналогичных товарищей в месяц будет дешевле самого простого тарифа у облачных репозиториев.

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

Я думаю этих причин уже достаточно! Да, я согласен — есть моменты где стоит пойти и купить услугу или хватит бесплатного тарифа, но есть и ситуации описанные выше.

Итак, эта статья описывает простую установку и настройку Gitlab в связке с корпоративной Active Directory для авторизации и так же является предисловием для другой статьи ( по эксплуатации).

У многих системных администраторов наверняка зреет вопрос — «если я НЕ работаю в этой области, нужна ли мне эта хрень»? Я отвечу — да, нужна. Как минимум Вам стоит познакомиться с Git и существующими облачными решениями. Если вы в своей работе пишите какие-то скрипты, утилиты ( а вы должны, вы же администратор а не эникей — ваша работа в том числе автоматизировать свою деятельность а не просто кнопки жать), формируете конфиги для сервисов — то есть так или иначе работаете с чем-то в текстовом виде что стоит версионировать, Вам стоит начать использовать Git для себя а лучше в своей компании! Тут то вам и может пригодиться собственный Git сервер. И на мой взгляд, free opensource  версия Gitlab тут подойдет как нельзя кстати!

Если Вы разработчик или DevOps инженер — вы и так прекрасно знаете что это и зачем…

Gitlab это сервис, реализующий для нас систему контроля версий на базе популярного (стандарт де факто) движка и протокола git.

Подробнее что это такое и зачем- читайте в Википедии:

Мы используем версию Gitlab CE — Community Edition, она же бесплатная и свободно распространяемая. Ее можно поставить на свой хостинг и пользоваться. Что мы и используем. Подробнее о Gitlab CE: https://about.gitlab.com/pricing/self-managed/feature-comparison/

Проект, в котором мне пришлось «поднимать» свой Gitlab сервер, с моей же подачи использует Proxmox VE в качестве системы виртуализации поверх нескольких железных серверов. Вся серверная инфраструктура компании так или иначе представлена набором виртуальных машин. Под Gitlab была использована обычная виртуальная машина на базе Ubuntu x64.

Что касается Proxmox — Я использую опять же comunity edition версию, однако устанавливаю ее не из «коробочного дистибутива», а поверх debian (увы, поверх других дистрибутивов установка не поддерживается).

Что из себя представляет vm под GitLab:

[email protected]:~# uname -r 4.4.0-138-generic [email protected]:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial [email protected]:~# free -h total used free shared buff/cache available Память: 7,8G 1,6G 4,8G 86M 1,4G 5,8G Подкачка: 974M 364K 974M [email protected]:~# cat /proc/cpuinfo | grep name model name : Common KVM processor model name : Common KVM processor

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

[email protected]:~# uname -r

4.4.0-138-generic

 

[email protected]:~# lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 16.04.5 LTS

Release:        16.04

Codename:       xenial

 

[email protected]:~# free -h

              total        used        free      shared  buff/cache   available

Память:        7,8G        1,6G        4,8G         86M        1,4G        5,8G

Подкачка:        974M        364K        974M

 

[email protected]:~# cat /proc/cpuinfo | grep name

model name      : Common KVM processor

model name      : Common KVM processor

Да, Ubuntu не самая свежая как и ядро, однако статья написана на много позже развертывания системы… На тот момент 18.04 еще не вышла.

Рекомендуемые системные требования: https://docs.gitlab.com/ee/install/requirements.html#cpu

Опустим детали установки и настройки VM и гостевой ОС — тут все взрослые, думаю справитесь…

Установка самого gitlab:

apt-get update apt-get install ca-certificates curl openssh-server cd /tmp curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh bash /tmp/script.deb.sh apt-get install gitlab-ce vim /etc/gitlab/gitlab.rb # правим параметр external_url gitlab-ctl reconfigure

apt-get update

apt-get install ca-certificates curl openssh-server

cd /tmp

curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

bash /tmp/script.deb.sh

apt-get install gitlab-ce

 

vim /etc/gitlab/gitlab.rb  # правим параметр external_url

 

gitlab-ctl reconfigure

Небольшой тюнинг ОС — Настройка ssh сервера чтобы без ключа не ходили! («…а то ходют тут всякие…» (с) )

sed -i ‘s/PermitRootLogin yes/PermitRootLogin no/g’ /etc/ssh/sshd_config sed -i ‘s/PermitRootLogin without-password/PermitRootLogin no/g’ /etc/ssh/sshd_config service ssh reload

sed -i ‘s/PermitRootLogin yes/PermitRootLogin no/g’ /etc/ssh/sshd_config

sed -i ‘s/PermitRootLogin without-password/PermitRootLogin no/g’ /etc/ssh/sshd_config

service ssh reload

Все, Gitlab установлен!

Авторизация через AD — делаем для gitlab учетку в AD и начинаем интеграцию:

vim /etc/gitlab/gitlab.rb gitlab_rails[‘ldap_enabled’] = true gitlab_rails[‘ldap_servers’] = YAML.load &lt;&lt;-‘EOS’ main: label: ‘LDAP’ host: ‘FQDN ВАШЕГО КОНТРОЛЛЕРА ДОМЕНА’ port: 389 uid: ‘sAMAccountName’ method: ‘plain’ bind_dn: ‘CN=GITUSER,OU=ServiceUsers,OU=*OU где искать пользователей*,DC=*имя-*,DC=*-вашего-,DC=*-домена*’ password: ‘PASSWORD’ timeout: 10 active_directory: true allow_username_or_email_login: false block_auto_created_users: false base: ‘OU=*OU где искать пользователей*,DC=*имя-*,DC=*-вашего-,DC=*-домена*’ user_filter: ‘(memberof=CN=gitlab_users,OU=AccessGroups,OU=*OU где искать пользователей*,DC=*имя-*,DC=*-вашего-,DC=*-домена*)’ EOS

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

vim /etc/gitlab/gitlab.rb

 

gitlab_rails[‘ldap_enabled’] = true

gitlab_rails[‘ldap_servers’] = YAML.load &lt;&lt;-‘EOS’

   main:

     label: ‘LDAP’

     host: ‘FQDN ВАШЕГО КОНТРОЛЛЕРА ДОМЕНА’

     port: 389

     uid: ‘sAMAccountName’

     method: ‘plain’

     bind_dn: ‘CN=GITUSER,OU=ServiceUsers,OU=*OU где искать пользователей*,DC=*имя-*,DC=*-вашего-,DC=*-домена*’

     password: ‘PASSWORD’

     timeout: 10

     active_directory: true

     allow_username_or_email_login: false

     block_auto_created_users: false

     base: ‘OU=*OU где искать пользователей*,DC=*имя-*,DC=*-вашего-,DC=*-домена*’

     user_filter: ‘(memberof=CN=gitlab_users,OU=AccessGroups,OU=*OU где искать пользователей*,DC=*имя-*,DC=*-вашего-,DC=*-домена*)’

EOS

Небольшое отступление с комментариями:

  1. Для gitlab был создан пользователь GITUSER с паролем PASSWORD в структуре OU домена «OU=ServiceUsers» (‘CN=GITUSER,OU=ServiceUsers,OU=*OU где искать пользователей*,DC=*имя-*,DC=*-вашего-,DC=*-домена*’)
  2. Пользователь этот был лишен всяческих доменных привилегий путем удаления из группы «пользователи домена» ( для этого создаете любую группу пустышку, добавляете пользователя в нее, делаете эту группу для него первичной и удаляете все лишние из настроек пользователя)
  3. Использован фильтр ( чтобы не все доменные пользователи могли логиниться) — по членству в группе  «gitlab_users» из OU AccessGroups (таковые были созданы). В итоге те, кто входит в эту группу- могут и в Gitlab (user_filter: ‘(memberof=CN=gitlab_users,OU=AccessGroups,OU=*OU где искать пользователей*,DC=*имя-*,DC=*-вашего-,DC=*-домена*)’)

После добавления этого нужно сделать 3 действия:

  1. gitlab-ctl reconfigure — реконфигурируем гитлаб. должно пройти без ошибок

  2. gitlab-rake gitlab:ldap:check — проверим работу ldap подключения. Должно пройти без ошибок и показать только те учетки, которые могут авторизоваться (входят в соответствующую группу в AD).

  3. перезагрузить виртуалку. Ну или перезапустить сервис gitlab (gitlab-ctl restart). у меня без этого в веб интерфейсе не появлялась вкладка. после перезапуска сервиса нужно подождать немного, пока не переподнимется сервер приложений а то nginx отдает 502

Потом выключаем возможность самостоятельной регистрации в сервисе (sign-up)

Admin Area &gt; Settings &gt; Sign-up Restrictions — убрать галочку с Sign-Up enabled

Admin Area &gt; Settings &gt; Sign-up Restrictions — убрать галочку с Sign-Up enabled

Первичная настройка завершена- дальше только настройка логики через веб интерфейс!

П.С. Особо хочу отметить — CE версия не умеет матчить в базу группы из AD. Поэтому кто там есть кто (юзер, админ и пр) — придется вручную определять внутри самого gitlab. При первом логине AD пользователя, создается локальный матчинг в базе пользователей Gitlab — подтягивается логи, фио, имейл, пароль и пр. После этого через админку самого gitlab юзера можно запихивать в группу.

Оговорюсь сразу — исторически сложилось так, что местом хранения резервных копий в этом проекте является Windows File share ( Виндовая файлопомойка — говоря по русски). Отказываться от этого решения никто не хотел, моей задачей было его поддержать. В Вашем случае коллеги, можно выбрать что угодно иное!

Резервное копирование устроено просто:

  1. На файлсервере, выполняющем роль хранилища бекапов сделана файлшара, специально под git сервер

  2. На самом сервере установлен veeam agent for linux для бекапа самой виртуалки «на горячую» — на случай краха сервера
  3. Плюс сделан скрипт который бекапит конфиги и данные gitlab на случай если вируталка останется живой но пострадают данные (например в результате обновления)

Файл шара:

Хранение бекапов:

Настройка бекапов

В gitlab уже встроен функционал для создания резервных копий: https://docs.gitlab.com/ee/raketasks/backup_restore.html

По сути, используемый мною ( и написанный) скрипт является не более чем оберткой, вызывающей команду:

/usr/bin/gitlab-rake gitlab:backup:create STRATEGY=copy

/usr/bin/gitlab-rake gitlab:backup:create STRATEGY=copy

плюс выполняющий дополнительные действия.
Конфигурация самого gitlab движка для создания бекапов так, как надо нам (файл /etc/gitlab/gitlab.rb):

gitlab_rails[‘backup_upload_connection’] = { :provider =&gt; ‘Local’, :local_root =&gt; ‘/home/backup’ } # The directory inside the mounted folder to copy backups to # Use ‘.’ to store them in the root directory gitlab_rails[‘backup_upload_remote_directory’] = ‘gitlab_backups’ gitlab_rails[‘backup_archive_permissions’] = 0644

gitlab_rails[‘backup_upload_connection’] = {

   :provider =&gt; ‘Local’,

   :local_root =&gt; ‘/home/backup’

}

 

# The directory inside the mounted folder to copy backups to

# Use ‘.’ to store them in the root directory

gitlab_rails[‘backup_upload_remote_directory’] = ‘gitlab_backups’

gitlab_rails[‘backup_archive_permissions’] = 0644

Скрипт лежит по пути:

[email protected]:~# ls -l /home/scripts/git_backup.sh -rwxr-xr-x 1 root root 3961 ноя 4 17:51 /home/scripts/git_backup.sh

[email protected]:~# ls -l /home/scripts/git_backup.sh

-rwxr-xr-x 1 root root 3961 ноя  4 17:51 /home/scripts/git_backup.sh

и запускается cron задачей (уж простите но логины, пароли и прочее я тут подтер)

[email protected]:~# crontab -l # резервное копирование данных гитлаба 0 1 * * * /home/scripts/git_backup.sh gitlab /etc/gitlab /home/backup //win-fs01.*имя сервера*/git/data-backup (backup USER) (backup password) &amp;&gt;/var/log/git-backup.log

[email protected]:~# crontab -l

 

# резервное копирование данных гитлаба

0 1 * * * /home/scripts/git_backup.sh gitlab /etc/gitlab /home/backup //win-fs01.*имя сервера*/git/data-backup (backup USER) (backup password) &amp;&gt;/var/log/git-backup.log

Лог бекапа выглядит таким образом:

[email protected]:~# cat /var/log/git-backup.log Starting backup of [/etc/gitlab] folder to [//win-fs01.*имя сервера*/git/data-backup] * [Mount smb share] — Done! * [Test write access] — Done! * [Backup config files] — Done! * [Test backup archive] — Done! Dumping database … Dumping PostgreSQL database gitlabhq_production … [DONE] done Dumping repositories … done Dumping uploads … done Dumping builds … done Dumping artifacts … done Dumping pages … done Dumping lfs objects … done Dumping container registry images … [DISABLED] Creating backup archive: 1541357698_2018_11_04_11.4.4_gitlab_backup.tar … done Uploading backup archive to remote storage gitlab_backups … done Deleting tmp directories … done done done done done done done done Deleting old backups … skipping * [Backup GitLab data via internal backup tool] — Done! * [Check and delete old backups] — Done! * [Unmount smb share] — Done! : backup job [gitlab] done successfully.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

[email protected]:~# cat /var/log/git-backup.log

Starting backup of [/etc/gitlab] folder to [//win-fs01.*имя сервера*/git/data-backup]

* [Mount smb share] — Done!

* [Test write access] — Done!

* [Backup config files] — Done!

* [Test backup archive] — Done!

Dumping database …

Dumping PostgreSQL database gitlabhq_production … [DONE]

done

Dumping repositories …

done

Dumping uploads …

done

Dumping builds …

done

Dumping artifacts …

done

Dumping pages …

done

Dumping lfs objects …

done

Dumping container registry images …

[DISABLED]

Creating backup archive: 1541357698_2018_11_04_11.4.4_gitlab_backup.tar … done

Uploading backup archive to remote storage gitlab_backups … done

Deleting tmp directories … done

done

done

done

done

done

done

done

Deleting old backups … skipping

* [Backup GitLab data via internal backup tool] — Done!

* [Check and delete old backups] — Done!

* [Unmount smb share] — Done!

: backup job [gitlab] done successfully.

Текст скрипта:

#!/bin/bash # ### Description: Script for static files backup. ### This version is Ubuntu server 16.04 compatible. ### Version: 0.1 ### Written by: Kirill Kazarin, Russia, SPB, 06-2018 — [email protected] ### Usage: bash *scriptname* task_name backup_source_dir mount_folder smb_share_destination smb_user smb_password ### Example: bash file_backup.sh wiki /home/data /home/backup //192.168.100.1/backup_test kirill Qwerty.123 TASK_NAME=»$1″ SOURCE_DIR=»$2″ MOUNT_DIR=»$3″ SMB_SHARE=»$4″ SMB_USER=»$5″ SMB_PASSWD=»$6″ LOG_FILE=»backup.log» BACKUP_DATE=$(date +»%m-%d-%y») BACKUP_FILE=»$MOUNT_DIR»/cfg/etc_»$TASK_NAME»-backup-«$BACKUP_DATE».tar.gz BACKUP_AGE=7 # delete files older that this value ## check result of operation operation_result() { # arguments: # $1 — return code # $2 — action name if [ ! «$1″ -eq 0 ]; then printf » * There was a problem during [%s] \nSee [%s] for more information!\n» «$2» «$LOG_FILE» printf «%s: backup job %s failed.\n» «$BACKUP_DATE» «$TASK_NAME» >> «$LOG_FILE» exit 1 fi printf » * [%s] — Done!\n» «$2» | tee -a «$LOG_FILE» } ## Check that script running with root privileges if [ «$EUID» -ne 0 ]; then printf «Use root account for backup! \n» exit 1 fi ## Check that user don’t forget about all arguments if [ «$#» -ne 6 ]; then printf «Illegal number of parameters \nParameters: task_name, source_directory, mount_point, smb_share_addr, smb_user, smb_password!\n» exit 1 else printf «Starting backup of [%s] folder to [%s]\n» «$SOURCE_DIR» «$SMB_SHARE» | tee -a «$LOG_FILE» fi ## Check if a source (backup) directory does not exist if [ ! -d «$SOURCE_DIR» ] then printf «Directory [%s] DOES NOT exists!\n» «$SOURCE_DIR» | tee -a «$LOG_FILE» exit 1 fi ## Checking that cifs-utils package installed DEP=»$(which mount.cifs | wc -l)» if [ «$DEP» -ne 1 ]; then printf » * cifs-utils package not installed!\n» | tee -a «$LOG_FILE» exit 1 fi ## Check that smb share already mounted. If not — mount it! if [[ $(findmnt -M «$MOUNT_DIR») ]]; then printf » * [%s] already mounted, continue…\n» «$MOUNT_DIR» | tee -a «$LOG_FILE» else ## Mount smb share for backup mount -t cifs «$SMB_SHARE» «$MOUNT_DIR» —verbose -o username=»$SMB_USER»,password=»$SMB_PASSWD»,uid=git,file_mode=0660,dir_mode=0775&>> «$LOG_FILE» operation_result $? «Mount smb share» fi ## Check that we can write into this folder and delete this file echo «Test_1234567890_string.» &>> «$LOG_FILE» > «$MOUNT_DIR»/test.txt \ && rm «$MOUNT_DIR»/test.txt &>> «$LOG_FILE» operation_result $? «Test write access» ## start backup process tar -czf «$BACKUP_FILE» «$SOURCE_DIR» &>> «$LOG_FILE» operation_result $? «Backup config files» ## check archive after backup tar tzf «$BACKUP_FILE» &> /dev/nul if [ ! «$?» -eq 0 ]; then printf » * [Test backup archive] — failed!\n» | tee -a «$LOG_FILE» ## Unmount smb share umount «$MOUNT_DIR» &>> «$LOG_FILE» operation_result $? «Unmount smb share» exit 1 else printf » * [Test backup archive] — Done!\n» | tee -a «$LOG_FILE» fi ## Create gitlab backup /usr/bin/gitlab-rake gitlab:backup:create STRATEGY=copy | tee -a «$LOG_FILE» operation_result $? «Backup GitLab data via internal backup tool» ## Delete old backups find «$MOUNT_DIR» -mtime +»$BACKUP_AGE» -type f -delete &>> «$LOG_FILE» operation_result $? «Check and delete old backups» ## Unmount smb share umount «$MOUNT_DIR» &>> «$LOG_FILE» operation_result $? «Unmount smb share» ## writes results in log printf «%s: backup job [$TASK_NAME] done successfully.\n» | tee -a «$LOG_FILE» exit 0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

#!/bin/bash

#

### Description: Script for static files backup.

### This version is Ubuntu server 16.04 compatible.

### Version: 0.1

### Written by: Kirill Kazarin, Russia, SPB, 06-2018 — [email protected]

### Usage: bash *scriptname* task_name backup_source_dir mount_folder smb_share_destination smb_user smb_password

### Example: bash file_backup.sh wiki /home/data /home/backup //192.168.100.1/backup_test kirill Qwerty.123

 

TASK_NAME=»$1″

SOURCE_DIR=»$2″

MOUNT_DIR=»$3″

SMB_SHARE=»$4″

SMB_USER=»$5″

SMB_PASSWD=»$6″

LOG_FILE=»backup.log»

BACKUP_DATE=$(date +»%m-%d-%y»)

BACKUP_FILE=»$MOUNT_DIR»/cfg/etc_»$TASK_NAME»-backup-«$BACKUP_DATE».tar.gz

BACKUP_AGE=7 # delete files older that this value

 

## check result of operation

operation_result()

{

  # arguments:

  #   $1 — return code

  #   $2 — action name

 

  if [ ! «$1» -eq 0 ]; then

    printf » * There was a problem during [%s] \nSee [%s] for more information!\n» «$2» «$LOG_FILE»

    printf  «%s: backup job %s failed.\n» «$BACKUP_DATE» «$TASK_NAME» >> «$LOG_FILE»

    exit 1

  fi

  printf » * [%s] — Done!\n» «$2» | tee -a «$LOG_FILE»

}

 

## Check that script running with root privileges

if [ «$EUID» -ne 0 ]; then

  printf «Use root account for backup! \n»

  exit 1

fi

 

## Check that user don’t forget about all arguments

if [ «$#» -ne 6 ]; then

    printf «Illegal number of parameters \nParameters: task_name, source_directory, mount_point, smb_share_addr, smb_user, smb_password!\n»

    exit 1

  else

    printf «Starting backup of [%s] folder to [%s]\n» «$SOURCE_DIR» «$SMB_SHARE» | tee -a «$LOG_FILE»

fi

 

## Check if a source (backup) directory does not exist

if [ ! -d «$SOURCE_DIR» ]

then

   printf «Directory [%s] DOES NOT exists!\n» «$SOURCE_DIR» | tee -a «$LOG_FILE»

   exit 1

fi

 

 

## Checking that cifs-utils package installed

DEP=»$(which mount.cifs | wc -l)»

if [ «$DEP» -ne 1 ]; then

  printf » * cifs-utils package not installed!\n» | tee -a «$LOG_FILE»

  exit 1

fi

 

## Check that smb share already mounted. If not — mount it!

if [[ $(findmnt -M «$MOUNT_DIR») ]]; then

    printf » * [%s] already mounted, continue…\n» «$MOUNT_DIR» | tee -a «$LOG_FILE»

else

  ## Mount smb share for backup

  mount -t cifs «$SMB_SHARE» «$MOUNT_DIR» —verbose -o username=»$SMB_USER»,password=»$SMB_PASSWD»,uid=git,file_mode=0660,dir_mode=0775&>> «$LOG_FILE»

  operation_result $? «Mount smb share»

fi

 

## Check that we can write into this folder and delete this file

echo «Test_1234567890_string.» &>> «$LOG_FILE» > «$MOUNT_DIR»/test.txt \

  && rm «$MOUNT_DIR»/test.txt &>> «$LOG_FILE»

operation_result $? «Test write access»

 

## start backup process

tar -czf «$BACKUP_FILE» «$SOURCE_DIR» &>> «$LOG_FILE»

operation_result $? «Backup config files»

 

## check archive after backup

tar tzf «$BACKUP_FILE» &> /dev/nul

if [ ! «$?» -eq 0 ]; then

  printf » * [Test backup archive] — failed!\n» | tee -a «$LOG_FILE»

 

  ## Unmount smb share

  umount «$MOUNT_DIR»  &>> «$LOG_FILE»

  operation_result $? «Unmount smb share»

 

  exit 1

 

else

  printf » * [Test backup archive] — Done!\n» | tee -a «$LOG_FILE»

 

fi

 

## Create gitlab backup

/usr/bin/gitlab-rake gitlab:backup:create STRATEGY=copy | tee -a «$LOG_FILE»

operation_result $? «Backup GitLab data via internal backup tool»

 

## Delete old backups

find «$MOUNT_DIR» -mtime +»$BACKUP_AGE» -type f -delete  &>> «$LOG_FILE»

operation_result $? «Check and delete old backups»

 

## Unmount smb share

umount «$MOUNT_DIR»  &>> «$LOG_FILE»

operation_result $? «Unmount smb share»

 

## writes results in log

printf  «%s: backup job [$TASK_NAME] done successfully.\n» | tee -a «$LOG_FILE»

 

exit 0

Как видно из листинга, скрипт делает ряд шагов:

  • Проверяет все что нужно ему для работы ( права, установленное ПО, набор аргументов)
  • Проверяет не смонтирована ли уже файл-шара, если нет то монтирует ее иначе шаг пропускается
  • Тестируем возможность записать что-то на файл-шару
  • Делает своими средствами бекап конфигурации GitLab
  • Использует механизм Gitlab для резервного копирования
  • Удаляет старые бекапы ( по умолчанию все что старше 7 дней)
  • Размонтирует файл шару

Параллельно скрипт ведет полный лог действий.

Надеюсь статья была Вам полезна, коллеги!

 

Как настроить Git-сервер на Linux

Когда дело доходит до хостинга Git, у вас есть несколько доступных вариантов. GitHub, Gitlab и Bitbucket являются популярными решениями, но стоит рассмотреть возможность использования собственного Git-сервера.

Настройка Git Server позволяет вам создавать частные репозитории без ограничений бесплатных планов провайдеров.

В этой статье мы объясним, как настроить пустой сервер Git в Linux. Эта настройка хороша, если у вас мало репозиториев, а соавторы технически подкованы. В противном случае вам следует рассмотреть возможность установки самостоятельно размещенного git-приложения, такого как Gitea, Gogs или Gitlab.

Сервер Git может быть установлен на любой удаленной машине с Linux или даже в вашей локальной системе.

 

Первым шагом является установка Git на ваш сервер.

Если вы используете Debian или Ubuntu, обновите индекс локального пакета и установите git , выполнив следующие команды от имени пользователя sudo:

sudo apt update && sudo apt install git

 

Чтобы установить пакет git на серверах CentOS, введите:

sudo yum install git

 

Затем создайте нового пользователя, который будет управлять репозиториями Git:

sudo useradd -r -m -U -d /home/git -s /bin/bash git

 

Домашний каталог пользователя установлен в /home/git. Все репозитории будут храниться в этом каталоге. Мы не установили пароль для пользователя «git», вход в систему будет возможен только с использованием ключей ssh.

Переключитесь на пользователя «git» с помощью команды su:

sudo su - git

 

Выполните следующие команды, чтобы создать каталог SSH и установить правильные разрешения :

mkdir -p ~/.ssh && chmod 0700 ~/.ssh

 

Создайте файл с именем ~/.ssh/authorized_keys, который будет содержать ключи SSH авторизованных пользователей:

touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys

 

Вот и все. Настройка сервера завершена. Теперь вы готовы создать свой первый Git-репозиторий.

Запустите следующую команду, чтобы запустить новый пустой репозиторий:

git init --bare ~/projectname.git

 

Вы можете назвать каталог, как хотите. Важно создать репозиторий в домашнем каталоге пользователя «git».

Initialized empty Git repository in /home/git/projectname.git/

 

Чтобы иметь возможность отправлять локальные изменения git на сервер Git, вы должны добавить свой открытый SSH-ключ локального пользователя в файл authorized_keys удаленного пользователя «git» .

Если у вас уже есть пара ключей SSH, созданная в вашей локальной системе, вы можете отобразить открытый ключ, набрав:

cat ~/.ssh/id_rsa.pub

 

Вывод должен выглядеть примерно так:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

 

Если вы получаете сообщение об ошибке: No such file or directory, означающее, что у вас нет пары ключей SSH, созданной на вашем локальном компьютере.

Для создания новой пары ключей SSH используйте следующую команду:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

 

Скопируйте вывод catкоманды выше и вернитесь в консоль Git-сервера.

На сервере откройте текстовый редактор и вставьте в файл ~/.ssh/authorized_keys открытый ключ, скопированный с локального компьютера:

sudo nano /home/git/.ssh/authorized_keys

 

Весь текст открытого ключа должен быть в одной строке.

Мы предполагаем, что пакет Git уже установлен на вашем локальном компьютере. Если нет, установите его так же, как описано в предыдущих разделах.

Если у вас есть неверсированный проект, перейдите в каталог проекта. Если вы начинаете с нуля, создайте каталог проекта и перейдите к нему:

cd /path/to/local/project

 

Инициализировать репозиторий git:

git init .

 

Последний шаг – добавить git remote в ваш локальный репозиторий:

git remote add origin [email protected]_server_ip:projectname.git

 

Не забудьте заменить git_server_ip на ваше имя хоста Git-сервера или IP-адрес.

Чтобы убедиться, что все настроено правильно, создайте тестовый файл :

touch test_file

 

Добавьте изменения в область подготовки:

git add .

 

Зафиксируйте изменения:

git commit -m "descriptive message"

 

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

git push -u origin master

 

Если все настроено правильно, вывод должен выглядеть примерно так:

Counting objects: 3, done.
Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git_server_ip:projectname.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

 

Чтобы добавить нового соавтора, просто скопируйте его открытый SSH-ключ в файл ~/.ssh/authorized_keys пользователя «git» .

Вы можете использовать те же шаги для создания новых репозиториев. Важно отметить, что удаленный репозиторий должен существовать до того, как вы добавите git remote в свой локальный репозиторий.

 

В этой статье мы показали, как настроить свой собственный Git-сервер и создать репозитории.

Если вы столкнулись с проблемой или у вас есть отзыв, оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Свой Git сервер на Windows — aleksandr ● ru

В принципе все это легко нагуглить, но тем не менее опишу свой опыт. Итак, есть windows сервер (в моем случае Windows Server 2008, но все описанное ниже применимо ко всем windows), на этом севере работает некое веб-приложение, которое хочется коллективно развивать командой из нескольких человек. Идеи лучше чем Git в голову не пришло.

Подготовительный этап 

На сервере ставим и настраиваем SSH сервер (в моем случае это оказался Bitvise SSH Server, далее все настройки буду описывать относительно него).

Создаем пары public и private ключей для нужных пользователей, в настройках этих пользователей на SSH сервере добавляем им соответствующие public ключи и убеждаемся что разрешена авторизация по ключу.

Если требуется работать с Git из интернета, также пробрасываем соответствующий порт наружу, обычно это 22, но в моем случае получилось 222 по техническим причинам. Проверяем доступность сервера по SSH снаружи и возможность авторизации с ключом, PuTTY в помощь 🙂

Ставим собственно Git (в моем случае это msysgit). Народ предлагает ставить в короткий путь вроде C:/Git, но я ставил в каталог по-умолчанию, все работает. Через Git GUI создаем репозиторий, в моем случае это С:/Webroot/test-git.


Клиентская часть

В моем случае клиенты — тоже windows машины, на них потребуется Git (тот же msysgit) и клиент TurtoiseGit, в моем случае. На клиенте пытаемся склонировать наш репозиторий при помощи Git Clone, вводим урл

ssh://[email protected]:222/C:/Webroot/test-git 

где mylogin — это ваш логин для ssh, example.com:222 — адрес сервера и порт (не обязательно), C:/Webroot/test-git — полный путь к репозиторию.

Жмем ОК, ждем, получаем ошибку и отправляемся дальше настраивать сервер.

Настройка Git на сервере

Первым делом идем в переменные окружения (Компьютер -> Свойства -> Дополнительные параметры системы -> Переменные среды). В разделе системные переменные находим PATH и жмем изменить. Убеждаемся что там есть, а если нет, то добавляем три папки:

C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Git\libexec\git-core 

На всякий случай напомню, что Git у нас стоит в C:\Program Files (x86)\Git.

Теперь проверяем, что Git доступен. Либо пытаемся еще раз Git Clone на клиенте и получаем другую ошибку, либо заходим по ssh и говорим git прямо и текущей папки, получаем краткий хелп от гита. Если ругается на неизвестную команду, ищем ошибку на предыдущем шаге.

Теперь наша проблема (если посмотреть логи ssh сервера) заключается в том, что git-upload-pack на вход получает путь, обернутый в одинарные кавычки, и естественно, не работает. Нормального решения нет, но есть подпорки, например как описано здесь. Моя версия проделанного:

Создаем файл

C:\Program Files (x86)\Git\cmd\gitcmdhelper.sh 

прописываем в него

$*

Идем в настройки ssh сервера и для нужного пользователя (или группы) изменяем параметр Exec request prefix на

cmd.exe /c sh gitcmdhelper.sh 

ВНИМАНИЕ! после .sh есть пробел! Строка получается вот такая «cmd.exe /c sh gitcmdhelper.sh «, без пробела на конце не будет работать!

Замечание. Эта подпорка лишает вас возможности работать с путями в которых есть пробелы, в большинстве случаев это не критично, но все же.

В глобальном конфиге Git вносим следующие изменения (как советуют на хабре), правим C:\Program Files (x86)\Git\etc\gitconfig

[core]
symlinks = false
autocrlf = true
ignorecase = true
quotepath = false
[i18n]
commitencoding = cp1251
logoutputencoding = cp1251

И, о чудо! Оно теперь работает! Ну по крайней мере мне удалось сделать Pull, Commit и Push.

И последнее — хуки

Поскольку в git-e не принято пушить в основной рабочий репозиторий (для этого есть ряд причин, кому интересно, в гугль), то можно сделать bare-репозиторий, в который будут приходить все пуши,  а с помощью механизмов хуков изменения будет забирать рабочая копия.

Итак у нас есть bare-репозиторий C:\Webroot\test-git в который приходят все комиты и пуши, и рабочая копия C:\Webroot\test-git.production, на которую настроен document root сервера.

Рабочая копия должна быть «настроена на» bare-репозиторий, для этого в рабочей копии выполним команду

git remote add local C:/Webroot/test-git 

результатом станет добавление в  C:\Webroot\test-git.production\.git\config следующего

...
[remote "local"]
url = C:/Webroot/test-git
fetch = +refs/heads/*:refs/remotes/local/*  

Для того чтоб заработали хуки, нужно положить файл с названием действия в папку в bare-репозитории .git/hooks/, в нашем случае это будет

C:\Webroot\test-git\.git\hooks\post-receive

обычно там уже заложен post-receive.sample, его достаточно просто переименовать. А в сам файл вписываем следующее содержимое, которое после получения данных заставит рабочую копию сделать pull:

unset GIT_DIR
cd C:/Webroot/test-git.production
git pull local master

Таким образом мы будем корректно обновлять рабочую копию при каждом push-е в bare-репозиторий.

Вот пара полезных ссылок по теме:

P.S.

Поднимать Git на windows, по моему мнению, не самое лучшее решение, если есть возможность все же лучше это сделать на Linux.

Git — Book

2nd Edition (2014)

Download Ebook

The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com.>

    1. 1.1 О системе контроля версий
    2. 1.2 Краткая история Git
    3. 1.3 Основы Git
    4. 1.4 Командная строка
    5. 1.5 Установка Git
    6. 1.6 Первоначальная настройка Git
    7. 1.7 Как получить помощь?
    8. 1.8 Заключение
    1. 2.1 Создание Git-репозитория
    2. 2.2 Запись изменений в репозиторий
    3. 2.3 Просмотр истории коммитов
    4. 2.4 Операции отмены
    5. 2.5 Работа с удалёнными репозиториями
    6. 2.6 Работа с метками
    7. 2.7 Псевдонимы в Git
    8. 2.8 Заключение
  1. 3.

Git — книга

2-е издание (2014)

Загрузить электронную книгу

Вся книга Pro Git, написанная Скоттом Чаконом и Беном Штраубом и опубликованная Apress, доступна здесь. Все содержимое находится под лицензией Creative Commons Attribution Non Commercial Share Alike 3.0. Печатные версии книги доступны на Amazon.com.>

    1. 1.1 О контроле версий
    2. 1.2 Краткая история Git
    3. 1.3 Что такое Git?
    4. 1.4 Командная строка
    5. 1.5 Установка Git
    6. 1.6 Первоначальная настройка Git
    7. 1.7 Получать помощь
    8. 1,8 Резюме
    1. 2.1 Получение репозитория Git
    2. 2.2 Запись изменений в репозиторий
    3. 2.3 Просмотр истории фиксации
    4. 2.4 Отмена вещей
    5. 2,5 Работа с пультами
    6. 2,6 Теги
    7. 2,7 Псевдонимы Git
    8. 2,8 Резюме
    1. 3.1 Ветки в двух словах
    2. 3.2 Базовое ветвление и слияние
    3. 3.3 Управление филиалом
    4. 3,4 Ветвление рабочих процессов
    5. 3.5 Удаленные филиалы
    6. 3,6 Ребазинг
    7. 3,7 Резюме
    1. 4.1 Протоколы
    2. 4.2 Получение Git на сервере
    3. 4.3 Создание открытого ключа SSH
    4. 4.4 Настройка сервера
    5. 4.5 Git Daemon
    6. 4.6 Умный HTTP
    7. 4.7 GitWeb
    8. 4.8 GitLab
    9. 4.9 Сторонние варианты размещения
    10. 4.10 Резюме
    1. 5.1 Распределенные рабочие процессы
    2. 5.2 Вклад в проект
    3. 5.3 Сопровождение проекта
    4. 5,4 Резюме
    1. 6.1 Настройка и конфигурация учетной записи
    2. 6.2 Вклад в проект
    3. 6.3 Сопровождение проекта
    4. 6.4 Управление организацией
    5. 6.5 Создание сценариев на GitHub
    6. 6,6 Резюме
    1. 7.1 Выбор редакции
    2. 7.2
.

Git — книга

2-е издание (2014)

Загрузить электронную книгу

Вся книга Pro Git, написанная Скоттом Чаконом и Беном Штраубом и опубликованная Apress, доступна здесь. Все содержимое находится под лицензией Creative Commons Attribution Non Commercial Share Alike 3.0. Печатные версии книги доступны на Amazon.com.>

    1. 1.1 О контроле версий
    2. 1.2 Краткая история Git
    3. 1.3 Что такое Git?
    4. 1.4 Командная строка
    5. 1.5 Установка Git
    6. 1.6 Первоначальная настройка Git
    7. 1.7 Получать помощь
    8. 1,8 Резюме
    1. 2.1 Получение репозитория Git
    2. 2.2 Запись изменений в репозиторий
    3. 2.3 Просмотр истории фиксации
    4. 2.4 Отмена вещей
    5. 2,5 Работа с пультами
    6. 2,6 Теги
    7. 2,7 Псевдонимы Git
    8. 2,8 Резюме
    1. 3.1 Ветки в двух словах
    2. 3.2 Базовое ветвление и слияние
    3. 3.3 Управление филиалом
    4. 3,4 Ветвление рабочих процессов
    5. 3.5 Удаленные филиалы
    6. 3,6 Ребазинг
    7. 3,7 Резюме
    1. 4.1 Протоколы
    2. 4.2 Получение Git на сервере
    3. 4.3 Создание открытого ключа SSH
    4. 4.4 Настройка сервера
    5. 4.5 Git Daemon
    6. 4.6 Умный HTTP
    7. 4.7 GitWeb
    8. 4.8 GitLab
    9. 4.9 Сторонние варианты размещения
    10. 4.10 Резюме
    1. 5.1 Распределенные рабочие процессы
    2. 5.2 Вклад в проект
    3. 5.3 Сопровождение проекта
    4. 5,4 Резюме
    1. 6.1 Настройка и конфигурация учетной записи
    2. 6.2 Вклад в проект
    3. 6.3 Сопровождение проекта
    4. 6.4 Управление организацией
    5. 6.5 Создание сценариев на GitHub
    6. 6,6 Резюме
    1. 7.1 Выбор редакции
    2. 7.2
.

Git — книга

2-е издание (2014)

Загрузить электронную книгу

Вся книга Pro Git, написанная Скоттом Чаконом и Беном Штраубом и опубликованная Apress, доступна здесь. Все содержимое находится под лицензией Creative Commons Attribution Non Commercial Share Alike 3.0. Печатные версии книги доступны на Amazon.com.>

    1. 1.1 Il Controllo di Versione
    2. 1.2 Una Breve Storia di Git
    3. 1.3 Cos’é Git?
    4. 1.4 La riga di comando
    5. 1.5 Установка Git
    6. 1.6 Первоначальная настройка Git
    7. 1.7 Chiedere aiuto
    8. 1,8 Соммарио
    1. 2.1 Получение репозитория Git
    2. 2.2 Запись изменений в репозиторий
    3. 2.3 Просмотр истории фиксации
    4. 2.4 Отмена вещей
    5. 2,5 Работа с пультами
    6. 2,6 Теги
    7. 2,7 Псевдонимы Git
    8. 2,8 Резюме
    1. 3.1 Ветки в двух словах
    2. 3.2 Базовое ветвление и слияние
    3. 3.3 Управление филиалом
    4. 3,4 Ветвление рабочих процессов
    5. 3.5 Удаленные филиалы
    6. 3,6 Ребазинг
    7. 3,7 Резюме
    1. 4.1 Протоколы
    2. 4.2 Получение Git на сервере
    3. 4.3 Создание открытого ключа SSH
    4. 4.4 Настройка сервера
    5. 4.5 Git Daemon
    6. 4.6 Умный HTTP
    7. 4.7 GitWeb
    8. 4.8 GitLab
    9. 4.9 Сторонние варианты размещения
    10. 4.10 Резюме
    1. 5.1 Распределенные рабочие процессы
    2. 5.2 Вклад в проект
    3. 5.3
.

Настройка Git — GitHub Docs

Документы GitHub
  • Все продукты
  • GitHub.com
    • Начиная
      • Быстрый старт
        • Настроить Git
        • Создать репо
        • Форк репо
        • Быть социальным
      • Изучение GitHub
        • Продукты GitHub
        • Изучение выпусков раннего доступа с предварительным просмотром функций
        • Типы аккаунтов GitHub
        • Часто задаваемые вопросы об изменениях в планах GitHub
        • GitHub CLI
        • GitHub Desktop
        • GitHub для мобильных устройств
        • Разрешения на доступ на GitHub
        • Глоссарий GitHub
        • Шпаргалка по Git
        • Учебные ресурсы Git и GitHub
      • Регистрация на GitHub
        • Регистрация новой учетной записи GitHub
        • Подтверждение адреса электронной почты
        • Настройка пробной версии GitHub Enterprise Cloud
        • Настройка пробной версии GitHub Enterprise Server
      • Изучение проектов на GitHub
        • Поиск способов внести свой вклад в открытый исходный код на GitHub
        • Сохранение репозиториев со звездочками
.
Виртуальный сервер на роутере: Что значит виртуальный сервер на роутере? Обсуждаем виртуальный сервер для сайта.

Виртуальный сервер на роутере: Что значит виртуальный сервер на роутере? Обсуждаем виртуальный сервер для сайта.

Что значит виртуальный сервер на роутере? Обсуждаем виртуальный сервер для сайта.

Понятий о серверах в сети множество, и каждый пользователь трактует их по собственному пониманию. Сразу стоит уточнить: когда говорят о виртуальных серверах, то говорят о серверах, предлагаемых провайдерами. Их активно продают, чтобы пользователи смогли вести собственный хостинг. Провайдеры имеют реальные сервера, которые посредством технологий виртуализации разделяются на сервера виртуальные. Приобретя виртуальный сервер пользователь, как его владелец волен размещать на нем любую информацию. Часто, размещают именно сайты.

Когда предлагают приобрести, выделенный виртуальный сервер что подразумевают?

Любой виртуальный сервер является выделенным. То есть, пользователь получает в единоличное распоряжение оплаченный ним сервер. Виртуальный сервер всегда изолирован, потому и называется выделенным. Доступ к серверу имеет только его владелец. Если на сервере соседствующем происходят сбои, то эти сбои не повлияют на работу других серверов. Этим они обязаны именно своей обособленности.

Если произносится словосочетание виртуальный локальный сервер, что надо понимать?

Когда к серверу виртуальному присоединяется слово локальный, то это значит, что речь все еще идет о сервере выделенном. Локальными или выделенными сервера называют потому, что они имеют собственную конфигурацию, характеристики, и собственную систему файлов. Локальный сервер имеет, собственный IP адрес. Присутствуют все необходимые порты, включая доступ root.

Что значит виртуальный сервер на роутере?

Это понятие говорит только о способе маршрутизации. Часто, пользователи используют для интернет соединения маршрутизаторы, или если больше нравится роутеры. Включая сервер на роутере, пользователь может сделать все свои машины доступными из сети. Роутеры перенаправляют получаемый на один из портов трафик на выбранные пользователем порты.

Что следует понимать под понятием виртуальный прокси сервер

Посредством прокси — серверов пользователи получают молниеносную информацию из сети. На виртуальный сервер возложена защита сети. Вся запрашиваемая информация сохраняется на серверном локальном диске, и если она потребуется пользователю снова, то сервер ее быстро предоставляет, уже не обращаясь за ее получением в сеть. Удобство виртуального сервера прокси очевидно. Пользователю не потребуется дорогостоящее оборудование. Можно пользоваться арендованным сервером.

Настройка DMZ Хоста На Роутере за 5 Минут

В этой статье я расскажу, что такое DMZ хост или сервер на роутере. А также как открыть порты с помощью функции DMZ. Раз вы уже читаете эту статью, то наверняка вы уже знаете, что такое виртуальный сервер и для чего это нужно делать. Если нет, то читаем тут. Если коротко — то открыть порт на роутере нужно в том случае, когда вы с компьютера обмениваетесь файлами с другими пользователями интернета. Например, для работы запущенного на домашнем ПК FTP-сервера, либо торрент-клиента, либо сетевой игры. В этой статье мы научимся открывать сразу все порты при помощи так называемого DMZ-хоста на примере роутеров TP-Link, Asus, Zyxel Keenetic и Tenda

DMZ — что это в роутере?

DMZ («демилиторизованная зона») — это технология, с помощью которой можно открыть абсолютно все порты на одном конкретном устройстве

Как использовать сервер DMZ на маршрутизаторе?

С помощью описанного выше методы мы с помощью роутера открываем лишь один порт для одного устройства в сети. Через DMZ-хост можно открыть сразу несколько портов. Однако, делать это нужно лишь в крайних случаях, так как в таком случае устройство оказывается абсолютно открытым для доступа из интернета. Однако иногда это делать необходимо, например, для настроек просмотра камер видеонаблюдения, подключенных через регистратор, или для организации игрового сервера.

Приведу пример — часто при подключении регистратора видеонаблюдения по умолчанию используется порт 80 и поменять его в настройках просто невозможно. В то же самое время на маршрутизаторе этот порт также занят и перенаправить его не получится. В этом случае на помощь приходит DMZ-хост на роутере.

Виртуальный сервер DMZ на роутере Tenda

В wifi роутерах Tenda функция открытия портов называется «Виртуальный сервер». В админке ее можно найти в разделе «Дополнительные настройки — Виртуальный сервер»

Но сначала необходимо назначить статический IP адрес для компьютера, на который вы хотите сделать перенаправление портов, иначе при следующем включении по DHCP роутер может присвоить ему другой адрес и все наши настройки собьются. Как это сделать, читайте тут.

Когда за компьютером зарезервирован определенный адрес, вписываем его в разделе «Виртуальный сервер» в ячейке «Внутренний IP адрес».

И далее заполняем:

  • Порт локальной сети — выбираем из списка наиболее подходящий под наши нужды из выпадающего списка — ftp, http, pop3, SMTP и так далее…
  • WAN порт — указываем тот же, что и в предыдущем случае
  • Протокол — ставим TCP&UDP

И нажимаем кнопку «Добавить»

После сохранения настроек, порт через роутер Tenda откроется и мы сможем без проблем предоставить доступ из интернета к тем или иным ресурсам на компьютере.

Активация DMZ хоста на wifi роутере Tenda находится в «Дополнительных настройках». Здесь все просто — переводим тумблер во включенное положение и вписываем IP адрес компьютера или иного устройства, на котором мы хотим открыть все порты

Настройка DMZ на роутере TP-Link

Функция DMZ на роутере TP-Link в новой версии веб-интерфейса находится в «Дополнительных настройках» в разделе «NAT переадресация — DMZ». Здесь все просто — включаем его галочкой и указываем IP адрес компьютера, на котором откроются все порты.

DMZ-хост на роутере Asus

На маршрутизаторе Asus настройка DMZ хоста идентична, а находится она в основном разделе меню «Интернет»

Настройка DMZ Zyxel Keenetic

На роутере Zyxel Keenetic тоже имеется подобная функция, но она не называется DMZ, а скрыта в разделе «Безопасность — Межсетевой экран».

Сначала выбираем здесь тип сети, в которую хотим разрешить доступ — это Home Network (Домашняя сеть)
И далее нажимаем на кнопку «Добавить правило»

Далее оставляем все по умолчанию, кроме одного пункта — «IP адрес назначения». Здесь нужно выбрать «Один» и в текстовом поле написать IP адрес компьютера, на котором надо открыть все порты. Обратите внимание, что в графе «Протокол» сейчас выбираем TCP.

Делаем все, как на картинке ниже:

И жмем на кнопку «Сохранить». После этого добавляем еще одно правило — точно такое же, только для протокола «UDP». В итоге должна получиться вот такая картина

На обновленной линейке Keenetic DMZ настраивается тоже в рубрике «Межсетевой экран». Жмем тут «Добавить правило»

Включаем его галочкой и прописываем все то же самое, как и в старой версии Zyxel

Для расширения кругозора также советую прочитать инструкцию от компании Зайксель.

Видео по настройке DMZ Host на маршрутизаторе


Спасибо!Не помогло

Лучшие предложения

Александр

Специалист по беспроводным сетям, компьютерной технике и системам видеонаблюдения. Выпускник образовательного центра при МГТУ им. Баумана в Москве. Автор видеокурса «Все секреты Wi-Fi»

Задать вопрос

Открытие портов на примере роутера TP-LINK WR841N / Песочница / Хабр

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

Хорошей альтернативой для этого может стать собственный ПК. Тем, у кого доступ в всемирную паутину напрямую, повезло больше — им не нужно играться с портами, т.к. большинство портов открыты.

Но иногда случается так, что дома несколько ПК, ноутбуков и прочих клиентов. Обеспечить всех Интернетом может роутер.

Однако, купив роутер, пользователь сталкивается с большой проблемой — изначально на роутерах порты закрыты, то есть человек может выходить в сеть, но к нему просто так не зайти.

Раз, два, три, Поехали!

Зайдём в веб-интерфейс управления нашим роутером. Обычно это 192.168.1.1, 192.168.0.1 либо 192.168.0.0. Если нет — узнайте на сайте производителя либо в инструкции к нему.

1. Первым делом назначим нашему девайсу постоянный ip на роутере. Это нужно для того, чтобы при каждом включении роутер смог найти и дать нашему ПК отдельный ip.
(В основном это используется при настройке обычного сервера для сайтов и, поскольку, инструкция универсальная, то этот пункт любители онлайн-игр пропускают)

Заходим в DHCP => Address Reservation. Клацаем на add new => В поле MAC Address вписываем MAC нашего устройства. А в IP наш текущий локальный ip
(Для этого, не отходя от кухни, зайдём в DHCP Client List и найдём свой ip в локальной сети. Для тех, кто не знает — откройте «Пуск» => Выполнить => наберите cmd => введите ipconfig и нажмите Enter. В колонке Подключение по локальной сети — Ethernet Adapter есть пункт ip адрес. Он то нам и нужен))

2. И опять же, любители онлайн-игр, Вы можете пропустить этот пункт.

Настроим статические порты для веб-серверов. Клацаем на пункт Forwarding => Virtual Servers.
Вписываем одинаковые Service Port и Internal Port. Это номер того порта, который хотим открыть. Сюда же, в IP Address впишем локальный IP.

Внимание! Если Вы хотите открыть порт 80, для начала перекиньте роутер на другой порт(Например 8888) в пункте Security => Remote Management => Web Management Port

3. О да, теперь любители онлайн-игр могут это читать.

Для начала проверим, доступен ли порт вообще. Например стандартный для minecraft порт 25565 у меня закрыт системой, поэтому я использовал 25575.

Для проверки вытяните кабель провайдера из роутера, вставьте напрямую в ПК.
Зайдите на сайт 2ip.ru, введите нужный порт и нажмите «Проверить». Если написано «Открыт», идём дальше.

4. Открытие портов для игровых серверов.

Переходим в Forwarding => Port Triggering.
Trigger Port равен порту который нужно открыть, его запишем и в Incoming Ports.

5. Перезагружаем роутер

Включаем сервер, заходим на 2ip.ru, если открыт — поздравляем, у Вас получилось!

Информационные технологии, интернет, веб программирование, IT, Hi-Tech, …

Приветствую, уважаемые посетители okITgo.ru! В продолжении описания беспроводного маршрутизатора D-Link DIR-615 расскажу о более продвинутых настройках оного. Сначала мы рассмотрим конфигурацию виртуального сервера, затем настройку перенаправления портов. Далее обсудим, как задать правила приложений и сконфигурировать механизм QoS (Качество Сервиса), который может повысить производительность многофункциональной сети, используемой для различных целей – просмотра веб сайтов, использования электронной почты и мессенджеров мгновенных сообщений, видео звонков, онлайн игр и др. И наконец я опишу конфигурацию сетевых фильтров и контроля доступа.

Виртуальный Сервер

DIR-615 может быть сконфигурирован в качестве виртуального сервера, так что удаленные пользователи, обращающиеся к Веб или FTP службам через публичный IP адрес, могут автоматически перенаправляться на локальные серверы в LAN.

Функция брандмауэра DIR-615 отфильтровывает нераспознанные пакеты для защиты вашей локальной сети (LAN), так что все компьютеры, подключенные к сети через DIR-615, невидимы для внешнего мира. Если Вы хотите, можете сделать некоторые из LAN компьютеров доступными из Интернета, включив Виртуальный Сервер. В зависимости от запрашиваемой службы, DIR-615 перенаправляет внешний запрос службы на соответствующий сервер внутри сети LAN.

DIR-615 также способен на портовое перенаправление, т.е. входящий трафик, предназначенный для конкретного порта, может перенаправляться на соответствующий порт на компьютере сервера.

Каждая созданная виртуальная служба будет перечислена внизу экрана в Virtual Servers List. В таблице уже есть несколько предопределенных виртуальных служб. Вы можете использовать их, для чего необходимо включить необходимую виртуальную службу и назначить IP сервера, который следует использовать для конкретной виртуальной службы.

Список портов распространенных приложений Вы найдете на сайте http://support.dlink.com/faq/view.asp?prod_id=1191.

Данный список позволяет Вам открыть один порт. Если Вы хотите открыть диапазон портов, смотрите как это сделать ниже (раздел Портовое Перенаправление).

Name:

Введите имя для правила или выберите приложение из раскрывающегося меню. Выберите приложение и кликните

IP Address:

Введите IP адрес компьютера в вашей локальной сети, который Вы хотите сделать принимающим входящую службу. Если ваш компьютер получает IP адрес автоматически от маршрутизатора (DHCP), этот компьютер будет перечислен в раскрывающемся меню “Computer Name”. Выберите имя компьютера и кликните

Private Port/ Public Port:

Введите порт, который Вы хотите открыть, в качестве Частного Порта и в качестве Общего Порта. Частный и общий порты обычно одни и те же. Общий порт виден со стороны Интернета, а частный порт является портом, используемым приложением на компьютере внутри вашей локальной сети.

Protocol Type:

Выберите TCP, UDP, Both or Other из раскрывающегося меню.

Inbound Filter:

Выберите Allow All (наиболее распространенная опция) или созданный Входной фильтр. Вы можете создавать ваши собственные входные фильтры на странице Advanced > Inbound Filter.

Расписание:

Расписание времени, когда Правило Виртуального Сервера будет включено. Расписание может быть установлено в Always, что позволит конкретной службе быть всегда включенной. Вы можете также задать свое собственное время в разделе Tools > Schedules.


Портовое Перенаправление

Эта функция позволит Вам открыть одиночный порт или диапазон портов.

Name:

Введите имя для правила или выберите приложение из раскрывающегося меню. Выберите приложение и кликните

IP Address:

Введите IP адрес компьютера в вашей локальной сети, который Вы хотите сделать принимающим входящую службу. Если ваш компьютер получает IP адрес автоматически от маршрутизатора (DHCP), он будет указан в раскрывающемся меню “Computer Name”. Выберите нужный компьютер и кликните

TCP/UDP:

Введите TCP и/или UDP порт или порты, которые Вы хотите открыть. Вы можете ввести одиночный порт или диапазон портов. Разделяйте порты через запятую.
Пример: 24,1009,3000-4000

Inbound Filter:

Выберите Allow All (наиболее распространенная опция) или создайте Входной фильтр. Вы можете создавать ваши собственные входные фильтры на странице Advanced > Inbound Filter.

Schedule:

Расписание времени, когда Правило Виртуального Сервера будет включено. Расписание может быть установлено в Always, что позволит конкретной службе быть всегда включенной. Вы можете также задать свое собственное время в разделе Tools > Schedules.


Правила Приложений

Некоторые приложения требуют нескольких подключений, например Интернет игры, видео конференции, Интернет телефония и другие. Эти приложения имеют сложности при работе через NAT. Специальные Программы заставляют некоторые из подобных приложений работать с DIR-615. Если Вам потребуется запускать приложения, которые требуют нескольких соединений, укажите порт, обычно ассоциированный с приложением, в поле “Trigger Port”, выберите тип протокола TCP или UDP, затем введите брандмауэрные (публичные) порты, ассоциированные с портом триггера, чтобы открыть их для входящего трафика.

DIR-615 предоставляет некоторые предопределенные приложения в таблице внизу веб страницы. Выберите приложение, которое Вы хотите использовать, и включите его.

Name:

Введите имя для правила. Вы можете выбрать предопределенное приложение из раскрывающегося меню и кликнуть

Trigger:

Этот порт используется, чтобы запускать приложение. Это может быть одиночный порт или диапазон портов.

Traffic Type:

Выберите протокол триггерного порта (TCP, UDP или Both).

Firewall:

Это номер порта со Стороны Интернета, который будет использоваться для доступа к приложению. Вы можете определить одиночный порт или диапазон портов. Используйте запятую, чтобы добавить несколько портов или диапазонов портов.

Traffic Type:

Выберите протокол брандмауэрного порта (TCP, UDP или Any).

Schedule:

Расписание времени, когда Правило Приложения будет активно. Расписание может быть установлено в Always, что позволит конкретной службе всегда быть включенной. Вы можете создавать ваши собственные расписания в разделе Tools > Schedules.


Механизм QoS

Опция QoS Engine помогает улучшить вашу сетевую производительность, назначая приоритеты приложениям. По умолчанию настройки Механизма QoS отключены и приоритеты приложений не классифицируются автоматически.

Enable QoS Engine:

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

Automatic Uplink Speed:

Данная опция включена по умолчанию, когда включена опция QoS Engine. Эта опция позволит вашему маршрутизатору автоматически определить исходящую скорость для вашего Интернет соединения.

Measured Uplink Speed:

Отображает измеренную исходящую скорость.

Manual Uplink Speed:

Скорость, с которой данные могут передаваться от маршрутизатора к вашему ISP. Она определяется вашим ISP. Предлагаемая ISP скорость представляет собой пару – входящую / исходящую скорость. Например, 1.5Mbits/284Kbits. В данном примере Вы бы ввели 284. В качестве альтернативы Вы можете протестировать вашу исходящую скорость с помощью например такого сервиса как www.dslreports.com.


Сетевые Фильтры

Используйте MAC Фильтры, чтобы разрешить или запретить LAN компьютерам на основе их MAC адресов доступ к Сети. Вы можете добавить MAC адрес как вручную, так и выбрать его из списка клиентов, которые в данный момент подключены к Широкополосному Маршрутизатору.

Configure MAC Filtering:

Выберите Turn MAC Filtering Off, allow MAC addresses listed below или deny MAC addresses listed below из раскрывающегося меню.

MAC Address:

Введите MAC адрес, для которого Вы хотели бы настроить фильтрацию.
Если у Вас возникли затруднения с определением MAC адреса компьютера, можете обратиться к статье Основы Сетей.

DHCP Клиент:

Выберите DHCP client из раскрывающегося меню и кликните


Контроль Доступа

Раздел Access Control позволяет Вам контролировать доступ в вашу сеть и из нее. Используйте эту возможность, например, для осуществления Родительского Контроля, либо чтобы предоставить доступ только к доверенным сайтам, ограничить веб доступ на основе времени или числа (например, только по выходным), и/или блокировать доступ для приложений наподобие P2P утилит или игр.

Add Policy:

Установите флажок Enable Access Control и кликните кнопку Add Policy, чтобы запустить Мастер Контроля Доступа.

Мастер Контроля Доступа

Кликните Next, чтобы перейти к следующему шагу мастера.

Введите имя для политики, а затем кликните Next, чтобы продолжить.

Выберите расписание (Т.Е. Always) из раскрывающегося меню и затем кликните Next, чтобы продолжить.

Введите следующую информацию и затем кликните Next, чтобы продолжить.

  • Address Type – Выберите IP адрес, MAC адрес или Other Machines.
  • IP Address – Введите IP адрес компьютера, к которому Вы бы хотели применить правило.

Выберите метод фильтрации и затем кликните Next, чтобы продолжить.

Введите правило:

  • Enable – Установите, чтобы включить правило.
  • Name – Введите имя для вашего правила.
  • Dest IP Start – Введите начальный IP адрес.
  • Dest IP End – Введите конечный IP адрес.
  • Protocol – Выберите протокол.
  • Dest Port Start – Введите начаный номер порта.
  • Dest Port End – Введите конечный номер порта.

Чтобы включить веб протоколирование, кликните Enable.

Кликните Save, чтобы сохранить правило контроля доступа.

В следующем посте рубрики Сетевые Устройства мы продолжим рассматривать настройки маршрутизатора DIR-615 (подписаться на обновления по RSS / E-Mail). Спасибо за внимание! До скорых встреч на страницах сайта okITgo.ru.

Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 1


Продолжая рассказ о ZeroTier, от теории, изложенной в статье «Интеллектуальный Ethernet-коммутатор для планеты Земля», перехожу к практике, в которой:
  • Создадим и настроим частный сетевой контроллер
  • Создадим виртуальную сеть
  • Настроим и подключим к ней узлы
  • Проверим сетевую связность между ними
  • Закроем доступ к GUI сетевого контроллера извне

Сетевой контроллер


Как уже было сказано ранее, для создания виртуальных сетей, управления ими, а также подключения узлов, пользователю необходим сетевой контроллер, графический интерфейс (GUI) для которого существует в двух ипостасях: Варианты ZeroTier GUI
  • Один от разработчика ZeroTier, доступного в виде публичного облачного решения, предоставляемого по модели SaaS, с четырьмя планами подписки, в том числе бесплатным, но ограниченным по количеству управляемых устройств и уровню поддержки
  • Второй — от независимого разработчика, несколько упрощённого по функционалу, но доступного в качестве приватного open source решения, для использования on-premise или на облачных ресурсах.

В своей практике я пользовался обеими и в результате всё-таки остановился на второй. Причиной чему послужило предостережения разработчика.

«Сетевые контроллеры служат центрами сертификации для виртуальных сетей ZeroTier. Файлы содержащие секретные ключи контроллера должны тщательно охраняться и надежно архивироваться. Их компрометация позволяет неавторизованным злоумышленникам создавать мошеннические конфигурации сетей., а потеря — приводит к потере способности контролировать и управлять сетью, фактически делая её непригодной для использования»

→ Ссылка на документацию

А также, признаки собственной ИБ-параноидальности 🙂 

  • Даже если придёт Чебурнет — у меня должен оставаться доступ к своему сетевому контроллеру;
  • Сетевым контроллером должен пользоваться только я. При необходимости, предоставляя доступ своим доверенным лицам;
  • Должна быть возможность ограничения доступа к сетевому контроллеру извне.

Отдельно останавливаться на том, как развернуть сетевой контроллер и GUI для него на on-premise физических или виртуальных ресурсах, в этой статье я не вижу особого смысла. И тому тоже есть 3 причины: 
  • букв получится больше чем планировал
  • об этом уже рассказано на GitHab разработчика GUI
  • тема статьи о другом

Поэтому, выбрав путь меньшего сопротивления, буду использовать в данном повествовании сетевой контроллер с GUI на основе VDS, созданного из шаблона, любезно разработанного моими коллегами из RuVDS.

Первоначальная настройка


После создания сервера из указанного шаблона, доступ к Web-GUI контроллера пользователь получает через браузер, обратившись по адресу httрs://:3443
По умолчанию сервер уже содержит предварительно созданный самоподписанный TLS/SSL сертификат. Для меня этого достаточно, так как я закрываю доступ к нему извне. Для тех же, кто желает использовать другие типы сертификатов, есть инструкция по установке на GitHab разработчика GUI.

При первом входе пользователя в систему Login с установленными по умолчанию логину и паролю — admin и password:


Она предлагает изменить пароль по умолчанию на пользовательский
Я поступаю чуть иначе — не меняю пароль у существующего пользователя, а создаю нового — Create User.

Задаю имя нового пользователя — Username:
Задаю новый пароль — Enter new password
Подтверждаю новый пароль — Re-enter password:

Вводимые символы чувствительны к регистру — будьте внимательны!

Чек-бокс подтверждения смены пароля при следующем входе — Change password on next login: не отмечаю. 

Для подтверждения введенных данных жму Set password:


Потом: перелогиниваюсь — Logout / Login, уже под учётными данными нового пользователя:
Далее перехожу во вкладку пользователи — Users и удаляю пользователя admin, кликнув на иконку корзины, которая находится слева от его имени.
В дальнейшем изменить пароль пользователя, можно кликнув либо на его имя, либо на set password.

Создание виртуальной сети


Для создания виртуальной сети пользователю необходимо перейти во вкладку Add network. Из пункта User это можно осуществить через страницу Home — главную страницу Web-GUI, на которой отображён ZeroTier-адрес данного сетевого контроллера и присутствует ссылка на страницу списка сетей, через него созданных.
На странице Add network пользователь назначает имя вновь создаваемой им сети.
При применении вводимых данных — Create Network пользователь попадает на страницу со списком сетей, на которой указаны: 

Network name — имя сети в виде ссылки, при переходе по которой можно его изменить 
Network ID — идентификатор сети
detail — ссылка на страницу с детальными параметрами сети
easy setup — ссылка на страницу для простой настройки
members — ссылка на страницу управления узлами


Для дальнейшей настройки переходим по ссылке easy setup. На открывшейся странице пользователь задаёт диапазон IPv4 — адресов для создаваемой сети. Сделать это можно автоматически, нажатием кнопки Generate network address или вручную, введя в соответствующее поле сетевую маску сети CIDR.
При подтверждении успешного ввода данных необходимо вернуться на страницу со списком сетей с помощью кнопки Back. На этом основную настройку сети можно считать завершённой.

Подключение узлов сети


  1. Для начала на узел, который пользователь желает подключить к сети, необходимо установить сервис ZeroTier One. Что такое ZeroTier One? ZeroTier One — работающий на ноутбуках, настольных компьютерах, серверах, виртуальных машинах и контейнерах сервис, который обеспечивает подключения к виртуальной сети через виртуальный сетевой порт, подобно VPN-клиенту. 

    После установки и запуска службы к виртуальным сетям можно подключиться, используя их 16-значные адреса. Каждая сеть выглядит как виртуальный сетевой порт в системе, который ведет себя так же, как обычный порт Ethernet.


    Ссылки на дистрибутивы, а также команды установки можно найти на странице производителя.

    Управлять установленным сервисом можно через терминал командной строки (CLI) с правами админа/рута. В Windows/MacOS ещё с помощью графического интерфейса. В Android/iOS только с помощью GUI.

  2. Проверка успешности установки сервиса:

    CLI:

    zerotier-cli status

    Результат: 

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Сам факт его работы приложения и наличие в нём строчки с Node ID с адресом узла.

  3. Подключение узла к сети:

    CLI:

    zerotier-cli join <Network ID>

    Результат: 

    200 join OK

    GUI:

    Windows: кликом правой кнопкой мыши на иконке ZeroTier One в системном трее и выбора пункта — Join Network.


    MacOS: Запустить приложение ZeroTier One в bar menu, если ещё не запущен. Клик на значке ⏁ и выбор Join Network.

    Android/iOS: + (изображение плюса) в приложении


    В появившемся поле введите указанный в GUI сетевого контроллера Network ID, и жмёте Join / Add Network.
  4. Назначение узлу IP-адреса
    Теперь возвращаемся к сетевому контроллеру и на странице со списком сетей перейти по ссылке members. Если на экране вы увидели картинку аналогичной этой — значит ваш сетевой контроллер получил запрос на подтверждение подключения к сети от подключаемого узла.
    На этой странице оставляем пока всё как есть и по ссылке IP assignment переходим на страницу назначения узлу IP-адреса:
    После назначения адреса, по кнопке Back возвращаемся на страницу списка подключенных узлов и задаём название — Member name и отмечаем чек-бокс для авторизации узла в сети — Authorized. Кстати, этот чек-бокс очень удобная вещь для отключения/подключения от сети узла в дальнейшем.
    Сохраняем изменения с помощью кнопки Refresh.
  5. Проверка статуса подключения узла к сети:
    Для проверки статуса подключения на самом узле выполняем:
    CLI:
    zerotier-cli listnetworks

    Результат:

    200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
    200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    Статус сети должен быть OK

    Для подключения остальных узлов повторяем операции 1-5 для каждого из них.


Проверка сетевой связности узлов


Я делаю это с помощью выполнения команды ping <IP-адрес другого узла сети> на подключённом к сети устройства, которым в данный момент управляю.
На скриншоте Web-GUI контроллера можно увидеть три подключенных к сети узла:
  1. ZTNCUI — 10.10.10.1 — мой сетевой контроллер с GUI — VDS в одном из ДЦ RuVDS. Для обычной работы нет необходимости добавлять его в сеть, но я сделал это, так как хочу закрыть доступ к веб-интерфейсу извне. Об этом чуть позже. 
  2. MyComp — 10.10.10.2 — мой рабочий компьютер — физический ПК
  3. Backup — 10.10.10.3 — VDS в другом ДЦ.

Поэтому со своего рабочего компьютера я проверяю доступность других узлов командами:
ping 10.10.10.1

Pinging 10.10.10.1 with 32 bytes of data:
Reply from 10.10.10.1: bytes=32 time=14ms TTL=64
Reply from 10.10.10.1: bytes=32 time=4ms TTL=64
Reply from 10.10.10.1: bytes=32 time=7ms TTL=64
Reply from 10.10.10.1: bytes=32 time=2ms TTL=64

Ping statistics for 10.10.10.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 14ms, Average = 6ms

ping 10.10.10.3

Pinging 10.10.10.3 with 32 bytes of data:
Reply from 10.10.10.3: bytes=32 time=15ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Reply from 10.10.10.3: bytes=32 time=8ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64

Ping statistics for 10.10.10.3:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 4ms, Maximum = 15ms, Average = 7ms

Пользователь вправе использовать другие инструменты проверки доступности узлов в сети, как встроенные в ОС, так и такие как NMAP, Advanced IP Scanner и т.д.

Прячем доступ к GUI сетевого контроллера извне.


Вообще, уменьшить вероятность несанкционированного доступа к VDS, на котором находится мой сетевой контроллер, я могу средствами файрвола в личном кабинете RuVDS. Эта тема скорее для отдельной статьи. Поэтому, тут я покажу как обеспечить доступ к GUI контроллера только из сети, которую создал в этой статье.

Для этого необходимо подключившись по SSH к VDS на котором находится контроллер, открыть файл конфигурации с помощью команды:

nano /opt/key-networks/ztncui/.env

В открывшемся файле, после строки «HTTPS_PORT=3443», содержащей адрес порта, по которому открывается GUI, нужно добавить дополнительную строку с адресом, по которому GUI будет открываться — в моём случае это HTTPS_HOST=10.10.10.1. 

Далее сохраню файл

Сtrl+C
Y
Enter 

и выполняю команду:

systemctl restart ztncui

И всё, теперь GUI моего сетевого контроллера доступен только для узлов сети 10.10.10.0.24.

Вместо заключения 


На этом первую часть практического руководства по созданию виртуальных сетей на основе ZeroTier хочу закончить. Жду ваших комментариев. 

А пока, чтобы скоротать время до момента публикации следующей части, в которой я расскажу, как объединить виртуальную сеть с физической, как организовать «road warrior» режим и кое-что ещё, предлагаю вам попробовать организовать собственную виртуальную сеть с помощью приватного сетевого контроллера с GUI на основе VDS из маркетплейса на сайте RUVDS. Тем более, что для всех новых клиентов действует бесплатный тестовый период — 3 дня!

P.S. Да! Чуть не забыл! Удалить узел из сети можно командой в CLI этого узла.

zerotier-cli leave <Network ID>

200 leave OK

или командой Delete в GUI клиента на узле.

-> Введение. Теоретическая часть. Интеллектуальный Ethernet-коммутатор для планеты Земля
-> Практическое руководство по строительству виртуальных сетей. Часть 1
-> Практическое руководство по строительству виртуальных сетей. Часть 2

Установка и настройка Mikrotik Cloud Hosted Router

Cloud Hosted Router — это специальная версия Mikrotik RouterOS, которая разработана для развертывания в облачной инфраструктуре как операционная система для виртуальных машин, но может быть также развернута и на реальном железе.

CHR создавалась для 64-битных систем и совместима с большинством гипервизоров.

Системные требования CHR:

  • процессор: x86_64 с поддержкой аппаратной виртуализации;
  • ОЗУ: 128 МБ и более;
  • диск: 128 МБ и более (максимально 16 ГБ).

Установка Mikrotik CHR на виртуальную машину

В статье рассмотрена установка CHR на Облачную платформу Selectel. Будем считать, что проект уже создан, а регион выбран.

Для начала посетите сайт https://mikrotik.com/download, чтобы скачать образ CHR:

Для примера будет использована стабильная версия (на момент написания статьи 6.46.3). Формат образа не столь важен, так как облачная платформа умеет работать со всеми из этих форматов, но для примера был выбран формат RAW.

Примечание: не забудьте распаковать ZIP-архив, в случае использования формата RAW.


Далее создайте виртуальную машину.

В разделе «‎Имя и расположение»‎ укажите следующие данные: Имя, регион и дата-центр.

В качестве источника выберите загруженный образ CHR.

Задайте необходимые параметры, в нашем случае будет достаточно 1 vCPU, 512 RAM, 5 Гб дискового пространства.

Выберите подсеть, к которой будет подключена машина. Можно задействовать «плавающий» IP-адрес или приобрести подсеть. В нашем случае использована подсеть на 5 IP-адресов.

После того как сервер будет создан, перейдите на вкладку «Консоль». В качестве логина по умолчанию используется admin, пароль пустой. Поскольку сеть еще не настроена, рекомендуется вначале установить пароль на учетную запись admin или создать новую учетную запись, а затем удалить или деактивировать учетную запись admin.

В примере будет установлен пароль на admin:

/user edit admin password

Затем откроется текстовый редактор, введите пароль, и нажмите сочетание клавиш CTRL+O. Пароль установлен.

Далее пропишите IP-адрес и настройте маршрутизацию. Чтобы узнать IP-адрес подсети и шлюз, перейдите на вкладку «Сети» и выберите «Публичные подсети»:

В консоли введите следующие команды:

/ip address add interface="Название сетевого интерфейса" address="IP-адрес сервера" netmask="Маска подсети"

Проверьте, что IP-адрес был добавлен корректно:

/ip address print

Теперь настройте маршрутизацию, добавив шлюз по-умолчанию:

/ip route add gateway="IP-адрес шлюза" dst-address=0.0.0.0/0 check-gateway=ping distance=1

Проверьте, что маршрут добавился:

/ip route print

Также проведите проверку работоспособности маршрута:

/ping 8.8.8.8

Поскольку теперь виртуальная машина имеет доступ во внешнюю сеть, можно воспользоваться бесплатным графическим конфигуратором Mikrotik Winbox. Он создан для операционной системы Windows, однако прекрасно работает и в Linux при помощи WINE.

Первым делом настройте DNS-серверы, для этого выберите IP > DNS. В поле Servers введите адреса DNS-серверов, например 188.93.16.19 и 188.93.17.19, после чего нажмите кнопку ОК.

Как видите, ничего сложного в установке Cloud Hosted Router на виртуальный сервер нет. Теперь расскажем, как действовать, если хостинг не поддерживает возможность выбора установочного образа.

Установка Mikrotik CHR на сервер без поддержки установочных образов

А как быть если хостинг не предоставляет возможности установки ОС из своего образа? На самом деле все довольно просто. Ниже мы рассмотрим такой вариант установки на примере сервиса Vscale.io.

Для начала создайте сервер. В данном примере будет рассматриваться развертывание CHR на базе Ubuntu. Но выбор операционной системы не так важен, так как подобный функционал реализован в большинстве дистрибутивов GNU/Linux:

Будет достаточно самой простой конфигурации:

  • процессор — 1 ядро;
  • ОЗУ — 512 МБ;
  • диск — 20 ГБ.

Выберите нужный регион и укажите имя сервера:

Для удобства подключения по SSH можно добавить свой ключ. Однако, следует учитывать, что после того, как будет установлен CHR, ключ перестанет функционировать.

После того как параметры заданы, нажмите кнопку «‎Создать сервер».

В случае если не была выбрана авторизация по SSH-ключу, то письмо с паролем от пользователя root будет отправлено на почту. А также будет показана страница с паролем:

Спустя минуту сервер станет активным, зайдите в консоль сервера, она доступна на странице с информацией о сервере:

Теперь переведите сервер в «Rescue-режим» нажатием соответствующей кнопки. Подтвердите перевод в «Rescue», после чего откройте консоль сервера нажатием кнопки «Открыть консоль».

После успешного запуска вы увидите следующий экран:

Скачайте образ на виртуальную машину:

wget --no-check-certificate https://download.mikrotik.com/routeros/6.46.3/chr-6.46.3.img.zip

Распакуйте архив с образом:

unzip chr-6.46.3.img.zip

Запишите образ на диск виртуальной машины:

dd if=chr-6.46.3.img of=/dev/sda

Далее перезагрузите сервер при помощи кнопки «Выйти и перезагрузить». После перезагрузки вы увидите стартовый экран RouterOS:

Уровни лицензии Cloud Hosted Router и процесс активации

В отличие от «железной» версии RouterOS, Cloud Hosted Router не имеет «привязки» лицензии к оборудованию, а также не имеет определенных ограничений, например, нет ограничений по количеству туннелей.

Единственное ограничение, которое накладывают разные уровни лицензий — это скорость каждого из интерфейсов. Ниже представлены разные уровни лицензий, их отличия и стоимость:

Лицензия Аналог RouterOS лицензии Ограничение скорости на портах Стоимость
Free 1 Мбит/с $0
P1 L4 1 Гбит/с $45
P10 L5 10 Гбит/с $95
P-unlimited L6 $250

Также возможно воспользоваться пробной версией CHR, функционал которой аналогичен полноценной лицензии, но имеет ограниченный срок действия — 60 дней. После этого лицензия не пропадет, но операционная система перестанет обновляться.

Активация пробной версии CHR

Для активации CHR необходимо, чтобы были настроены следующие параметры:

  • IP-адрес;
  • маршрутизация в интернет;
  • DNS серверы.

После того как эти параметры будут настроены, можно приступить к активации лицензии.

Вначале, необходима учетная запись на сайте mikrotik.com. Если у вас ее нет, то необходимо её создать. При создании учетной записи поставьте галочку «Allow to use my account from netinstall and winbox‎».

Далее в Winbox выберите System > License. Откроется такое окно:

Нажмите на кнопку Renew License. Откроется окно, в котором нужно ввести свою почту и пароль, которые вы указали при регистрации, а также уровень лицензии, который вы хотите протестировать, в нашем случае это лицензия P1.

После активации окно будет выглядеть примерно так:

Cloud Hosted Router активирован.

Заключение

В данной статье была рассмотрена установка и базовая настройка Cloud Hosted Router, а также правила лицензирования. Это универсальный инструмент для управления сетью как в обычной, так и в виртуальной инфраструктуре.

В будущих статьях мы расскажем в каких сценариях можно использовать эту гибкую и мощную операционную систему. Оставайтесь с нами!

Хостим персональный сайт на роутере / Хабр

Доброго времени суток.

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

Поразмыслив, я вспомнил интересную статью о настройке сервера ip-телефонии Asterisk на маршрутизаторе Mikrotik. Так как у меня дома установлен роутер именно этого проиводителя, не раздумывая, я решил поднять на нём веб-сервер nginx.

Итак, мы имеем зарегистрированное доменное имя, «белый» статический ip-адрес и маршутизатор Mikrotik RB751G-2HnD c замечательной функцией MetaRouter. Начнём с выбора образа openwrt для нашего маршрутизатора. Зайдём на роутер через программу winbox и посмотрим на его архитектуру. У модели RB751G-2HnD архитектура mipbse:

Скачиваем с сайта последний образ openwrt для mipbse отсюда. Копируем на роутер в Files:

Импортируем образ openwrt в метароутер, и добавляем сетевой интерфейс для нашего виртуального образа:

/metarouter import-image file-name=openwrt-mr-mips-rootfs-31411-basic.tar.gz memory=24 enabled=yes
/metarouter interface add virtual-machine=mr2 type=dynamic dynamic-bridge=bridge_local

Затем входим в консоль образа и первым делом устанавливаем пароль на пользователя root.

Редактируем настройки сети для получения сетевых реквизитов по dhcp от самого роутера:

vi /etc/config/network

config interface lan
option ifname eth0
option proto dhcp

Добавляем службу сети в автозагрузку и перезапускаем:
/etc/init.d/network enable
/etc/init.d/network restart

Мы получили сетевые реквизиты, и теперь у нас есть доступ к системе по ssh.

Редактируем конфигурационный файл пакет-менеджера для обновления репозитория и установки необходимых программ:

vi /etc/opkg.conf

src/gz snapshots http://openwrt.wk.cz/trunk/mr-mips/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay

Далее, обновляем репозиторий и устанавливаем nginx и php:
opkg update
opkg install nginx php5 php5-fastcgi

Переходим к настройке веб-сервера.
mv /etc/nginx/nginx.conf /etc/nginx/nginx_example.conf
vi /etc/nginx/nginx.conf

user nobody nogroup;
worker_processes  1;

error_log  logs/error.log;

events {
    worker_connections  1024;
}

http {
	include mime.types;
	index index.php index.html index.htm;
	default_type text/html;
		
	sendfile on;
	keepalive_timeout 65;
	gzip on;	
	gzip_buffers     4 16k;
	gzip_http_version 1.0;
	gzip_comp_level 2;
	gzip_types       text/plain application/x-javascript text/css application/xml;
	gzip_vary on;
	gzip_min_length  1k;

	server {
		listen	80; # слушающий порт
		server_name  172.16.0.12; # имя или ip-адрес сервера
		fastcgi_connect_timeout 300;
		fastcgi_send_timeout 300;
		fastcgi_read_timeout 300;
		fastcgi_buffer_size 32k;
		fastcgi_buffers 4 32k;
		fastcgi_busy_buffers_size 32k;
		fastcgi_temp_file_write_size 32k;
		client_body_timeout 10;
		client_header_timeout 10;
		send_timeout 60;
		output_buffers 1 32k;
		postpone_output 1460;
		root   /srv/www;		# Папка с файлами сайта
		
		location ~ \.php$ {
			fastcgi_index  index.php;
			fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
			include        fastcgi_params;
			
			if (-f $request_filename) {
				fastcgi_pass    127.0.0.1:1026; 
			}
		}
	}
}

Редактируем параметры php:
vi /etc/php.ini

doc_root = "srv/www"
cgi.force_redirect = 1
cgi.redirect_status_env = "yes";

И проверяем параметры fascgi:

vi /etc/nginx/fastcgi_params

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

Добавляем службы в автозагрузку и запускаем их:
/etc/init.d/nginx enable
/etc/init.d/nginx start
/etc/init.d/php5-fastcgi enable
/etc/init.d/php5-fastcgi start

Копируем файлы сайта на сервер в указанную папку и проверяем работоспособность сайта внутри локальной сети.
Не забываем поменять http порт нашего роутера и пробросить 80 порт сервера во внешку:
/ip service set port=8080 2 disabled=yes # or no
/ip firewall nat add chain=dstnat action=dst-nat dst-address=внешний_IP-адрес protocol=tcp dst-port=80 to-ports=80 to-addresses=172.16.0.12 in-interface=ether2 disabled=no # in-interface=WAN порт

На этом настройка закончена.
Заключение

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

Установка виртуального маршрутизатора Cisco CSR 1000v | Яндекс.Облако

В Яндекс.Облаке можно развернуть виртуальный маршрутизатор Cisco Cloud Services Router (CSR) 1000v из образа ВМ. Для установки CSR 1000v и настройки доступа к нему по SSH:

  1. Перед тем, как начать.
  2. Создайте виртуальную машину с помощью маршрутизатора облачных служб Cisco.
  3. Задайте имя хоста для маршрутизатора.
  4. Создайте пользователя с правами администратора.
  5. Настройте аутентификацию с помощью ключей SSH.
  6. Проверьте подключение к роутеру.

Если вам больше не нужны созданные ресурсы, удалите их.

Перед тем, как начать

  1. Зайдите в консоль управления. Затем войдите в Яндекс.Облако или зарегистрируйтесь, если у вас еще нет учетной записи.
  2. Убедитесь, что на странице биллинга вы связали платежный аккаунт и он имеет статус ACTIVE или TRIAL_ACTIVE . Если у вас нет учетной записи для выставления счетов, создайте ее.

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

Подробнее об облаках и папках.

Требуемые платные ресурсы

Оповещение

При использовании образа Cisco CSR 1000v без лицензии пропускная способность маршрутизатора ограничена 100 Кбит / с. Чтобы снять ограничение, установите лицензию.

В стоимость использования виртуального роутера входит:

Создание виртуальной машины с помощью маршрутизатора облачных сервисов Cisco

  1. Откройте папку и щелкните Создать ресурс . Выберите Виртуальная машина .
  2. Введите имя виртуальной машины, например cisco-router .
  3. Выберите зону доступности с подсетью. Если вы не знаете, какая зона доступности вам нужна, оставьте значение по умолчанию.
  4. В разделе «Изображения из Cloud Marketplace » щелкните Выберите и выберите образ Cloud Hosted Router .
  5. Менее Вычислительные ресурсы :
    • Выберите платформу для ВМ.

    • Укажите количество виртуальных ЦП и объем оперативной памяти:

      • Платформа : Intel Cascade Lake.
      • Гарантированная доля виртуальных ЦП : 100%.
      • виртуальных ЦП : 2.
      • Оперативная память : 4 ГБ.
  6. В разделе Network settings выберите требуемую сеть и подсеть и назначьте публичный IP-адрес виртуальной машине, выбрав его из списка или автоматически. Если у вас нет сети или подсети, создайте их на экране создания виртуальной машины.
  7. В поле Access введите логин и SSH-ключ.
  8. Установите флаг Предоставить доступ к последовательной консоли .
  9. Щелкните Create VM .

Создание виртуальной машины может занять несколько минут. Когда статус виртуальной машины изменится на РАБОТАЕТ , вы можете использовать последовательную консоль.

Задайте имя хоста для маршрутизатора

  1. Откройте страницу cisco-router VM в консоли управления.

  2. Откройте Последовательная консоль и щелкните Подключить .

  3. Дождитесь полной загрузки ОС.

  4. Запустите команду enable , чтобы переключиться в привилегированный режим:

      cisco-router.ru-central1.internal> включить
      
  5. Войдите в режим настройки и установите имя хоста для маршрутизатора:

      cisco-router.ru-central1.internal # настроить терминал
    Введите команды конфигурации, по одной в каждой строке. Закончите CNTL / Z.
    cisco-router.ru-cent (config) # имя хоста cisco-router
      

Убедитесь, что имя маршрутизатора в командной строке изменилось на cisco-router .

Создать пользователя с правами администратора

Создать пользователя с правами администратора и отключенной аутентификацией по паролю:

  cisco-router (config) #username привилегия тестового пользователя 15
  

Настроить аутентификацию с использованием ключей SSH

  1. Включите SSH-доступ к виртуальной машине и передайте свой открытый ключ частями из 32 символов или меньше, начиная с ssh-rsa и заканчивая логином.

      cisco-router (config) #aaa новая модель
    cisco-router (config) #ip ssh server аутентификация публичного ключа пользователя
    cisco-router (конфигурация) #ip ssh pubkey-chain
    cisco-router (conf-ssh-pubkey) #username test-user
    cisco-router (conf-ssh-pubkey-user) # строка-ключ
    cisco-router (conf-ssh-pubkey-data) # <строка открытого ключа>
    ...
    cisco-router (conf-ssh-pubkey-data) # <строка открытого ключа>
    Выход
    Выход
    Выход
    Выход
      
  2. Убедитесь, что ключ добавлен:

      cisco-router # show run | прошу ip ssh
    ip ssh pubkey-chain
      имя пользователя test-user
       key-hash ssh-rsa  <логин, связанный с этим ключом>
    !
    !
    ...
      

    Вы можете сравнить хэш ключа на маршрутизаторе с хешем ключа на вашем компьютере:

      $ ssh-keygen -E md5 -lf <путь к файлу с открытым ключом>.паб
      
  3. Установить пароль для привилегированного режима:

      cisco-router # настроить терминал
    cisco-router (config) # включить секрет <пароль>
      

Проверить SSH-соединение с роутером

  1. Выполните на своем компьютере следующую команду:

      $ ssh -i <путь к файлу с секретным ключом> test-user @ <публичный IP-адрес роутера>
      

    Если все настроено правильно, вы войдете в маршрутизатор под тестовым пользователем .Если соединение не установлено, убедитесь, что маршрутизатор правильно настроен в последовательной консоли: была запущена команда aaa new-model , хэши ключей совпадают на вашем компьютере и маршрутизаторе, а авторизация по паролю для теста пользователь отключен. Если вы не можете найти проблему, повторите предыдущие шаги.

  2. Введите команду enable и пароль. Если все настроено правильно, можно настраивать роутер.

Удалить созданные ресурсы

Чтобы перестать платить за развернутые ресурсы, удалите виртуальную машину cisco-router .

Если вы зарезервировали общедоступный статический IP-адрес, удалите его.

.Виртуальный сервер

| Настройка и установка продуктов Dlink в блоге D-Link Home

Как настроить виртуальный сервер / перенаправление портов на беспроводном маршрутизаторе ASUS?


1. IP-адрес маршрутизатора в глобальной сети — это IP-адрес, предоставленный вашим поставщиком Интернет-услуг для доступа в Интернет. Этот IP-адрес в глобальной сети также будет использоваться для доступа к ПК, предоставляющему услугу. В этом примере IP-адрес маршрутизатора в глобальной сети — «123.123.123.123».

2. IP-адрес маршрутизатора в локальной сети — IP-адрес маршрутизатора ASUS по умолчанию — «192.168.1.1 ”.

3. Для личного использования — этому компьютеру маршрутизатор назначил IP-адрес LAN «192.168.1.130». Этот компьютер не предоставляет никаких сетевых услуг.

4. IP-адрес сервера в локальной сети — этому компьютеру назначен статический IP-адрес в локальной сети «192.168.1.103».

Это серверный компьютер, который предоставляет сетевые услуги другим клиентам в Интернете. К этому ПК будет применена переадресация портов.

Для настройки перенаправления портов:

Запустите браузер и получите доступ к настройкам маршрутизатора, введя IP-адрес LAN или http: // router.asus.com в адресной строке.

Щелкните « WAN » в меню «Дополнительные настройки» на левой панели.

Щелкните вкладку «Виртуальный сервер / переадресация портов» .

Для настройки перенаправления портов для FTP-сервера:

Перед настройкой переадресации портов для FTP-сервера компьютер в Интернете не может подключиться к FTP-серверу.

В разделе «Базовая конфигурация» выберите « FTP » в «Список известных серверов ».Введите порт или диапазон портов для FTP-сервера и выберите локальный IP-адрес.

В этом примере IP-адрес сервера в локальной сети — « 192.168.1.103 ».

Щелкните « Edit », а затем щелкните « Apply ».

Примечание. Не используйте диапазон портов 20:21 для FTP-сервера, если на маршрутизаторе включена служба AiDisk.

FTP-сервер теперь работает со следующими настройками:
Хост: 123.123.123.123
Порт: 2021

Исходная цель

Правила, согласно которым только IP-адрес может быть перенаправлен на соответствующий порт

Для IP-адреса источника вы можете:

  • (a) Оставьте поле пустым. Неуказанный, то есть любой IP-адрес источника может.
  • (b) Введите конкретный IP-адрес, например «192.168.122.1»
  • (c) Введите IP-адрес в одной подсети или одном пуле IP-адресов, например «192.168.123. *», «192.168. *. *» Или «*. *. *. *»

Чтобы проверить, успешно ли настроена переадресация портов для FTP-сервера:

  1. Убедитесь, что ваш FTP-сервер настроен и работает.
  2. Вам понадобится ПК за пределами вашей локальной сети, но с доступом в Интернет (далее именуемый «Интернет-ПК»). Этот компьютер ни в коем случае не должен быть подключен к роутеру ASUS.
  3. На ПК с Интернетом используйте WAN IP маршрутизатора для доступа к FTP-серверу с помощью приложения FTP или браузера FTP. Если перенаправление портов прошло успешно, вы сможете получить доступ к файлам на FTP-сервере.

Чтобы настроить переадресацию портов для HTTP-сервера:

Перед настройкой переадресации портов для HTTP-сервера компьютер в Интернете не может подключиться к вашему серверу / ПК через HTTP.

В разделе «Базовая конфигурация» выберите « HTTP » в элементе «Список известных серверов ». Введите порт или диапазон портов для HTTP-сервера и выберите локальный IP-адрес.

В этом примере IP-адрес сервера в локальной сети — « 192.168.1.103 ».

Щелкните « Edit », а затем щелкните « Apply ».

HTTP-сервер теперь работает со следующими настройками:
Хост: 123.123.123.123
Порт: 80

Исходная цель : правила, согласно которым только IP-адрес может быть перенаправлен для соответствующего порта

Для IP-адреса источника вы можете:

  • (a) Оставьте поле пустым.Неуказанный, то есть любой IP-адрес источника может.
  • (b) Введите конкретный IP-адрес, например «192.168.122.1»
  • (c) Введите IP-адрес в одной подсети или одном пуле IP-адресов, например «192.168.123. *», «192.168. *. *» Или «*. *. *. *»

Чтобы проверить, успешно ли настроена переадресация портов для HTTP-сервера:

  1. Убедитесь, что ваш HTTP-сервер настроен и работает.
  2. Вам понадобится ПК за пределами вашей локальной сети, но с доступом в Интернет (далее именуемый «Интернет-ПК»).Этот компьютер ни в коем случае нельзя подключать к роутеру ASUS.
  3. На компьютере с Интернетом запустите веб-браузер и введите IP-адрес маршрутизатора в глобальной сети в адресной строке. Если переадресация порта прошла успешно, вы сможете получить доступ к веб-странице, предоставленной HTTP-сервером.

** Если вы хотите перенаправить диапазон портов, например 10200: 10300, на ПК, который использует тот же диапазон портов, введите имя службы, диапазон портов и локальный IP-адрес, но оставьте поле локального порта пустым.

Теги: ASUS, Port Forwarding, Virtual Server, беспроводной маршрутизатор

.
Php локальный сервер: PHP: Встроенный веб-сервер — Manual

Php локальный сервер: PHP: Встроенный веб-сервер — Manual

Самый детальный обзор локальных серверов для web-разработки на просторах Рунета

От автора: у вас в руках PSD-макет сайта, и нужно начинать его верстку. Если предстоит создать «визитку», то ничего сложного вас не ждет — лишь сверстать и разместить в сети. Но если бэк-энд обещает быть непростым, то сайт придется тестировать на сервере вне Интернета — на вашем компьютере. Именно для этого созданы приложения, позволяющие эмулировать работу сервера. Мы решили сделать детальный обзор локальных серверов для web-разработки и показать, какие инструменты используются в современном девелопменте.

В этой статье мы постараемся не забыть ни одного героя: вспомнить каждую сборку для создания локального сервера, которая была или есть популярной сегодня. Таким образом вы сможете решить, какая из них подходит вам больше всего, а какая вовсе противопоказана.

Битва корифеев: Denver против Open Server

Эта дискуссия продолжается с момента, когда оба приложения были представлены на просторах сети. Причем у каждой из сторон есть свои аргументы. Сегодня мы разберем сильные стороны каждого из них и покажем, кто же все-таки достоин стать орудием работы современного разработчика.

Denver forever and ever

В 2002 году вышла первая версия пакета инструментов, которая имела аббревиатуру ДНВР — Джентельменский набор Веб-Разработчика. Почти сразу решение набрало большую известность, так как:

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

было просто в установке. Единственное, что требовалось от юзера — это распаковать файлы, а программа настраивала все сама;

набор имел в своем распоряжении сервер Apache, СУБД MySQL, PHP, Perl, sendmail и многие другие «фишки», которые дополнялись от версии к версии;

он был популярным среди новичков и их учителей: так было легче всего проиллюстрировать работу серверной части.

Более десяти лет он доминировал на арене локальных серверов и даже сейчас находит своих поклонников. Самоучители по верстке сайтов продолжают советовать его для тех, кто только начинает работу в сфере веб-разработки. Денвер абсолютно не перегружает систему. Он работает незаметно для самого пользователя. Единственным напоминанием является дополнительный локальный диск, который по умолчанию имеет имя «Z».

Также, Денвер легко удалить, как только вы решите это сделать (как же этого не хватает современным программам). Это делается простым отключением и перемещением папки с файлами в корзину.

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

Отсутствие графического интерфейса тоже огорчало. Компьютеры стали высокопроизводительными, и их ресурсы не нужно было экономить. Тот рационализаторский подход, который сделал Денвер известным, оставил его позади в 2013 году.

На горизонте начали появляться новые решения, которые по удобству и функционалу значительно опережали «джентльменский набор». Потому, выход версии Денвера 2013 года стал последним. Была предпринята попытка создать более мощную версию, которая называлась Endels — New Denwer Local Server, но, по стечению обстоятельств, она не набрала той известности, что ее предшественник. Пакет имел существенное преимущество — Endels уже умел запускаться с переносного носителя, на лету переключаться между версиями PHP и, что наиболее важно, радовал своих пользователей неплохим графическим интерфейсом.

Open Server: шаг навстречу изменениям

Когда этот WAMP/WNMP вышел в свет, то стал своеобразным мессией для веб-разработки. Во-первых, он, как и Денвер, был прост в установке и удалении. Работа с ним была значительно легче благодаря дружелюбному интерфейсу, а функционал впечатлял даже тех гиков, которые любят все установить и настроить вручную. Конечно, даже сайты и приложения с Денвер кое-как «натягивались» на существующие тогда CMS. Но взаимодействие Open Server и уже набравшего оборотов WordPress впечатляло.

Open Server включил в свой пакет веб-сервер Nginx — это более легкий коллега Apache. На момент написания статьи, большинство веб-продуктов в мире работают на симбиозе этих двух серверов. Первый хорош для фронтенда: он работает с запросами пользователя и выдает необходимый статический контент, в то время как Apache имеет дело с динамическим. Nginx используется передовыми страницами по всему миру: ваш уютный vk.com и даже Facebook в их числе. Но рассматривать Nginx и Apache как альтернативу друг другу не стоит — лучше всего они проявляют себя при одновременном использовании.

В общем, примечательным отличием Open Server является вариативность его инструментов. Он предлагает сразу два HTTP-модуля, три СУБД и множество PHP-модулей. При этом, переключение между ними не вызывает трудностей у оператора.

Также, несмотря на свою «увесистость», он остается достаточно быстрым. В отличие от Денвера, который даже для своего времени весил чуть больше, чем ничего, Open Server требует внушительный гигабайт памяти на диске и 200 мегабайт RAM. Конечно, для современного читателя это кажется мелочью. Тем более, что большой вес сполна компенсируется портативностью.

Разработчики позиционируют OS как полностью портативный. Он не засоряет системные файлы, как его предшественники. Также, запуск с съемного носителя полностью решает проблему с большим кругом разработчиков, которую мы упоминали выше. Разработчик может просто носить свой «сервер» на флешке и запускать на любом подходящем девайсе.

Большим преимуществом, которое высоко ценят новички, является простота установки. Большинство системных файлов, которые необходимы для корректной работы OS, установлены либо в самой системе, либо прикреплены к установщику. Если последний не находит на машине пользователя нужного элемента, он самостоятельно доустанавливает его. Такой подход сегодня используют большинство других программ.

XAMPP лучше многих

Это еще одна сборка веб-сервера, которая имела умеренную популярность во времена доминирования Денвера и Open Server, и имеет точно такую же и сейчас. Если аббревиатура WAMP для подобных пакетов означала «Windows, Apache, MySQL, PHP», то разработчики этой платформы решили предложить собственную альтернативу. В их названии «Х» символизирует кроссплатформенность сборки — сервер будет одинаково хорошо работать на всех операционных системах, включая «яблочные».

«M», которая предназначалась для MySQL, отвечает за одно из ответвлений этой системы — MariaDB. Считается, что это весьма перспективная разработка, поддержкой которой занялся даже Google, а ведущим разработчиком является автор идеи My. Дополнительная «Р» отвечает за поддержку языка Perl — родоначальника такого популярного сегодня PHP.

На самом деле, XAMPP настолько неплохая система, что иногда удивляешься ее посредственной используемости среди веб-разработчиков. Пакет обладает весьма достойным интерфейсом, легко устанавливается распаковыванием файлов и позволяет быстро оперировать. Она однозначно лучше Денвера (как почти все современные платформы), и не уступает OS во многих вопросах. Чтобы понять, насколько она проста в использовании, достаточно упомянуть, что ее принято называть «сборкой лентяя» — отличная характеристика дружелюбности.

Некоторые разработчики отказываются от XAMPP только потому, что UAC от Windows необходимо отключить перед началом работы. Их охватывает страх о том, что программа имеет цель нанести какой-либо вред их компьютерам. Но все подобные выводы, конечно же, ложь. Вся загвоздка в том, что XAMPP был разработан до появления UAC на свет, и, почему-то, не попал в список доверенных приложений. Код программы был тщательно проинспектирован — он не несет в себе угрозы.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

И если кто-то в вашем окружении назовет XAMPP «перегруженным Денвером», то не обращайте внимания — так было очень давно. Сегодня платформа весьма современна, а ее последняя версия вышла совсем недавно. И хотя общество все же не сделало эту систему фаворитом, в сердце автора этих строк она останется навсегда.

Выбор отважных — VertigoServ

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

Vertigo отличался скоростью и стабильностью работы, а также довольно неплохим интерфейсом. Кроме этого, создатели решили включить в комплект Zend Optimizer, который немного ускоряет PHP-скрипты. Но, скорее всего, это был лишь маркетинговый ход: данное приложение является единственным продуктом, распространяемым компанией Zend бесплатно. Они же и придумали легенду о том, что скрипт с Optimizer становится на 40% быстрее (на самом деле, нет).

На этом его преимущества заканчиваются: сегодня вы вряд ли встретите апологетов Vertigo (но вероятность все же есть ). Тот же UI, который должен был стать преимуществом сервера, не имел полноценной поддержки русского языка: лишь английский и польский. В то время он поддерживал лишь пятую версию PHP, один веб-сервер и одну СУБД. Возможно, потому и проиграл гонку вооружений. Как результат, Vertigo стал немного лучше Денвера (что еще нужно доказать!) и значительно хуже OpenServer.

OS — победитель?

В начале 10-х годов это можно было утверждать с уверенностью. Да, он превзошел Денвер по функционалу и стал значительно комфортнее, чем остальные WAMP/WNMP с графическим интерфейсом. К тому же, он отлично вооружен даже для современного разработчика.

Open Server продолжает развиваться как платформа веб-разработки: несколько месяцев назад вышла свежая версия. Взаимодействие с тяжелой, но привычной среднестатистическому пользователю WordPress продолжает радовать: они будто созданы друг для друга. Это также не мешает работать и с другими CMS — локальный сервер хорошо контактирует и с ними.

Но если говорить о современном положении вещей, то прогрессивные разработчики отходят от тестирования на OS, предпочитая более профессиональные решения. Почему? Об этом в следующем разделе!

Плеяда свежих решений

Несмотря на доминирующие позиции Open Server, мы решили немного поговорить о «свежей крови», которая ворвалась в поток существующих сборок. В дни, когда основные продукты заняли свои позиции, уже кажется невозможным сделать что-то прорывное. Но некоторые решения, по крайней мере, заставляют на них взглянуть.

Яблочный сервер

Все мы помним время, когда увидеть продукцию Apple можно было лишь по телевизору, и то нечасто. Сегодня она заполнила наше окружение: от плееров до полноценных машин. Это же касается и веб-разработки: делать приложение на macOS теперь даже круто .

Вместе с продукцией «Яблока», распространенность ждала и их решение для создания локального сервера под названием MAMP PRO. Он, конечно же, платный, но имеет и вариант для экономных — без приставки, символизирующей профи. Среди преимуществ обеих версий можно назвать интерфейс — конечно же, он отличный (на этом в Apple не экономят). Программа проста в установке и работе, а постоянная поддержка не дает отставать от современных тенденций в развитии технологий.

Также, множество ресурсов в MAMP направлены на безопасность. Можно существенно ограничить доступ к вашим базам данных. Это нужно, если компьютер использует постоянное подключение к сети. В целом, это решение считается наиболее легким в использовании (даже легче, чем Денвер, да-да!). Как всегда, Apple еще и приложили подробную инструкцию, так что даже ребенок может создать свой локальный сервер и разместить на нем свой первый сайт.

Недостатком является ограниченный ряд девайсов, которые могут запустить данный пакет. Если вы решили работать с MAMP, значит и вся ваша команда тоже должна работать в MAMP со своих Mac’ов. Это не проблема для больших компаний, но существенный минус для тех команд, которые собраны для конкретного проекта.

Кстати, если вы думаете, что бесплатная версия от Apple имеет существенно ограниченные возможности, то вы неправы. Ее вам хватит, чтобы быть разработчиком для любого проекта — Pro лишь добавляет некоторый функционал.

Самый трендовый и прогрессивный

Так можно сказать только об одном решении, которое сокращенно называют VVV. Развернутое название звучит как Varying Vagrant Vagrants и в переводе значит что-то вроде «бродячих бродяг» — автор не нашел связи между названием и сутью.

В отличие от сборок, которые мы обсуждали, VVV никак не подойдет для начинающего пользователя. Это даже не похоже на Open Server и его аналоги. Чтобы разработать подобное решение, создателям пришлось заглянуть в корень спроса на старые решение: создание окружения для запуска нужных сервисов. Для этого они создали совокупность конфигураций, которые можно свободно взять с GitHub и выполнить на своей машине. Однако для этого вам потребуются еще приложения.

По сути, VVV — это инструкция для компьютера, которую он использует для запуска локального сервера. Чтобы ее выполнить, необходима программа VirtualBox, которая находится в свободном доступе. Она запускает виртуальную машину и абсолютно не привязана к конкретной платформе, будь то Windows, MacOS или линуксоидная OS.

Для управления системой необходим Vagrant. Это что-то вроде менеджера виртуальных машин, с помощью которого вы и получите необходимое окружение. В целом, подход весьма хорош и пользуется спросом среди продвинутых веб-девелоперов. Но, к сожалению, даже самые «зубастые» отмечают этот подход, как чересчур заумный, несмотря на то, что он полностью может удовлетворить WordPress-разработчика.

Выводы вместо заключения

Как бы это иронично ни звучало, но даже некоторые продвинутые разрабы до сих пор используют Денвер и не желают смириться с наступившим 2018 годом. Простота и стабильность работы привлекает их, а некоторые недочеты они предпочитают исправлять самостоятельно. Некоторые, даже приспособили ее к «свитчам» CMS в один клик и поддержке всех современных решений для веб-девелопмента.

В целом можно уверенно заявить о том, что все платформы хорошо находят своего пользователя. Это как ситуация с CMS: WоrdPress известней всех, но веб-разработчики находят инструменты и получше. Каждый человек использует то, что ему удобно. И дело здесь не всегда во вкусах и предпочтениях. Большую роль играет та задача, которую он выполняет.

Например, для создания лендингов, которые лидируют среди разрабатываемых страниц, то одинаково хорош будет и Денвер, и OpenServer, и все другие платформы. При изменении задач, которые стоят перед девелопером, он приспосабливается и изменяет те инструменты, которые использовал ранее.

OS не всегда справляется в вопросах портативности системы, в то время как VVV легко решает эту проблему. Также, ни одна программа не будет так хороша для новичка, в плане иллюстрации работы настоящего веб-сервера. Ну а если вы собрали большую команду со всех уголков мира, часть из которых убежденные юникс-хеды, а другая не видят жизни без уютных окошек Windows OS, то смело давайте им команду использовать XAMPP.

Также, до сих пор «рабочим» вариантом является мануальная настройка локального сервера. Самые продвинутые пользователи самостоятельно устанавливают все необходимые компоненты. Они не желают перегружать систему балластом, а потому сами формируют свой пакет. Как правило, набор разработчика средней руки — это «Apache + РНР + MySQL». Все остальные утилиты укомплектовываются согласно требованиям разрабатываемого веб-приложения или сайта.

Не стоит также забывать, что в сети до сих пор существуют фанаты таких сборок, как WampServer, EasyPHP, AppServ и других. Их существование также трудно доказать, как и опровергнуть, но факты говорят сами за себя: обновленные версии датируются 2017–2018 годами.

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

PHP-Мастер

От теории до собственной CMS интернет-магазина

Подробнее

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP

Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)
Цели

  1. Использовать текущий на момент написания статьи софт
  2. Чтоб разграничить локальные домены, будем использовать специальный домен .loc
  3. Переключения версий PHP реализуем через поддомен c помощью fast-cgi
  4. Автоматическое создание хоста с помощью vhost_alias и dnsmasq

Что имеем в итоге. При переходе на
56.test.loc
Apache запустит c версией PHP 5.6.36
/var/www/test.loc/public_html/index.php
Поменяв поддомен на
72.test.loc
будет запущен тот же файл но уже с версией PHP 7.2.7

Другие версии доставляются аналогичным описанным ниже способом.

Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта

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

Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.

Для начала поставим необходимые пакеты

sudo apt update
sudo apt install build-essential pkg-config libxml2-dev libfcgi-dev apache2 libapache2-mod-fcgid postfix

Postfix ставим в качестве плюшки, как простое решение(в мастере установки, всё по умолчанию выбираем) для отправки почты с локальной машины.

Так как это локальная разработка и я единственный пользователь. То мне удобней перенести папку с проектами в мою домашнюю дерикторию. Она у меня маунтится отдельным диском и мигрирует при переустановке системы. Самый простой способ это создать ссылку, тогда не нужно менять пути в настройках да и путь привычный для всех.

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

sudo mv /var/www/ ~/www
sudo ln -s ~/www /var/www
sudo chown $USER:$USER -R ~/www
sudo usermod -a -G www-data $USER
sudo usermod -a -G $USER www-data

Создадим папку в которой будем собирать исходники PHP для разных версий
sudo mkdir /usr/local/src/php-build

Также нам понадобится папки для CGI скриптов
sudo mkdir /var/www/cgi-bin

И runtime папка для этих же скриптов, с правами
sudo mkdir /var/run/mod_fcgid
sudo chmod 777 /var/run/mod_fcgid

И так как каталог у нас находится в оперативной памяти, добавим его создание при старте системы, для этого добавим в /etc/tmpfiles.d/fcgid.conf

 #Type Path                Mode UID      GID       Age Argument
 d     /var/run/mod_fcgid  0755 www-data www-data  -   -

У меня dnsmasq-base идет с коробки, если нет то его всегда можно доставить.

sudo apt install dnsmasq

Добавим правило в его конфигурацию. Найти файл конфигурации dnsmasq.conf можно так
sudo updatedb
locate dnsmasq.conf

Либо если он как и у меня является частью NetworkManager то создать новый файл конфигурации в /etc/NetworkManager/dnsmasq.d/local.conf
Добавим в него строчку для перенаправление нашего локального домена на локальную машину.
address=/loc/127.0.0.1

Также нужно включить необходимые модули апача
sudo a2enmod fcgid vhost_alias actions rewrite

Предварительная подготовка завершена, приступаем к сборке различных локальных версий PHP. Для каждой версии PHP проделываем следующие 4 шага. На примере 5.6.36

1. Скачиваем исходники нужной версии и распаковываем их

cd /usr/local/src/php-build
sudo wget http://pl1.php.net/get/php-5.6.36.tar.bz2/from/this/mirror -O php-5.6.36.tar.bz2
sudo tar jxf php-5.6.36.tar.bz2

2. Cобираем из исходников нужную версию PHP, и помещаем ее в /opt/php-5.6.36
sudo mkdir /opt/php-5.6.36
cd php-5.6.36
sudo ./configure --prefix=/opt/php-5.6.36 --with-config-file-path=/opt/php-5.6.36 --enable-cgi
sudo make
sudo make install
sudo make clean

3. Создаем CGI для обработки этой версии в /var/www/cgi-bin/php-5.6.36.fcgi
#!/bin/bash
PHPRC=/opt/php-5.6.36/php.ini
PHP_CGI=/opt/php-5.6.36/bin/php-cgi
PHP_FCGI_CHILDREN=8
PHP_FCGI_MAX_REQUESTS=3000
export PHPRC
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec /opt/php-5.6.36/bin/php-cgi

4. Делаем файл исполняемым
sudo chmod +x /var/www/cgi-bin/php-5.6.36.fcgi

5. Добавляем экшен для обработки каждой версии в /etc/apache2/mods-available/fcgid.conf
<IfModule mod_fcgid.c>
  AddHandler fcgid-script fcg fcgi fpl

  Action application/x-httpd-php-5.6.36 /cgi-bin/php-5.6.36.fcgi
  AddType application/x-httpd-php-5.6.36 .php

  #Action application/x-httpd-php-7.2.7 /cgi-bin/php-7.2.7.fcgi
  #AddType application/x-httpd-php-7.2.7 .php

  FcgidIPCDir /var/run/mod_fcgid
  FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm

  FcgidConnectTimeout 20

  <IfModule mod_mime.c>
    AddHandler fcgid-script .fcgi
  </IfModule>
</IfModule>

6. Добавляем правило для обработки каждой версии в /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
        #Универсальный ServerNamе
        ServerAlias *.loc
        #Алиас для CGI скриптов
        ScriptAlias /cgi-bin /var/www/cgi-bin
        #Универсальный DocumentRoot
        VirtualDocumentRoot /var/www/%2+/public_html

        #Директория тоже должна быть универсальной
        <Directory /var/www/*.loc/>
            Options +ExecCGI -Indexes
            AllowOverride All
            Order allow,deny
            Allow from all
            <FilesMatch \.php$>
                #Ниже все условия для каждой из версий
                <If "%{SERVER_NAME} =~ /56\..*?\.loc/">
                    SetHandler application/x-httpd-php-5.6.36
                </If>
                <Else>
                    #По умолчанию, если версия не указанна, запускаем на последней
                    SetHandler application/x-httpd-php-7.2.7
                </Else>
            </FilesMatch>
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Ну вот и всё. Осталось только перезапустить apache и dnsmasq и пользоваться
sudo service apache2 restart
sudo service network-manager restart

Поместим в index.php нового тестового сайта phpinfo() и проверим что все работает.

Локальные сервер для работы php. Разворачиваем локальный сервер на Windows

Open Server это бесплатная свободно распространяемая программа для веб-разработчиков, включающая в себя пакет компонентов серверного программного обеспечения. Open Server нужен для создания и отладки полноценных сайтов на локальном компьютере. Проще говоря, с помощью этой программы можно сделать аналог Linux серверов под Windows, и без проблем запускать сайты, например, написанные на PHP.

Open Server очень прост в эксплуатации. Для запуска программы не нужно уметь конфигурировать сервера Apache и Nginx или настраивать MySQL. Программа это делает автоматически. Более того Опен Сервер реализован как портативное приложение, не требующее установки. Программа может работать с флешки, HDD и CD/DVD диска. В последнем случае программа будет создавать временный каталог с данными на диске или виртуальном устройстве. Есть возможность управления через консоль и создания собственных сборок программы.

При необходимости программа может работать как сервер в локальных или глобальных сетях. В случае работы как интернет-сервер необходим статический IP адрес, а так же следует помнить о возможных угрозах и защите своего компьютера от вредоносных скриптов.

Основной набор компонентов:

  • cервер Apache;
  • DNS сервер Bind;
  • HTTP сервер Nginx;
  • базы данных MySQL, MariaDB, MongoDB, PostgreSQL;
  • журналируемое хранилище данных Redis;
  • система кэширования данных Memcached;
  • FTP сервер FTP FileZilla;
  • среда для выполнения PHP скриптов PHP 5.x;
  • интерпретатор языка PostScript Ghostscript;
  • сервис для работы с электронной почтой Sendmail;
  • большое количество других вспомогательных утилит, таких как HeidiSQL, Adminer, RockMongo PHPMyAdmin и других.

При необходимости можно установить дополнительные компоненты Pear и Composer.

Программа представлена в трёх вариантах Basic, Premium, Ultimate. Разница между ними в количестве дополнительных утилит для работы. В базовой версии присутствует только основной набор для запуска сервера. В версии Premium включены основные серверные программы и дополнительные утилиты Git, ImageMagick, MongoDB, Rockmongo, PostgreSQL и PhpPgAdmin. В версию Ultimate входит большое количество дополнительных свободно распространяемых программ для работы с графикой, различные текстовые и HTML редакторы, программы для работы с Интернет, менеджеры закачек, SCP клиенты и так далее.

Open Server может работать в ограниченном режиме в ситуации, когда нет возможности вносить изменения в файл HOSTS при ограничении прав доступа или блокировкой файрволом. В этом случае для сайтов будет доступен только один адрес localhost 127.0.0.1.

Ключевые особенности и функции

  • очень простое управление;
  • большое количество разных версий основных модулей;
  • три варианта программы на выбор: Basic, Premium, Ultimate;
  • программа реализована как портативное приложение;
  • возможность работы в локальных сетях и Интернет в качестве сервера;
  • поддержка SSL;
  • поддержка кириллицы в имени доменов;
  • возможность настройки DNS сервера;
  • поддержка доменных указателей;
  • возможность использования скриптов для запуска/остановки сервера;
  • возможность эмулировать разные скорости соединения для тестиров

Используем встроенный в PHP сервер

Вы здесь: Главная — PHP — PHP Основы — Используем встроенный в PHP сервер

При разработке сайтов на локальной машине мы обычно используем либо Denwer, либо OpenServer либо еще какой-то пакет разработчика сайтов. Но начиная с версии 5.4 в PHP есть встроенный веб-сервер. Он может быть запущен через командную строку в Windows, Mac или Linux. Для этого необходимо выполнить команду cd для перехода в директорию, в которой находятся файлы проекта и запустить в этой директории встроенный PHP сервер:

C:\> php –S localhost:8080

Эта команда запустит в консоли веб-сервер, который будет доступен в браузере по соответствующему адресу на порту 8080. Сервер может быть остановлен нажатием клавиш Ctrl-C. Корневой директорией в данном случае будет текущая папка:

PHP 7.1.1 Development Server started at Mon Dec 17 11:56:05 2018
Listening on localhost:8080
Document root is C:\Sites\myrusakov.lc

Press Ctrl-C to quit

Открыть сайт в браузере теперь можно по адресу http://localhost:8080. В случае, если вы явным образом не обращаетесь к какому-либо конкретному файлу, то сервер вернет по умолчанию либо index.php либо index.html из коневой директории проекта. Все запросы к адресам логируются в консоли, в которую иногда полезно заглядывать в случае возникновения ошибок.

Если же вам необходимо, чтобы локальный сайт был доступен в локальной сети, то вместо адреса localhost, необходимо сделать следующее:

C:\> php –S 0.0.0.0:8080

Далее, нужно узнать ip адрес локального компьютера, например набрав в консоли следующую команду:

C:\> ipconfig

В категории адаптера в графе IPv4 и будет искомый адрес. Теперь к сайту или веб-приложению на вашей машине можно подключиться с другого компьютера или даже смартфона (по Wi-Fi) по тому адресу, который вы нашли выше, примерно так (не забудьте обязательно указать номер порта ):

http://X.X.X.X:8080 , где X.X.X.X – это адрес IPv4

Таким образом, встроенный в PHP сервер позволяет быстро развернуть и протестировать свое приложение.

  • Создано 27.12.2018 13:36:30
  • Михаил Русаков
Предыдущая статья Следующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:
    <a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov.ru/images/button.gif» alt=»Как создать свой сайт» /></a>

    Она выглядит вот так:

  2. Текстовая ссылка:
    <a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):
    [URL=»https://myrusakov.ru»]Как создать свой сайт[/URL]

Какой локальный сервер для php. Что такое локальный сервер? Выбираем лучший

Современный сайт представляет собой не просто набор HTML-документов, но и включает в себя множество технологий, в том числе серверных, таких как: SSI (Server-Side Includes, включения на стороне сервера), PHP (PHP: Hypertext Preprocessor, PHP: препроцессор гипертекста), базы данных и многое другое. Для ознакомления и изучения этих технологий ошибкой будет использовать посещаемый рабочий сайт в Интернете, поэтому имеет смысл установить необходимый комплект программ на локальный компьютер и тестировать все на нем.

Наиболее популярной связкой таких программ является веб-сервер Apache, язык программирования PHP, система управления базами данных MySQL, оболочка для администрирования баз данных PhpMyAdmin, шаблонизатор Smarty.

Указанные программы работают преимущественно под управлением Linux подобных систем, но имеются и версии под Windows. Основной плюс этой связки программ в универсальности. Сайт, созданный и проверенный на локальном компьютере под Windows, легко может быть перенесен на сервер с FreeBSD. К тому же этот набор поддерживает подавляющее большинство хостеров.

В дальнейшем будут рассмотрены программы для домашнего компьютера с операционной системой Windows.

Кратко опишем, что представляют собой технологии, которые будут использоваться для создания сайта.

Веб-сервер

Веб-сервером называется программа, которая анализирует приходящие запросы и формирует готовые документы отправляемые пользователю. В качестве веб-сервера часто выступает Apache, как наиболее устоявшийся и популярный в Интернете. По разным оценкам его доля составляет почти 50% от общего числа используемых веб-серверов.

PHP

Популярный язык программирования, используемый при разработке сайта.

MySQL

Система управления базами данных.

PhpMyAdmin

Веб-интерфейс для создания и управления базами данных MySQL. Позволяет просматривать таблицы, изменять их содержание, модифицировать структуру, делать выборку данных, сортировать информацию. Все действия осуществляются прямо в браузере, в специально разработанном под него дружественном интерфейсе.

Smarty

Мощная система шаблонов для PHP. Использует свой собственный язык, который сочетает HTML и специальные теги Smarty. Шаблоны нужны для разделения программного кода и представления документа или по-другому, для отделения логики от содержания.

Все указанные программы и технологии являются открытыми, могут быть бесплатно загружены и свободно использоваться.

Можно установить необходимые программы, скачав их с сайта производителя и настроив под свои нужды. Однако это подчас требует знакомство с программой и владение необходимой квалификацией, которой у начинающих нет. Поскольку речь идет не о полноценном рабочем сервере, а о компьютере для тестирования и отладки, то имеет смысл использовать готовые комплекты. Такой комплект содержит в себе все необходимые для веб-разработчика программы, легко настраивается и управляется. Далее пойдет речь о некоторых популярных комплектах веб-разработчика.

В связи с тем, что мой блог абсолютно лишен какой-либо хронологии, я решил исправить это. Следующая серия статей будет посвящена созданию своего сайта.
В этой статье рассмотрим: что такое локальный сервер , где его скачать , как установить , как настроить , как сделать локальный сервер доступным в интернете .

Что такое локальный сервер?

Локальный сервер – программное обеспечение, позволяющее сделать отладку сайта на локальном (домашнем) компьютере, без выхода в интернет. Локальный сервер полностью имитируют работу хостинга и имеет аналогичный функционал.

Те, кто занимался сайтостроением с использованием лишь html и css знают, что необходимости в локальном сервере нет, так как браузер прекрасно обрабатывает и понимает язык гипертекстовой разметки и таблицы каскадных стилей. Но, стоит добавить какой-нибудь PHP скрипт и Вас тут же ждет конфуз – браузер не выдаст результат работы PHP. А происходит это потому, что браузеры не понимают PHP. И чтобы пользователь увидел страницу сайта в том виде, в котором эта страница должна быть, необходимо, чтобы сервер обработал и пре

Локальный веб-сервер | htmlbook.ru

Современный сайт представляет собой не просто набор HTML-документов, но и включает в себя множество технологий, в том числе серверных, таких как: SSI (Server-Side Includes, включения на стороне сервера), PHP (PHP: Hypertext Preprocessor, PHP: препроцессор гипертекста), базы данных и многое другое. Для ознакомления и изучения этих технологий ошибкой будет использовать посещаемый рабочий сайт в Интернете, поэтому имеет смысл установить необходимый комплект программ на локальный компьютер и тестировать все на нем.

Наиболее популярной связкой таких программ является веб-сервер Apache, язык программирования PHP, система управления базами данных MySQL, оболочка для администрирования баз данных PhpMyAdmin, шаблонизатор Smarty.

Указанные программы работают преимущественно под управлением Linux подобных систем, но имеются и версии под Windows. Основной плюс этой связки программ в универсальности. Сайт, созданный и проверенный на локальном компьютере под Windows, легко может быть перенесен на сервер с FreeBSD. К тому же этот набор поддерживает подавляющее большинство хостеров.

В дальнейшем будут рассмотрены программы для домашнего компьютера с операционной системой Windows.

Кратко опишем, что представляют собой технологии, которые будут использоваться для создания сайта.

Веб-сервер

Веб-сервером называется программа, которая анализирует приходящие запросы и формирует готовые документы отправляемые пользователю. В качестве веб-сервера часто выступает Apache, как наиболее устоявшийся и популярный в Интернете. По разным оценкам его доля составляет почти 50% от общего числа используемых веб-серверов.

http://www.apache.org

PHP

Популярный язык программирования, используемый при разработке сайта.

http://www.php.net

MySQL

Система управления базами данных.

http://www.mysql.com

PhpMyAdmin

Веб-интерфейс для создания и управления базами данных MySQL. Позволяет просматривать таблицы, изменять их содержание, модифицировать структуру, делать выборку данных, сортировать информацию. Все действия осуществляются прямо в браузере, в специально разработанном под него дружественном интерфейсе.

http://www.phpmyadmin.net

Smarty

Мощная система шаблонов для PHP. Использует свой собственный язык, который сочетает HTML и специальные теги Smarty. Шаблоны нужны для разделения программного кода и представления документа или по-другому, для отделения логики от содержания.

http://www.smarty.net

Все указанные программы и технологии являются открытыми, могут быть бесплатно загружены и свободно использоваться.

Можно установить необходимые программы, скачав их с сайта производителя и настроив под свои нужды. Однако это подчас требует знакомство с программой и владение необходимой квалификацией, которой у начинающих нет. Поскольку речь идет не о полноценном рабочем сервере, а о компьютере для тестирования и отладки, то имеет смысл использовать готовые комплекты. Такой комплект содержит в себе все необходимые для веб-разработчика программы, легко настраивается и управляется. Далее пойдет речь о некоторых популярных комплектах веб-разработчика.

выбор, установка и настройка локального сервера

Локальный сервер – инструмент веб-разработчика для создания, отладки и тестирования различных скриптов и веб-приложений. Иными словами локальный веб-сервер это эмулятор реального сервера хостинг провайдера, находящегося у вас на компьютере. Работа локального сервера ни чем не отличается от реального и мы на нем можем создавать и тестировать наши сайты.

Я не буду особо углубляться в то, как работает локальный сервер и из чего он состоит. Об этом поговорим как ни будь в другой статье. В данной же статье разберем установку и настройку локального сервера на свой компьютер, но прежде разберем, какой же локальный сервер вообще выбрать.

На сегодняшний день существует множество локальных серверов, но какой же из них выбрать?

Я долгое время пользовался джентльменским набором «Денвер», в состав которого входят php, базы MySql и PhpMyAdmin. Подробнее с данным пакетом вы можете ознакомиться на официальном сайте разработчика. Денвер является одним из популярных пакетов локального сервера для web-разработчиков.

Но от денвера мне пришлось отказаться, когда я открыл для себя Open Server. На мой взгляд с данным приложением намного удобнее работать, тем более, что в последних версиях разработчик включил в его дистрибутив большое количество нужным программ, необходимые вебмастеру: браузеры, редактор кода, файловый менеджер и еще др.

Распространяется Open Server абсолютно бесплатно. Единственно, вы можете отблагодарить автора за такой супер полезный продукт для вебмастера, переведя произвольную сумму на электронный кошелек. Как говорит автор, пожертвования очень важны, ведь проект не коммерческий. Ну, оно и понятно, без денег сегодня никуда… В общем, я лично перевел сколько было не жалко.

Преимущества Open Server

Что я могу выделить в пользу данного сервера? Вообще много чего могу сказать хорошего об Open Server да боюсь статья слишком большой получится. Поэтому выделю важные для моменты.

Продукт поставляется в 3 версиях: Ultimate, Premium, Basic. Вообще чем отличаются можете посмотреть на сайте разработчика, но я сделал скрин и прикрепил его к статье.

Именно наличие нескольких версий я считаю плюсом, т.к. скачать можно именно то, что вам нужно. Обратите внимание на версию Ultimate в распакованном виде — 5 с лишним Гб. У меня лично постоянно проблемы со свободным пространством на жестком диске. У кого с этим проблем нет + нужны дополнительные модули и программы, то можете качать смело Ultimate.

Наличие бесплатных программ, как уже было отмечено. Какие именно программы? Я опять сделал скрин.

Список, как видим, внушительный.

Частное обновление программы. На самом деле, это тоже очень важно. С каждой новой версией исправляются ошибки и появляются новые возможности.

Портативная версия программы. Программа по сути работает без установки. Можно ее носить на флешке и при необходимости работать на другом компьютере.

Богатые возможности программы. Ниже я вставил скрин окна настроек Open Server. Глянув на этот скрин, вы поймете, что данный сервер содержит в себе все, что может потребоваться вебмастеру при разработке сайте. FTP-сервер, работа с почтой (php mail, smtp mail), алиасы (для доступа к серверу из локальной сети или интернет), домены (создание дополнительного алиаса домена), планировщик задач (правда я его еще не использовал).

Отличная документация + форум поддержки. Руководство написал разработчик достаточно емким. Более того, любые интересующие вопросы вы можете задать на форуме поддержки. В общем, для старта есть все. Нужно просто чуточку уделить внимание, чтобы разобраться во всем этом.

Пока с преимуществами я завершу, но это далеко не весь список. Более подробно об Open Server’e вы можете ознакомиться на официальном сайте разработчика — http://open-server.ru.

Установка локального сервера Open Server

Для начала нам необходимо скачать дистрибутив с сайта разработчика. Какую версию скачать решать вам. На работу локального сервера это никак не влияет. Дистрибутив представляет собой самораспаковывающийся архив. Двойным щелчком распаковываем архив куда нибудь на жесткий диск компьютера, а вообще желательно в корень жесткого диска. Все, можно запустить программу. Теперь зайдите в папку, куда вы распаковали open-server и сразу создайте ярлык на рабочем столе для главного загрузочного файла. Вы найдете две версии загрузочного файла — один предназначен для 32-х битной операционной системы (Open Server x86.exe), второй для 64-х (Open Server x64.exe). Создаем ярлык в соответствии с вашей системой. Например, я выбрал «Open Server x64.exe», т.к. у меня 64-х разрядная ОС. Для создания ярлыка щелкните правой кнопкой мыши по файлу, далее  Отправить -> Рабочий стол (создать ярлык).

При первом запуске программа вам попросит выбрать язык и далее всплывет диалоговое окно, в котором будет предложено установить Microsoft Visual C++ Runtime & Patches, если вы запускаете Open Server на данном компьютере первый раз.

Если честно, я даже не знаю для чего это надо устанавливать, в предыдущих версиях Open Server такого не было. Но я установил и вам советую.

Запустить Open Server можно, щелкнув двойным щелчком по ярлыку, который мы отправили на рабочий стол. После запуска у вас в трее (рядом с часами) появится красный флажок

, это будет означать, что программа локального сервера запущена, но сам сервер не активирован. Прежде чем активировать заглянем сначала в настройки.

Первое, что нам нужно сделать, это чтобы локальный сервер запускался при запуске приложения (в принципе это уже на ваше усмотрение). Для этого в настройках во вкладке «Основные» ставим галочку «Автозапуск сервера».

Во вкладке «Модули» вы можете посмотреть установленные модули для локального сервера и при желании можно поменять. Например, по умолчанию версия php используется 5.5. Если вам нужно 5.6.xx или php-7, то можно без проблем поменять, выбрав нужную версию из выпадающего списка.

Также во вкладке «Сервер» советую выбрать опцию «Всегда использовать вирт. диск«. Это нужно для того, чтобы при запуске сервера создался виртуальный диск. Букву диска можете выбрать любую.

Остальные настройки я советую оставить как есть. Если вы что то намудрили с настройками, то вы всегда можете откатить их на заводские, нажав на кнопку «Сбросить настройки«.

Теперь можно запустить сервер — щелкаем по иконке красного флажка в трее (достаточно один клик левой кнопкой мыши) и в меню программы выбираем зеленый флажок

. Что означают цвета этих флажков?
  • Зеленый — сервер запущен;
  • Оранжевый — сервер запускается/останавливается;
  • Красный — сервер остановлен.

После запуска у вас должен появиться виртуальный диск — W (если конечно в настройках вы не указали другую метку). Хочу отметить, что при первом запуске у вас может попросить одобрения брандмауэр Windows, если он у вас включен. Окошко одобрения может выскочить несколько раз и все время мы даем добро брандмауэру на выполнение действий Open Server’ом. Иначе, сервер у вас не запуститься.

Заходим в виртуальный диск W и в папке «domains» создаем папку для своего будущего проекта и заливаем туда все файлы вашего сайта. Папку «WWW» в папке сайта создавать не нужно, как это делается в Денвере. После того, как файлы залиты, перезапускам сервер, щелкнув по оранжевому флажку для того, чтобы сервер определил новую папку сайта.

Чтобы запустить сайт после установки в меню Open Server переходим в «Мои сайты» и в выпадающем списке сайтов щелкаем по нужному. После этого откроется браузер, который установлен по умолчанию  в Windows — если используете упрощенную версию, и если используете полную версию, то откроется браузер, который установлен в настройках локального сервера.

В данной статье я описал как устанавливать локальный сервер «Open Server». Список настроек, по которым я пробежался далеко не полный… Про остальные возможности и настройки поговорим как-нибудь в другой статье, а пока на этой ноте пожалуй я закончу.

Удачи и приятного вам сайтостроения!

Используется встроенный в PHP сервер

Вы здесь: Главная — PHP — PHP Основы — Используем встроенный в PHP сервер

При разработке сайтов на локальной машине мы обычно используем либо Denwer, либо OpenServer, либо еще какой-то пакет разработчиков сайтов. Но начиная с версия 5.4 в PHP есть встроенный веб-сервер . Он может быть запущен через командную строку в Windows, Mac или Linux. Для этого необходимо выполнить команду cd для перехода в директорию, в которой находятся файлы проекта и запустить в этой директории встроенный PHP сервер:

C: \> php –S localhost: 8080

Эта команда запустит в консоли веб-сервер, который доступен в браузере по соответствующему адресу на порту 8080. Сервер может быть остановлен нажатием клавиш Ctrl-C . Корневой директорией в данном случае будет текущая папка:

PHP 7.1.1 Сервер разработки запущен в понедельник, 17 декабря, 11:56:05 2018
Прослушивание на localhost: 8080
Корневой каталог документа - C: \ Sites \ myrusakov.lc

Нажмите Ctrl-C для выхода.

Открыть сайт в браузере теперь можно по адресу http: // localhost: 8080 . В случае, если вы явным образом не обращаетесь к какому-либо конкретному файлу, то сервер вернет по умолчанию либо index.php либо index.html из коневой директории проекта. Все запросы к адресам логируются в консоли, в которую иногда полезно заглядывать в случае возникновения ошибок.

Если же вам необходимо, чтобы локальный сайт был доступен в локальной сети , то вместо адреса localhost, необходимо сделать следующее:

C: \> php –S 0.0.0.0:8080

Далее, нужно узнать ip адрес локального компьютера, например набрав в консоли следующую команду:

C: \> ipconfig

В категории адаптера в графе IPv4 и будет искомый адрес.Теперь к сайту или веб-приложению на вашей машине можно подключиться к другому компьютеру или даже смартфона (по Wi-Fi ) по тому адресу, который вы нашли выше, примерно так (не Укажите обязательно указать номер порта):

http: //X.X.X.X: 8080, где X.X.X.X - это адрес IPv4

Таким образом, встроенный в PHP сервер позволяет быстро развернуть и протестировать свое приложение.

  • Создано 27.12.2018 13:36:30
  • Михаил Русаков
Предыдущая статья Следующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте : http://vk.com/myrusakov.
Если вы хотите дать оценку мне и моей работе, напишите её в моей группе: http: // vk.com / rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления : Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий страницы внизу.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на сайте, в контакте):

  1. Кнопка:
     Как создать свой сайт

    Она выглядит вот так:

  2. Текстовая ссылка:
    Как создать свой сайт

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):
    [URL = «https://myrusakov.ru»] Как создать свой сайт [/ URL]
.

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP

Скорее всего, какие-то части этой статьи уже знакомы с покупкой рабочего ноутбука, я решил собрать все крупинки воедино и организовать удобное средство для разработки . Часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows, чтобы использовать OpenServer.Но с переходом на Linux мне не хватало той простоты создания хостов и переключенных версий, которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)
Цели

  1. Использовать текущий на момент написания статьи софт
  2. Чтоб разграничить локальные домены, будем использовать специальный домен .loc
  3. Переключения версий PHP реализуем через поддомен c помощью fast-cgi
  4. Автоматическое создание хоста с помощью vhost_alias и dnsmasq

Что имеем в итоге.При переходе на
56.test.loc
Apache запустил c версией PHP 5.6.36
/ var / www / test.loc /public_html/index.php
Поменяв поддомен на
72 .test.loc
будет запущен тот же файл но уже с версией PHP 7.2.7

Другие версии доставляются аналогичным описанным ниже способом.

Для создания еще одного сайта просто создайте в / var / www / имеющую окончательное окончание .loc , внутри которой должна быть папка public_html являющаяся корнем сайта

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

Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.

Для начала поставим необходимые пакеты

  sudo apt update
sudo apt install build-essential pkg-config libxml2-dev libfcgi-dev apache2 libapache2-mod-fcgid postfix
  

Postfix ставим в качестве плюшки, как простое решение (в мастере установки, всё по умолчанию выбираем) для отправки почты с локальной машины.

Так как это локальная разработка и я единственный пользователь. То мне удобней перенести папку с проектами в мою домашнюю дерикторию. Она у меня маунтится диском и мигрирует при переустановке системы. Самый простой способ это создать ссылку, тогда не нужно менять пути в настройках да и путь привычный для всех.

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

  судо mv / var / www / ~ / www
sudo ln -s ~ / www / var / www
sudo chown $ USER: $ USER -R ~ / www
sudo usermod -a -G www-data $ USER
sudo usermod -a -G $ USER www-данные
  

Создадим папку в которой будем собирать исходники PHP для разных версий
  sudo mkdir / usr / local / src / php-build
  

Также нам понадобится папки для CGI скриптов
  sudo mkdir / var / www / cgi-bin
  

И папка времени выполнения для этих же скриптов, с правами
  sudo mkdir / var / run / mod_fcgid
sudo chmod 777 / var / run / mod_fcgid
  

И так как каталог у нас находится в оперативной памяти, добавим его создание при старте системы, для этого добавим в / etc / tmpfiles.d / fcgid.conf

  #Type Path Mode UID GID Age Argument
 d / var / run / mod_fcgid 0755 www-data www-data - -
  

У меня dnsmasq-base идет с коробкой, если нет то его всегда можно доставить.

  sudo apt install dnsmasq
  

Добавим правило в его конфигурацию. Найти файл конфигурации dnsmasq.conf можно так
  sudo updatedb
найдите dnsmasq.conf
  

Либо, если он как и у меня является частью NetworkManager, чтобы создать новый файл конфигурации в / etc / NetworkManager / dnsmasq.d / local.conf
Добавим в него строчку для перенаправление нашего локального домена на локальную машину.
  адрес = / loc / 127.0.0.1
  

Также нужно включить модули апача
  sudo a2enmod fcgid vhost_alias Действия переписать
  

Предварительная подготовка завершена, приступаем к сборке различных локальных версий PHP. Для каждой версии PHP проделываем следующие 4 шага. На примере 5.6.36

1.Скачиваем исходники нужной версии и распаковываем их

  cd / usr / local / src / php-build
sudo wget http://pl1.php.net/get/php-5.6.36.tar.bz2/from/this/mirror -O php-5.6.36.tar.bz2
sudo tar jxf php-5.6.36.tar.bz2
  

2. Cобираем из исходников нужную версию PHP, и помещаем ее в /opt/php-5.6.36
  sudo mkdir /opt/php-5.6.36
cd php-5.6.36
sudo ./configure --prefix = / opt / php-5.6.36 --with-config-file-path = / opt / php-5.6.36 --enable-cgi
sudo make
sudo make install
sudo очистить
  

3.Создаем CGI для обработки этой версии в /var/www/cgi-bin/php-5.6.36.fcgi
  #! / Bin / bash
PHPRC = / opt / php-5.6.36 / php.ini
PHP_CGI = / opt / php-5.6.36 / bin / php-cgi
PHP_FCGI_CHILDREN = 8
PHP_FCGI_MAX_REQUESTS = 3000
экспорт PHPRC
экспорт PHP_FCGI_CHILDREN
экспорт PHP_FCGI_MAX_REQUESTS
exec /opt/php-5.6.36/bin/php-cgi
  

4. Делаем файл исполняемым
  sudo chmod + x /var/www/cgi-bin/php-5.6.36.fcgi
  

5. Добавляем экшен для обработки каждой версии в / etc / apache2 / mods-available / fcgid.conf
  
  AddHandler fcgid-скрипт fcg fcgi fpl

  Приложение действия / x-httpd-php-5.6.36 /cgi-bin/php-5.6.36.fcgi
  Приложение AddType / x-httpd-php-5.6.36 .php

  # Action application / x-httpd-php-7.2.7 /cgi-bin/php-7.2.7.fcgi
  #AddType application / x-httpd-php-7.2.7 .php

  FcgidIPCDir / var / run / mod_fcgid
  FcgidProcessTableFile / var / run / mod_fcgid / fcgid_shm

  FcgidConnectTimeout 20

  
    AddHandler fcgid-скрипт .fcgi
  

  

6.Добавляем правило для обработки каждой версии в /etc/apache2/sites-available/000-default.conf
  
        # Универсальный ServerNamе
        ServerAlias ​​* .loc
        # Алиас для CGI скриптов
        ScriptAlias ​​/ cgi-bin / var / www / cgi-bin
        # Универсальный DocumentRoot
        VirtualDocumentRoot / var / www /% 2 + / public_html

        # Директория тоже должна быть универсальной
        <Каталог / var / www / *. Loc />
            Параметры + ExecCGI -индексы
            AllowOverride All
            Заказать разрешить, запретить
            Разрешить от всех
            
                # Ниже все условия для каждой из версий
                <Если "% {SERVER_NAME} = ~ / 56 \ .. *? \. Loc /">
                    Приложение SetHandler / x-httpd-php-5.6.36
                
                
                    # По умолчанию, если версия не указанна, запускаем на последней
                    Приложение SetHandler / x-httpd-php-7.2.7
                
            
        

        ErrorLog $ {APACHE_LOG_DIR} / error.журнал
        CustomLog $ {APACHE_LOG_DIR} /access.log объединены

  

Ну вот и всё. Осталось только перезапустить apache и dnsmasq и пользоваться
  sudo service apache2 restart
sudo service network-manager перезапуск
  

Поместим в index.php нового тестового сайта phpinfo () и проверим что все работает. .

Самый детальный обзор локальных серверов для веб-разработки на просторах Рунета

От автора: у вас в руках PSD-макет сайта, и нужно начинать его верстку. Если предстоит создать «визитку», то ничего сложного вас не ждет — лишь сверстать и link в сети. Но если бэк-энд обещает быть непростым, то сайт придется тестировать на сервере вне Интернета — на вашем компьютере. Именно для этого созданного приложения, позволяющие эмулировать работу сервера.Мы решили сделать детальный обзор серверов для веб-разработки и показать, какие инструменты используются в современном девелопменте.

В этой статье мы постараемся не забыть ни одного героя: вспомнить каждую сборку для создания локального сервера, которая была или есть популярной сегодня. Таким образом вы сможете решить, какая из них подходит вам больше всего, а какая вовсе противопоказана.

Битва корифеев: Денвер против открытого сервера

Эта дискуссия продолжается с момента, когда оба приложения были представлены на просторах сети.Причем у каждой из сторон есть свои аргументы. Сегодня мы разберем сильные стороны каждого из них и покажем, кто же все-таки достоин стать орудием работы современного разработчика.

Денвер навсегда

В 2002 году вышла первая версия пакета инструментов, которая имеет аббревиатуру ДНВР — Джентельменский набор Веб-Разработчика. Почти сразу решение набрало большую известность, так как:

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере создания веб-приложения

Узнать подробнее

было просто в установке.Единственное, что требовалось от юзера — это распаковать файлы, а программа настраивала все сама;

набор имеет в своем распоряжении сервер Apache, СУБД MySQL, PHP, Perl, sendmail и многие другие «фишки», которые дополняются от версии к версии;

он стал популярным среди новичков и их учителей: так было легче проиллюстрировать работу серверной части.

Более десяти лет онинировал на арене локальных серверов и даже сейчас находит своих поклонников. Самоучители по верстке сайтов продолжают советовать его для тех, кто только начинает работу в сфере веб-разработки.Денвер абсолютно не перегружает систему. Он работает незаметно для самого пользователя. Единственным напоминанием является дополнительный локальный диск, который по умолчанию имеет имя «Z».

Также, Денвер легко удалить, как только вы решите это сделать (как же этого не хватает современным программам). Это делается отключением и перемещением папки с файлами в корзину.

Но, у него были очень быстро выявлены некоторые недостатки. Вместе со стремительным поиском Интернета, начали набирать хайп веб-продукты, над которыми трудились целые команды девелоперов.И когда нужно было перенести все конфигурации одного локального сервера на другой, требовались большие временные и трудовые ресурсы.

Отсутствие графического интерфейса тоже огорчало. Компьютеры стали высокопроизводительными, и их ресурсы не нужно было экономить. Тот рационализаторский подход, который сделал Денвер известным, оставил его позади в 2013 году.

На горизонте начали появляться новые решения, которые по удобству и функционалу значительно опережали «джентльменский набор».Потому, выход версии Денвера 2013 года стал последним. Была предпринята попытка создать более мощную версию, которая называлась Endels — New Denwer Local Server, но, по стечению обстоятельств, она не набрала той известности, что ее предшественник. Пакет имеет существенное преимущество — Endels уже умел запускать с переносного носителя, на лету переключаться между версиями PHP и наиболее важным, радовал своих пользователей неплохим графическим интерфейсом.

Открытый сервер: шаг навстречу изменениям

Когда этот WAMP / WNMP вышел в свет, то стал своеобразным мессией для веб-разработки.Во-первых, он, как и Денвер, был прост в установке и удалении. Работа с ним была значительно легче благодаря дружелюбному интерфейсу, а функционал впечатлял даже тех гиков, которые любят все установить и настроить вручную. Конечно, даже сайты и приложения с Денвер кое-как «натягивались» на вспомогательные тогда CMS. Но взаимодействие Открытый сервер и уже набравшего оборотов WordPress впечатляло.

Open Server включил в свой пакет веб-сервер Nginx — это более легкий коллега Apache. На момент написания статьи большинство веб-продуктов в мире работают на симбиозе этих двух серверов.Первый хорош для фронтенда: он работает с запросами пользователя и выдает необходимый статический контент, в то время как Apache имеет дело с динамическим. Nginx используется передовыми страницами по всему миру: ваш уютный vk.com и даже Facebook в их числе. Но рассматривать Nginx и Apache как альтернативу друг другу не стоит — лучше всего они проявляют себя при одновременном использовании.

В общем, примечательным отличием Open Server является вариативностью его инструментов. Он предлагает сразу два HTTP-модуля, три СУБД и множество модулей PHP.При этом, переключение между ними не вызывает трудностей у оператора.

Также, несмотря на свою «увесистость», он остается достаточно быстрым. В отличие от Денвера, который даже для своего времени весил чуть больше, чем ничего, Открытый сервер требует внушительный гигабайт памяти на диске и 200 мегабайт ОЗУ. Конечно, для современного читателя это кажется мелочью. Тем более, что большой вес сполна компенсируется портативностью.

Разработчики позиционируют ОС как полностью портативный.Он не засоряет системные файлы, как его предшественники. Также, запуск со съемного носителя полностью решает проблему с большим кругом разработчиков, которую мы включаем выше. Разработчик может просто носить свой «сервер» на флешке и запускать на любом подходящем девайсе.

Большим преимуществом, которое высоко ценят новички, является простота установки. Большинство системных файлов, которые необходимы для корректной работы ОС, либо прикреплены к самой системе, либо прикреплены к установщику.Если последний не находит на машине пользователя нужного элемента, он самостоятельно доустанавливает его. Такой подход сегодня использует другие программы.

XAMPP лучше многих

Это еще одна сборка веб-сервера, которая умерла популярность во времена доминирования Денвера и Открытый сервер, и имеет точно такую ​​же и сейчас. Если аббревиатура WAMP для подобных пакетов означала «Windows, Apache, MySQL, PHP», то разработчики этой платформы решили использовать альтернативу.В их названии «Х» символизирует кроссплатформенность сборки — сервер будет одинаково хорошо работать на всех системах, включая «яблочные».

«M», которая предназначалась для MySQL, отвечает за одно из ответвлений этой системы — MariaDB. Считается, что это весьма перспективная разработка, система которой занялся даже Google, а ведущим разработчиком автор идеи My. Дополнительная «Р» отвечает за поддержку языка Perl — родоначальника такого популярного сегодня PHP.

На самом деле, XAMPP настолько неплохая система, что иногда удивляешься ее посредником среди веб-разработчиков. Пакет обладает весьма достойным интерфейсом, легко устанавливается распаковыванием файлов и позволяет быстро оперировать. Она однозначно лучше Денвера (как почти все современные платформы), и не уступает OS во многих вопросах. Чтобы понять, насколько она проста в использовании, ее можно использовать называть «сборкой лентяя» — отличная характеристика дружелюбности.

Некоторые разработчики отказываются от XAMPP только потому, что UAC от Windows необходимо отключить перед началом работы. Их охватывает страх о том, что программа имеет цель нанести какой-либо вред их компьютерам. Но все похожие выводы, конечно же, ложь. Вся загвоздка в том, что XAMPP был разработан до появления UAC на свет, и, почему-то, не попал в список приложений. Код программы тщательно проинспектирован — он не несет в себе угрозы.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере создания веб-приложения

Узнать подробнее

И если кто-то в вашем окружении назовет XAMPP «перегруженным Денвером», то не обращайте внимания — так было очень давно.Сегодня платформа весьма современна, а ее последняя версия вышла совсем недавно. И хотя общество все же не сделало эту систему фаворитом, в сердце автора этих строк она останется навсегда.

Выбор отважных — VertigoServ

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

Vertigo отличался скоростью и стабильностью работы, а также довольно неплохим интерфейс. Кроме этого, создатели решили включить в комплект Zend Optimizer, который немного ускоряет PHP-скрипты. Но, скорее всего, это был лишь маркетинговый ход: данное приложение является единственным продуктом, распространяемым компанией Zend бесплатно. Они же и придумали легенду о том, что скрипт с Оптимизатором становится на 40% быстрее (на самом деле, нет).

На этом его заканчиваются: сегодня вы вряд ли встретите апологетов Vertigo (но вероятность все же есть).Тот же UI, который должен стать преимуществом сервера, не имеет полноценной поддержки русского языка: лишь английский и польский. В то время он поддерживал лишь пятую версию PHP, один веб-сервер и одну СУБД. Возможно, потому и проиграл гонку вооружений. Как результат, Vertigo стал немного лучше Денвера (что еще нужно доказать!) И значительно хуже OpenServer.

ОС — победитель?

В начале 10-х годов это можно было утверждать с уверенностью. Да, он превзошел стал значительно более комфортным, чем остальные WAMP / WNMP с графическим интерфейсом.К тому же, он отлично вооружен даже для современного разработчика.

Open Server продолжает развиваться как платформа веб-разработки: несколько месяцев назад вышла свежая версия. Взаимодействие с тяжелой, но привычной среднестатистическому пользователю WordPress продолжает радовать: они созданы друг для друга. Это также не мешает работать и с другими CMS — локальный сервер хорошо контактирует и с ними.

Если говорить о современном положении вещей, то прогрессивные разработчики отходят от тестирования на OS, предпочтительные профессиональные решения.Почему? Об этом в следующем разделе!

Плеяда свежих решений

на доминирующие позиции Открытый сервер, мы решили немного поговорить о «свежей крови», которая ворвалась в потоке настоящего сборок. В дни, когда основные продукты заняли свои позиции, уже кажется невозможным сделать что-то прорывное. Некоторые решения, по крайней мере, заставляют на них взглянуть.

Яблочный сервер

Все мы помним время, когда увидеть продукцию Apple можно было лишь по телевизору, и то нечасто.Сегодня она заполнила наше окружение: от плееров до полноценных машин. Это же касается и веб-разработки: делать приложение на macOS теперь даже круто.

Вместе с продукцией «Яблока», распространенность ждала и их решение для создания локального сервера под названием MAMP PRO. Он, конечно же, платный, но имеет и вариант для экономных — без приставки, символизирующей профи. Среди преимуществ версий можно назвать интерфейс — конечно же, он отличный (на этом в Apple не экономят).Программа проста в установке и работе, постоянная поддержка не дает отставать от современных тенденций в развитии технологий.

Также, множество ресурсов в MAMP, возникшая на безопасности. Можно ограничить доступ к вашим базам данных. Это нужно, если компьютер использует постоянное подключение к сети. В целом это решение считается наиболее легким в использовании (даже, чем Денвер, да-да!). Как всегда, Apple еще и приложили инструкцию, так что даже ребенок может создать свой локальный сервер и link на нем свой первый сайт.

Недостатком является ограниченный ряд девайсов, которые могут запустить данный пакет. Если вы решили работать с MAMP, значит и вся ваша команда тоже должна работать в MAMP со своих Mac’ов. Это не проблема для больших компаний, но это существенный минус для тех команд, которые собраны для конкретного проекта.

Кстати, если вы думаете, бесплатная версия от Apple имеет ограниченные возможности, то вы неправы. Ее вам хватит, чтобы быть разработчиком для любого проекта — Pro лишь некоторый функционал.

Самый трендовый и прогрессивный

Так можно сказать только об одном решении, которое сокращенно называют VVV. Развернутое название звучит как Varying Vagrant Vagrants и в переводе значит что-то вроде «бродячих бродяг» — автор не нашел связи между названием и сутью.

В отличие от сборок, которые мы обсуждали, VVV никак не подойдет для начинающего пользователя. Это даже не похоже на Открытый сервер и его аналоги. Чтобы создать подобное решение, разработчикам пришлось заглянуть в корень спроса на старое решение: создание окружения для запуска нужных сервисов.Для этой они созданы конфигурации, которые можно свободно взять с GitHub и выполнить на своей машине. Однако для этого вам потребуются еще приложения.

По сути, VVV — это инструкция для компьютера, которую он использует для запуска локального сервера. Чтобы выполнить ее, необходима программа VirtualBox, находится в свободном доступе. Она запускает виртуальную машину и абсолютно не привязана к конкретной платформе, будь то Windows, MacOS или линуксоидная ОС.

Для управления необходимой системой Vagrant.Это что-то вроде менеджера виртуальных машин, с помощью которого вы получите необходимое окружение. В целом, весьма хорош и пользуется спросом среди продвинутых веб-девелоперов. Но, к сожалению, даже самые «зубастые» отмечают этот подход, как чересчур заумный, несмотря на то, что он полностью может удовлетворить WordPress-разработчика.

Выводы вместо заключения

Как бы это иронично ни звучало, но даже некоторые продвинутые разрабы до сих пор используют Денвер и не желают смириться с наступившим 2018 годом.Простота и стабильность работы привлекают их, некоторые недочеты они предпочитают исправлять самостоятельно. Некоторые, даже приспособили ее к «свитчам» CMS в один клик и поддержку всех современных решений для веб-девелопмента.

В целом можно уверенно заявить о том, что все платформы хорошо находят своего пользователя. Это как ситуация с CMS: WоrdPress известней всех, но веб-разработчики находят инструменты и получше. Каждый человек использует то, что ему удобно. И дело здесь не всегда во вкусах и предпочтениях.Большую роль играет та задача, которую он выполняет.

Например, для создания лендингов, которые лидируют среди прочих платформ, то же хорошо будет и Денвер, и OpenServer, и все другие платформы. При изменении задач, которые стоят перед девелопером, он приспосабливается и изменяет те инструменты, которые используются ранее.

OS не всегда справляется в вопросах портативности системы, в то время как VVV легко решает эту проблему. Также, ни одна программа не будет так хороша для новичка, в плане работы настоящего веб-сервера.Ну а если вы собрали большую команду со всех уголков мира, часть из которых заведенные юникс-хеды, и другая не видят жизни без уютных окошек ОС Windows, то смело давайте им команду использовать XAMPP.

Также, до сих пор «рабочих» является мануальная настройка локального сервера. Самые продвинутые пользователи самостоятельно устанавливают все компоненты. Они не желают перегружать систему балластом, а сами формируют свой пакет. Как правило, набор средней руки — это «Apache + РНР + MySQL».Все остальные утилиты укомплектовываются согласно разрабатываемого веб-приложения или сайта.

Не стоит также забывать, что в сети до сих пор существуют фанаты таких сборок, как WampServer, EasyPHP, AppServ и другие. Их существование также трудно доказать, но говорят сами за себя: обновленные версии датируются 2017–2018 годами.

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере создания веб-приложения

Узнать подробнее

PHP-Мастер

От теории до собственной CMS интернет-магазина

Подробнее.

$ _SERVER — Информация о сервере и среде исполнения | Руководство по PHP

(PHP 4> = 4.1.0, PHP 5, PHP 7)

$ _SERVER — $ HTTP_SERVER_VARS [удалено] — Информация о сервере и среде исполнения

Описание

Переменная $ _SERVER — это массив, предоставленную информацию, такую ​​как заголовки, пути и местоположения скриптов. Записи в этом массиве трафик веб-сервером. Нет гарантии, что каждый веб-сервер предоставит любую из них; сервер может опустить некоторые из них или предоставить другие, не используйте здесь.Тем не менее, многие эти переменные присутствуют в »спецификации CGI / 1.1, так что вы можете их ожидать их реализации и в конкретном веб-сервере.

Переменная $ HTTP_SERVER_VARS содержит ту же начальную информацию, но она не суперглобальная. (Заметьте, что $ HTTP_SERVER_VARS и $ _SERVER являются разными переменными, так что PHP обрабатывает их соответственно). Также учтите, что «длинные массивы» были удалены в версии PHP 5.4.0, поэтому $ HTTP_SERVER_VARS больше не существует.

Индексы

Вы можете найти (а можете и не найти) любой из следующих элементов в массиве $ _SERVER . Заметьте, что немногие элементы, если вообще такие найдутся, будут доступны (или действительно будут иметь значение), если PHP запущен в отдельной строке.

PHP_SELF
Имя файла скрипта, который сейчас выполняется, относительно корня документов.Например, $ _SERVER [‘PHP_SELF’] в скрипте по адресу http://example.com/foo/bar.php будет /foo/bar.php . Константа __FILE__ содержит полный путь и имя текущего файла (то есть подключенного) файла. Если PHP запущен в отдельной строке, эта переменная содержит имя скрипта, начиная с PHP 4.3.0. Раньше она была недоступна.
‘argv’
Массив аргументов, переданных скрипту.Когда скрипт запущен в строке, это дает C-подобный доступ к параметрам строки строки. Когда вызывается через метод GET, этот массив будет содержать строку запроса.
‘argc’
Содержит количество параметров, переданных скрипту (если запуск произведен в отдельной строке).
GATEWAY_INTERFACE
Содержит используемую сервером версии спецификации CGI; к примеру ‘ CGI / 1.1 ‘.
АДР_СЕРВЕРА
IP-адрес сервера, на котором выполняется текущий скрипт.
SERVER_NAME
Имя хоста, на котором выполняется текущий скрипт. Если скрипт выполняется на виртуальном хосте, здесь будет имя, определенное для этого виртуального хоста.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Строка идентификации сервера, указанная в заголовках, когда происходит ответ на запрос.
SERVER_PROTOCOL
Имя и версия информационного протокола, через который была запрошена страница; к примеру ‘ HTTP / 1.0 ‘;
REQUEST_METHOD
Какой метод был использован для запроса страницы; к примеру ‘ GET ‘, « ГОЛОВКА », « POST », « PUT ».

Замечание :

PHP скрипт завершается после посылки заголовков (то есть после того, как выполняет любой вывод без буферизации вывода), если запрос был осуществлен методом ГОЛОВА .

ВРЕМЯ ЗАПРОСА
Временная метка начала запроса. Доступна, начиная с PHP 5.1.0.
REQUEST_TIME_FLOAT
Временная метка начала запроса с точностью до микросекунд.Доступна, начиная с PHP 5.4.0.
QUERY_STRING
Строка запросов, если есть, с помощью которой была получена страница.
DOCUMENT_ROOT
Директория корня документов, в которой выполняется текущий скрипт, в точности та, которая указана в конфигурационном файле сервера.
HTTP_ACCEPT
Содержимое заголовка Принять: из текущего запроса, если он есть.
HTTP_ACCEPT_CHARSET
Содержимое заголовка Accept-Charset: из текущий запрос, если он есть. Например: ‘ iso-8859-1, *, utf-8 ‘.
HTTP_ACCEPT_ENCODING
Содержимое заголовка Accept-Encoding: из текущий запрос, если он есть.Например: ‘ gzip ‘.
HTTP_ACCEPT_LANGUAGE
Содержимое заголовка Accept-Language: из текущий запрос, если он есть. Например: ‘ en ‘.
HTTP_CONNECTION
Содержимое заголовка Подключение: из текущий запрос, если он есть.Например: ‘ Keep-Alive ‘.
HTTP_HOST
Содержимое заголовка Хост: из текущий запрос, если он есть.
HTTP_REFERER
Адрес страницы (если есть), которая привела браузер пользователя на эту страницу. Этот заголовок устанавливается веб-браузером пользователя.Не все браузеры устанавливают его и некоторые в качестве дополнительных возможности редактора содержимого заголовка HTTP_REFERER . Одним словом, в самом деле ему нельзя доверять.
HTTP_USER_AGENT
Содержимое заголовка User-Agent: из текущий запрос, если он есть. Эта строка содержит обозначение Поиск через систему, к которой пользователь запросил систему.Типичным примером является строка: Mozilla / 4.5 [en] (X11; U; Linux 2.2.9 i586). Среди прочего, вы можете использовать это значение с функцией get_browser () чтобы адаптировать вывод вашей страницы к возможностям пользователя
HTTPS
Принимает непустое значение, если запрос был произведен через протокол HTTPS.

Замечание : Обратите внимание, что при использовании ISAPI с IIS значение будет со скидкой , если запрос не был произведен через протокол HTTPS.

REMOTE_ADDR
IP-адрес, пользователь которого просматривает текущую страницу.
REMOTE_HOST
Удаленный хост, пользователь которого просматривает текущую страницу. Обратный просмотр DNS базируется на обратном значении. REMOTE_ADDR .

Замечание : Ваш веб-сервер должен быть настроен, чтобы создать эту переменную. Для примера, в Apache вам необходимо присутствие директивы HostnameLookups On в файле httpd.conf , чтобы эта переменная создавалась. См. также gethostbyaddr ().

УДАЛЕННЫЙ ПОРТ
Порт на удаленной машине, который используется для связи с веб-сервером.
REMOTE_USER
Аутентифицированный пользователь.
REDIRECT_REMOTE_USER
Аутентифицированный пользователь, если запрос был перенаправлен изнутри.
SCRIPT_FILENAME

Абсолютный путь к скрипту, который в данный момент исполняется.

Замечание :

Если скрипт запускается в отдельной строке (CLI), используя относительный путь, такой как file.php или ../file.php , переменная $ _SERVER [‘SCRIPT_FILENAME’] будет относительный путь, содержит содержащуюся.

SERVER_ADMIN
Эта переменная получает свое значение (для Apache) из директивы конфигурационного файла сервера.Если скрипт запущен на виртуальном хосте, это будет значение, определенное для данного виртуального хоста.
СЕРВЕРНЫЙ ПОРТ
Порт на компьютере сервера, используемый веб-сервером для соединения. Для установок по умолчанию, значение будет ‘ 80 ‘; используя SLL, например, это будет такое, какое сконфигурировано для соединений безопасного HTTP.

Замечание : Чтобы получить физический (реальный) порт в Apache 2, необходимо установить UseCanonicalName = На и UseCanonicalPhysicalPort = On , иначе это значение может быть подменено и не вернуть реальное значение физического порта. Полагаться на это значение небезопасно в контексте приложений, требующихся усиленной безопасности.

ПОДПИСЬ_СЕРВЕРА
Строка, содержащая версию сервера и имя виртуального хоста, которые добавляются к генерируемым сервером страницам, если включено.
PATH_TRANSLATED
Файловая система (не корень документа) путь к текущему скрипт, после того, как сервер выполнил любое виртуальное отображение.

Замечание : Начиная с PHP 4.3.2, переменная PATH_TRANSLATED больше не устанавливается неявно в Apache 2 SAPI, по сравнению с Apache версии 1, где она устанавливается в то же самое значение, что и переменная SCRIPT_FILENAME, когда она не используется Apache.Это изменение было сделано для соответствия спецификации CGI, где переменная PATH_TRANSLATED должна существовать только тогда, когда PATH_INFO определена. Пользователи Apache 2 могут использовать директиву AcceptPathInfo = На в конфигурационном файле httpd.conf для задания PATH_INFO.

SCRIPT_NAME
Содержит путь, к текущему исполняемому скрипту.Это полезно для страниц, которые должны указывать на себя. Константа __FILE__ содержит полный путь и имя текущего (т.е. включаемого) файла.
REQUEST_URI
URI, который был передан для того, чтобы получить доступ к этой странице. Например, ‘ /index.html ‘.
PHP_AUTH_DIGEST
При выполнении HTTP Digest аутентификации, данной присваивается заголовок ‘Authorization’, который присылается клиентом (его необходимо затем использовать для использования валидации).
PHP_AUTH_USER
Когда выполняется HTTP-аутентификация, данная присваивается имя пользователя, предоставленное предоставленное.
PHP_AUTH_PW
Когда выполняется HTTP-аутентификация, данная присваивается пароль, предоставленный пользователь.
AUTH_TYPE
Когда выполняется HTTP-аутентификация, данная присваивается тип аутентификации, который используется.
PATH_INFO
Содержит любой предоставленный путь, предоставленный после имени скрипта, но до строки запроса, если доступно. Например, если текущий скрипт запрошен по URL http://www.example.com/php/path_info.php/some/stuff?foo=bar , то переменная $ _SERVER [‘PATH_INFO’] будет содержать / некоторые / вещи .
ORIG_PATH_INFO
Исходное значение ‘ PATH_INFO ‘ до начала обработки PHP.

Список изменений

Версия Описание
5.4.0 Массив $ HTTP_SERVER_VARS больше не доступен в связи с удалением «длинных массивов».
5.3.0 Директива register_long_arrays, которая приводила к заполнению $ HTTP_SERVER_VARS помечена как устаревшая.
4.1.0 Введена переменная $ _SERVER вместо старой $ HTTP_SERVER_VARS .

Примеры

Пример # 1 Пример использования $ _SERVER

echo $ _SERVER ['SERVER_NAME'];
?>

Результат выполнения данного примера будет что-то подобное:

Примечания

Замечание :

Это ‘суперглобальная’ или автоматическая глобальная переменная.Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять глобальную переменную $; для доступа к ней внутри метода или функции.

Смотрите также

Вернуться к: Предопределённые переменные

.
Настройка vpn сервера на windows server 2020 r2: Attention Required! | Cloudflare

Настройка vpn сервера на windows server 2020 r2: Attention Required! | Cloudflare

Установка и настройка сервера политики сети

  • Чтение занимает 7 мин

В этой статье

Область применения: Windows Server 2019, Windows Server (половина ежегодного канала), Windows Server 2016, Windows Server 2012 R2, Windows 10Applies to: Windows Server 2019, Windows Server (Semi-Annual Channel), Windows Server 2016, Windows Server 2012 R2, Windows 10

На этом шаге вы установите сервер политики сети (NPS) для обработки запросов на подключение, отправленных VPN-сервером:In this step, you’ll install Network Policy Server (NPS) for processing of connection requests that are sent by the VPN server:

  • Выполните авторизацию, чтобы убедиться, что у пользователя есть разрешение на подключение.Perform authorization to verify that the user has permission to connect.
  • Выполнение проверки подлинности для проверки удостоверения пользователя.Performing authentication to verify the user’s identity.
  • Выполнение учета для регистрации аспектов запроса на подключение, выбранного при настройке учета RADIUS в NPS.Performing accounting to log the aspects of the connection request that you chose when you configured RADIUS accounting in NPS.

Действия, описанные в этом разделе, позволяют выполнить следующие операции:The steps in this section allow you to complete the following items:

  1. На компьютере или виртуальной машине, запланированной для сервера политики сети и установленной в организации или корпоративной сети, можно установить NPS.On the computer or VM that planned for the NPS server, and installed on your organization or corporate network, you can install NPS.

    Совет

    Если в сети уже имеется один или несколько серверов NPS, вам не нужно выполнять установку сервера NPS — вместо этого можно использовать этот раздел для обновления конфигурации существующего сервера NPS.If you already have one or more NPS servers on your network, you do not need to perform NPS Server installation — instead, you can use this topic to update the configuration of an existing NPS server.

Примечание

Вы не можете установить службу сервера политики сети в Windows Server Core.You can not install the Network Policy Server service on Windows Server Core.

  1. На корпоративном сервере политики Организации или организации сервер политики сети можно настроить на выполнение в качестве сервера RADIUS, который обрабатывает запросы на подключение, получаемые от VPN-сервера.On the organization/corporate NPS server, you can configure NPS to perform as a RADIUS server that processes the connection requests received from the VPN server.

Установка сервера политики сетиInstall Network Policy Server

В этой процедуре вы устанавливаете NPS с помощью Windows PowerShell или мастера диспетчер сервера добавить роли и компоненты.In this procedure, you install NPS by using either Windows PowerShell or the Server Manager Add Roles and Features Wizard. Сервер политики сети — это служба роли сервера службы политики сети и доступа.NPS is a role service of the Network Policy and Access Services server role.

Совет

По умолчанию сервер политики сети прослушивает RADIUS-трафик на портах 1812, 1813, 1645 и 1646 для всех установленных сетевых адаптеров.By default, NPS listens for RADIUS traffic on ports 1812, 1813, 1645, and 1646 on all installed network adapters. При установке NPS и включении брандмауэра Windows в повышенной безопасности исключения брандмауэра для этих портов создаются автоматически для трафика IPv4 и IPv6.When you install NPS, and you enable Windows Firewall with Advanced Security, firewall exceptions for these ports get created automatically for both IPv4 and IPv6 traffic. Если серверы сетевого доступа настроены на отправку трафика RADIUS через порты, отличные от этих значений по умолчанию, удалите исключения, созданные в брандмауэре Windows в процессе установки сервера политики сети, и создайте исключения для портов, используемых для трафика RADIUS.If your network access servers are configured to send RADIUS traffic over ports other than these defaults, remove the exceptions created in Windows Firewall with Advanced Security during NPS installation, and create exceptions for the ports that you do use for RADIUS traffic.

Процедура для Windows PowerShell:Procedure for Windows PowerShell:

Чтобы выполнить эту процедуру с помощью Windows PowerShell, запустите Windows PowerShell от имени администратора и введите следующий командлет:To perform this procedure by using Windows PowerShell, run Windows PowerShell as Administrator, enter the following cmdlet:

Install-WindowsFeature NPAS -IncludeManagementTools

Процедура для диспетчер сервера:Procedure for Server Manager:

  1. В диспетчер сервера выберите Управление, а затем выберите Добавить роли и компоненты.In Server Manager, select Manage, then select Add Roles and Features. Откроется мастер добавления ролей и компонентов.The Add Roles and Features Wizard opens.

  2. В окне перед началом нажмите кнопку Далее.In Before You Begin, select Next.

    Примечание

    Страница перед началом работы мастера добавления ролей и компонентов не отображается, если ранее был выбран параметр пропустить эту страницу по умолчанию при выполнении мастера добавления ролей и компонентов.The Before You Begin page of the Add Roles and Features Wizard is not displayed if you had previously selected Skip this page by default when the Add Roles and Features Wizard ran.

  3. В списке выберите тип установки убедитесь, что установлен флажок установить на основе ролей или компонентов , и нажмите кнопку Далее.In Select Installation Type, ensure that Role-Based or feature-based installation is selected, and select Next.

  4. Убедитесь, что на странице Выбор целевого сервера выбран параметр выбрать сервер из пула серверов .In Select destination server, ensure that Select a server from the server pool is selected.

  5. В поле пул серверов убедитесь, что выбран локальный компьютер, и нажмите кнопку Далее.In Server Pool, ensure that the local computer is selected and select Next.

  6. В окне Выбор ролей сервера в списке роливыберите пункт службы политики сети и доступа.In Select Server Roles, in Roles, select Network Policy and Access Services. Откроется диалоговое окно с запросом на добавление компонентов, необходимых для сетевой политики и служб доступа.A dialog box opens asking if it should add features required for Network Policy and Access Services.

  7. Выберите Добавить компоненты, а затем нажмите кнопку Далее .Select Add Features, then select Next

  8. В окне Выбор компонентов нажмите кнопку Далее, а затем в окне Службы политики сети и доступа просмотрите указанные сведения, а затем нажмите кнопку Далее.In Select features, select Next, and in Network Policy and Access Services, review the information provided, then select Next.

  9. В окне Выбор служб ролей выберите сервер политики сети.In Select role services, select Network Policy Server.

  10. Для компонентов, необходимых для сервера политики сети, выберите Добавить компоненты, а затем нажмите кнопку Далее.For features required for Network Policy Server, select Add Features, then select Next.

  11. В поле Подтверждение установки установите флажок автоматически перезагружать сервер назначения при необходимости.In Confirm installation selections, select Restart the destination server automatically if required.

  12. Выберите Да для подтверждения выбранного, а затем нажмите кнопку установить.Select Yes to confirm the selected, and then select Install.

    На странице Ход выполнения установки отображается состояние в процессе установки.The Installation progress page displays the status during the installation process. По завершении процесса отображается сообщение «Установка выполнена в ComputerName«, где ComputerName — имя компьютера, на котором установлен сервер политики сети.When the process completes, the message «Installation succeeded on ComputerName» is displayed, where ComputerName is the name of the computer upon which you installed Network Policy Server.

  13. Выберите Закрыть.Select Close.

Настройка NPSConfigure NPS

После установки NPS настройте NPS для выполнения всех операций проверки подлинности, авторизации и учета для запроса на подключение, полученного от VPN-сервера.After installing NPS, you configure NPS to handle all authentication, authorization, and accounting duties for connection request it receives from the VPN server.

Регистрация сервера NPS в Active DirectoryRegister the NPS Server in Active Directory

В этой процедуре сервер регистрируется в Active Directory, чтобы он получил разрешение на доступ к сведениям об учетных записях пользователей во время обработки запросов на подключение.In this procedure, you register the server in Active Directory so that it has permission to access user account information while processing connection requests.

PROCEDUREProcedure:

  1. В диспетчере сервера щелкните Средства, а затем щелкните Сервер политики сети.In Server Manager, select Tools, and then select Network Policy Server. Откроется консоль NPS.The NPS console opens.

  2. В консоли NPS щелкните правой кнопкой мыши элемент NPS (локальный) и выберите пункт зарегистрировать сервер в Active Directory.In the NPS console, right-click NPS (Local), then select Register server in Active Directory.

    Откроется диалоговое окно Сервер политики сети.The Network Policy Server dialog box opens.

  3. В диалоговом окне сервер политики сети дважды нажмите кнопку ОК .In the Network Policy Server dialog box, select OK twice.

Альтернативные методы регистрации NPS см. в разделе Регистрация сервера NPS в домен Active Directory.For alternate methods of registering NPS, see Register an NPS Server in an Active Directory Domain.

Настройка учета сервера политики сетиConfigure Network Policy Server Accounting

В этой процедуре необходимо настроить учет сервера политики сети с помощью одного из следующих типов ведения журнала:In this procedure, configure Network Policy Server Accounting using one of the following logging types:

  • Ведение журнала событий.Event logging. Используется в основном для аудита и устранения неполадок при попытках подключения.Used primarily for auditing and troubleshooting connection attempts. Ведение журнала событий NPS можно настроить, получая свойства NPS Server в консоли NPS.You can configure NPS event logging by obtaining the NPS server properties in the NPS console.

  • Регистрация запросов проверки подлинности пользователя и учетных данных в локальном файле.Logging user authentication and accounting requests to a local file. Используется в основном для анализа подключений и выставления счетов.Used primarily for connection analysis and billing purposes. Также используется в качестве средства для анализа безопасности, поскольку оно предоставляет метод отслеживания действий злоумышленника после атаки.Also used as a security investigation tool because it provides you with a method of tracking the activity of a malicious user after an attack. Ведение журнала локального файла можно настроить с помощью мастера настройки учета.You can configure local file logging using the Accounting Configuration wizard.

  • Регистрация запросов проверки подлинности и учетных записей пользователей в базе данных, совместимой с XML Microsoft SQL Server.Logging user authentication and accounting requests to a Microsoft SQL Server XML-compliant database. Используется, чтобы разрешить нескольким серверам службы NPS иметь один источник данных.Used to allow multiple servers running NPS to have one data source. Также предоставляет преимущества использования реляционной базы данных.Also provides the advantages of using a relational database. Вы можете настроить ведение журнала SQL Server с помощью мастера настройки учета.You can configure SQL Server logging by using the Accounting Configuration wizard.

Сведения о настройке учета сервера политики сети см. в разделе Настройка учета сервера политики сети.To configure Network Policy Server Accounting, see Configure Network Policy Server Accounting.

Добавление VPN-сервера в качестве RADIUS-клиентаAdd the VPN Server as a RADIUS Client

В разделе Настройка сервера удаленного доступа для Always on VPN вы установили и настроили VPN-сервер.In the Configure the Remote Access Server for Always On VPN section, you installed and configured your VPN server. Во время настройки VPN-сервера вы добавили общий секрет RADIUS на VPN-сервере.During VPN server configuration, you added a RADIUS shared secret on the VPN server.

В этой процедуре используется текстовая строка общего секрета для настройки VPN-сервера в качестве RADIUS-клиента в NPS.In this procedure, you use the same shared secret text string to configure the VPN server as a RADIUS client in NPS. Используйте ту же текстовую строку, которая использовалась на VPN-сервере, или происходит сбой связи между сервером NPS и VPN-сервером.Use the same text string that you used on the VPN server, or communication between the NPS server and VPN server fails.

Важно!

При добавлении нового сервера доступа к сети (VPN-сервера, точки беспроводного доступа, коммутатора с проверкой подлинности или сервера удаленного доступа) в сеть необходимо добавить сервер в качестве RADIUS-клиента на сервере политики сети, чтобы сервер политики сети знал об этом и мог взаимодействовать с сервером доступа к сети.When you add a new network access server (VPN server, wireless access point, authenticating switch, or dial-up server) to your network, you must add the server as a RADIUS client in NPS so that NPS is aware of and can communicate with the network access server.

PROCEDUREProcedure:

  1. На сервере NPS в консоли NPS дважды щелкните RADIUS-клиенты и серверы.On the NPS server, in the NPS console, double-click RADIUS Clients and Servers.

  2. Щелкните правой кнопкой мыши клиенты RADIUS и выберите создать.Right-click RADIUS Clients and select New. Откроется диалоговое окно Новый RADIUS-клиент.The New RADIUS Client dialog box opens.

  3. Убедитесь, что флажок включить этот клиент RADIUS установлен.Verify that the Enable this RADIUS client check box is selected.

  4. В поле понятное имявведите отображаемое имя VPN-сервера.In Friendly name, enter a display name for the VPN server.

  5. В поле адрес (IP или DNS) введите IP-адрес NAS или полное доменное имя.In Address (IP or DNS), enter the NAS IP address or FQDN.

    Если вы вводите полное доменное имя, выберите проверить , если вы хотите убедиться в правильности имени и сопоставляется с ДОПУСТИМЫМ IP-адресом.If you enter the FQDN, select Verify if you want to verify that the name is correct and maps to a valid IP address.

  6. В общем секретевыполните следующие действия.In Shared secret, do:

    1. Убедитесь, что выбрано вручную .Ensure that Manual is selected.

    2. Введите строгую текстовую строку, которая также была введена на VPN-сервере.Enter the strong text string that you also entered on the VPN server.

    3. Повторно введите общий секрет в поле Подтверждение общего секрета.Reenter the shared secret in Confirm shared secret.

  7. Нажмите кнопку OK.Select OK. VPN-сервер появится в списке клиентов RADIUS, настроенных на NPS-сервере.The VPN Server appears in the list of RADIUS clients configured on the NPS server.

Настройка сервера политики сети в качестве RADIUS для VPN-подключенийConfigure NPS as a RADIUS for VPN Connections

В этой процедуре вы настраиваете сервер политики сети в качестве сервера RADIUS в сети Организации.In this procedure, you configure NPS as a RADIUS server on your organization network. На сервере политики сети необходимо определить политику, которая разрешает доступ к Организации или корпоративной сети только пользователям из определенной группы через VPN-сервер, а затем только при использовании действительного сертификата пользователя в запросе проверки подлинности PEAP.On the NPS, you must define a policy that allows only users in a specific group to access the Organization/Corporate network through the VPN Server — and then only when using a valid user certificate in a PEAP authentication request.

PROCEDUREProcedure:

  1. В консоли NPS в стандартной конфигурации убедитесь, что выбран RADIUS-сервер для подключений удаленного доступа или VPN .In the NPS console, in Standard Configuration, ensure that RADIUS server for Dial-Up or VPN Connections is selected.

  2. Выберите Настройка VPN или удаленный доступ.Select Configure VPN or Dial-Up.

    Откроется мастер настройки VPN или коммутируемого подключения.The Configure VPN or Dial-Up wizard opens.

  3. Выберите подключения виртуальной частной сети (VPN) и нажмите кнопку Далее.Select Virtual Private Network (VPN) Connections, and select Next.

  4. В поле Укажите сервер удаленного доступа или VPN-клиенты выберите имя VPN-сервера, добавленного на предыдущем шаге.In Specify Dial-Up or VPN Server, in RADIUS clients, select the name of the VPN Server that you added in the previous step. Например, если NetBIOS-имя VPN-сервера — RAS1, выберите RAS1.For example, if your VPN server NetBIOS name is RAS1, select RAS1.

  5. Выберите Далее.Select Next.

  6. В разделе Настройка методов проверки подлинности выполните следующие действия.In Configure Authentication Methods, complete the following steps:

    1. Снимите флажок Microsoft encrypted Authentication версии 2 (MS-CHAPv2) .Clear the Microsoft Encrypted Authentication version 2 (MS-CHAPv2) check box.

    2. Установите флажок Протокол расширенной проверки подлинности , чтобы выбрать его.Select the Extensible Authentication Protocol check box to select it.

    3. В поле Тип (на основе метода доступа и конфигурации сети) выберите Microsoft: Protected EAP (PEAP), а затем щелкните настроить.In Type (based on the method of access and network configuration), select Microsoft: Protected EAP (PEAP), then select Configure.

      Откроется диалоговое окно Изменение свойств защищенного EAP.The Edit Protected EAP Properties dialog box opens.

    4. Выберите Удалить , чтобы удалить тип EAP Secure Password (EAP-MSCHAP v2).Select Remove to remove the Secured Password (EAP-MSCHAP v2) EAP type.

    5. Нажмите кнопку Добавить.Select Add. Откроется диалоговое окно Добавление EAP.The Add EAP dialog box opens.

    6. Выберите смарт-карта или иной сертификат, а затем нажмите кнопку ОК.Select Smart Card or other certificate, then select OK.

    7. Нажмите кнопку ОК , чтобы закрыть диалоговое окно Изменение свойств защищенного EAP.Select OK to close Edit Protected EAP Properties.

  7. Выберите Далее.Select Next.

  8. В разделе Указание групп пользователей выполните следующие действия.In Specify User Groups, complete the following steps:

    1. Нажмите кнопку Добавить.Select Add. Откроется диалоговое окно Выбор пользователей, компьютеров, учетных записей служб или групп.The Select Users, Computers, Service Accounts, or Groups dialog box opens.

    2. Введите VPN-пользователей, а затем нажмите кнопку ОК.Enter VPN Users, then select OK.

    3. Выберите Далее.Select Next.

  9. В окне укажите IP-фильтры нажмите кнопку Далее.In Specify IP Filters, select Next.

  10. В окне укажите параметры шифрования нажмите кнопку Далее.In Specify Encryption Settings, select Next. Не вносите никаких изменений.Do not make any changes.

    Эти параметры применяются только к подключениям шифрования «точка-точка» (MPPE), которые не поддерживаются этим сценарием.These settings apply only to Microsoft Point-to-Point Encryption (MPPE) connections, which this scenario doesn’t support.

  11. В окне укажите имя области нажмите кнопку Далее.In Specify a Realm Name, select Next.

  12. Нажмите кнопку Готово , чтобы закрыть мастер.Select Finish to close the wizard.

Автоматическая регистрация сертификата сервера политики сетиAutoenroll the NPS Server Certificate

В этой процедуре вы вручную обновляете групповая политика на локальном сервере NPS.In this procedure, you refresh Group Policy on the local NPS server manually. Когда групповая политика обновляется, если автоматическая регистрация сертификатов настроена и работает правильно, локальный компьютер автоматически регистрирует сертификат центром сертификации (ЦС).When Group Policy refreshes, if certificate autoenrollment is configured and functioning correctly, the local computer is auto-enrolled a certificate by the certification authority (CA).

Примечание

Групповая политика обновляется автоматически при перезагрузке компьютера, который является членом домена, или при входе пользователя в систему компьютера, который является членом домена.Group Policy refreshed automatically when you restart the domain member computer, or when a user logs on to a domain member computer. Кроме того, групповая политика периодически обновляет.Also, Group Policy periodically refreshes. По умолчанию это периодическое обновление происходит каждые 90 минут со случайным смещением в течение 30 минут.By default, this periodic refresh happens every 90 minutes with a randomized offset of up to 30 minutes.

Членство в группах « Администраторы» или «эквивалентное» является минимальным требованием для выполнения этой процедуры.Membership in Administrators, or equivalent, is the minimum required to complete this procedure.

PROCEDUREProcedure:

  1. На сервере политики сети откройте Windows PowerShell.On the NPS, open Windows PowerShell.

  2. В командной строке Windows PowerShell введите gpupdateи нажмите клавишу ВВОД.At the Windows PowerShell prompt, type gpupdate, and then press ENTER.

Дальнейшие действияNext steps

Шаг 5. Настройте параметры DNS и брандмауэра для Always On VPN. на этом шаге необходимо установить сервер политики сети (NPS) с помощью Windows PowerShell или мастера Диспетчер сервера добавить роли и компоненты.Step 5. Configure DNS and firewall settings for Always On VPN: In this step, you install Network Policy Server (NPS) by using either Windows PowerShell or the Server Manager Add Roles and Features Wizard. Вы также настраиваете NPS для обработки всех операций проверки подлинности, авторизации и учета для запросов на подключение, получаемых от VPN-сервера.You also configure NPS to handle all authentication, authorization, and accounting duties for connection requests that it receives from the VPN server.

Настройка сервера удаленного доступа для постоянно подключенного VPN-профиля

Служба RRAS разработана так же, как маршрутизатор и сервер удаленного доступа, поскольку она поддерживает широкий набор функций.RRAS is designed to perform well as both a router and a remote access server because it supports a wide array of features. Для целей этого развертывания требуется только небольшое подмножество этих функций: поддержка VPN-подключений IKEv2 и маршрутизация по локальной сети.For the purposes of this deployment, you require only a small subset of these features: support for IKEv2 VPN connections and LAN routing.

IKEv2 — это туннельный протокол VPN, описанный в статье запрос принудительного запроса задачи по инженерам Интернета для комментариев 7296.IKEv2 is a VPN tunneling protocol described in Internet Engineering Task Force Request for Comments 7296. Основное преимущество IKEv2 заключается в том, что оно допускает прерывания в базовом сетевом подключении.The primary advantage of IKEv2 is that it tolerates interruptions in the underlying network connection. Например, если подключение временно потеряно или пользователь переместит клиентский компьютер из одной сети в другую, IKEv2 автоматически восстанавливает VPN-подключение при переустановке сетевого подключения — без вмешательства пользователя.For example, if the connection is temporarily lost or if a user moves a client computer from one network to another, IKEv2 automatically restores the VPN connection when the network connection is reestablished—all without user intervention.

Настройте сервер RRAS для поддержки подключений IKEv2 при отключении неиспользуемых протоколов, что снижает объем безопасности сервера.Configure the RRAS server to support IKEv2 connections while disabling unused protocols, which reduces the server’s security footprint. Кроме того, настройте сервер для назначения адресов VPN-клиентам из статического пула адресов.Additionally, configure the server to assign addresses to VPN clients from a static address pool. Вы можете феасибли назначать адреса из пула или DHCP-сервера. Однако использование DHCP-сервера повышает сложность проектирования и предоставляет минимальные преимущества.You can feasibly assign addresses from either a pool or a DHCP server; however, using a DHCP server adds complexity to the design and delivers minimal benefits.

В этой процедуре вы устанавливаете роль удаленного доступа как VPN-сервер шлюза RAS одного клиента.In this procedure, you install the Remote Access role as a single tenant RAS Gateway VPN server. Дополнительные сведения см. в разделе Удаленный доступ.For more information, see Remote Access.

Для установки роли удаленного доступа с помощью диспетчер сервера можно использовать следующую процедуру.You can use the following procedure to install the Remote Access role using Server Manager.

Откроется диалоговое окно Мастер добавления ролей и компонентов .The Add Roles and Features Wizard dialog box opens.

В этом разделе вы можете настроить VPN удаленного доступа, разрешающее подключения по протоколу IKEv2 VPN, запретить подключения от других протокола VPN и назначить пул статических IP-адресов для выдачи IP-адресов для подключения разрешенных VPN-клиентов.In this section, you can configure Remote Access VPN to allow IKEv2 VPN connections, deny connections from other VPN protocols, and assign a static IP address pool for the issuance of IP addresses to connecting authorized VPN clients.

  • На VPN-сервере в диспетчер сервера выберите флаг уведомлений .On the VPN server, in Server Manager, select the Notifications flag.

  • В меню задачи выберите команду открыть мастер начало работы .In the Tasks menu, select Open the Getting Started Wizard

    Откроется мастер настройки удаленного доступа.The Configure Remote Access wizard opens.

    Примечание

    Мастер настройки удаленного доступа может открыться позади диспетчер сервера.The Configure Remote Access wizard might open behind Server Manager. Если вы считаете, что мастер занимает слишком много времени, переместите или уменьшите диспетчер сервера, чтобы узнать, находится ли мастер за ним.If you think the wizard is taking too long to open, move or minimize Server Manager to find out whether the wizard is behind it. В противном случае дождитесь инициализации мастера.If not, wait for the wizard to initialize.

  • Выберите вариант развернуть только VPN.Select Deploy VPN only.

    Откроется консоль управления Microsoft (MMC) Маршрутизация и удаленный доступ.The Routing and Remote Access Microsoft Management Console (MMC) opens.

  • Щелкните правой кнопкой мыши VPN-сервер, а затем выберите настроить и включить маршрутизацию и удаленный доступ.Right-click the VPN server, then select Configure and Enable Routing and Remote Access.

    Откроется мастер установки сервера маршрутизации и удаленного доступа.The Routing and Remote Access Server Setup Wizard opens.

  • В окне приветствия мастера установки сервера маршрутизации и удаленного доступа нажмите кнопку Далее.In the Welcome to the Routing and Remote Access Server Setup Wizard, select Next.

  • В окне Конфигурациявыберите Настраиваемая конфигурация, а затем нажмите кнопку Далее.In Configuration, select Custom Configuration, and then select Next.

  • В окне Настраиваемая конфигурациявыберите VPN-доступ, а затем нажмите кнопку Далее.In Custom Configuration, select VPN access, and then select Next.

    Откроется окно Завершение работы мастера установки сервера маршрутизации и удаленного доступа.The Completing the Routing and Remote Access Server Setup Wizard opens.

  • Нажмите кнопку Готово , чтобы закрыть мастер, а затем кнопку ОК , чтобы закрыть диалоговое окно Маршрутизация и удаленный доступ.Select Finish to close the wizard, then select OK to close the Routing and Remote Access dialog box.

  • Выберите запустить службу , чтобы запустить удаленный доступ.Select Start service to start Remote Access.

  • В консоли управления для удаленного доступа щелкните правой кнопкой мыши VPN-сервер и выберите пункт Свойства.In the Remote Access MMC, right-click the VPN server, then select Properties.

  • В окне Свойства перейдите на вкладку Безопасность и выполните следующие действия.In Properties, select the Security tab and do:

    а.a. Выберите поставщик проверки подлинности и выберите Проверка подлинности RADIUS.Select Authentication provider and select RADIUS Authentication.

    b.b. Нажмите кнопку Настроить.Select Configure.

    Откроется диалоговое окно Проверка подлинности RADIUS.The RADIUS Authentication dialog box opens.

    c.c. Выберите Добавить.Select Add.

    Откроется диалоговое окно Добавление сервера RADIUS.The Add RADIUS Server dialog box opens.

    d.d. В поле имя серверавведите полное доменное имя (FQDN) сервера политики сети в вашей организации или корпоративной сети.In Server name, enter the Fully Qualified Domain Name (FQDN) of the NPS server on your Organization/Corporate network.

    Например, если NetBIOS-имя сервера NPS — NPS1, а имя домена — corp.contoso.com, введите NPS1.Corp.contoso.com.For example, if the NetBIOS name of your NPS server is NPS1 and your domain name is corp.contoso.com, enter NPS1.corp.contoso.com.

    д)e. В окне общий секретвыберите изменить.In Shared secret, select Change.

    Откроется диалоговое окно изменение секрета.The Change Secret dialog box opens.

    е)f. В поле новый секретвведите текстовую строку.In New secret, enter a text string.

    ж.g. В поле Подтверждение нового секретавведите ту же текстовую строку, а затем нажмите кнопку ОК.In Confirm new secret, enter the same text string, then select OK.

    Важно!

    Сохраните эту текстовую строку.Save this text string. При настройке сервера политики сети в организации или корпоративной сети этот VPN-сервер будет добавлен в качестве RADIUS-клиента.When you configure the NPS Server on your Organization/Corporate network, you will add this VPN Server as a RADIUS Client. Во время этой конфигурации вы будете использовать тот же общий секрет, чтобы серверы NPS и VPN могли обмениваться данными.During that configuration, you will use this same shared secret so that the NPS and VPN Servers can communicate.

  • В окне Добавление сервера RADIUSпроверьте параметры по умолчанию для.In Add RADIUS Server, review the default settings for:

  • При необходимости измените значения в соответствии с требованиями для вашей среды и нажмите кнопку ОК.If necessary, change the values to match the requirements for your environment and select OK.

    NAS — это устройство, предоставляющее некоторый уровень доступа к более крупной сети.A NAS is a device that provides some level of access to a larger network. NAS, использующий инфраструктуру RADIUS, также является клиентом RADIUS, который отправляет запросы на подключение и сообщения учета на сервер RADIUS для проверки подлинности, авторизации и учета.A NAS using a RADIUS infrastructure is also a RADIUS client, sending connection requests and accounting messages to a RADIUS server for authentication, authorization, and accounting.

  • Проверьте настройку регистратора.Review the setting for Accounting provider:

    Если требуется…If you want the… То…Then…
    Действие удаленного доступа, зарегистрированное на сервере удаленного доступаRemote Access activity logged on the Remote Access server Убедитесь, что выбраны учетные данные Windows .Make sure that Windows Accounting is selected.
    Сервер политики сети для выполнения служб учета VPNNPS to perform accounting services for VPN Измените поставщик учетной отчетности на RADIUS-учет , а затем настройте NPS в качестве поставщика учетных данных.Change Accounting provider to RADIUS Accounting and then configure the NPS as the accounting provider.
  • Перейдите на вкладку IPv4 и выполните следующие действия.Select the IPv4 tab and do:

    а.a. Выберите статический пул адресов.Select Static address pool.

    b.b. Выберите Добавить , чтобы настроить пул IP-адресов.Select Add to configure an IP address pool.

    Пул статических адресов должен содержать адреса из внутренней сети периметра.The static address pool should contain addresses from the internal perimeter network. Эти адреса находятся на внутреннем сетевом подключении на VPN-сервере, а не в корпоративной сети.These addresses are on the internal-facing network connection on the VPN server, not the corporate network.

    c.c. В поле начальный IP-адресвведите начальный IP-адрес в диапазоне, который вы хотите назначить VPN-клиентам.In Start IP address, enter the starting IP address in the range you want to assign to VPN clients.

    d.d. В поле конечный IP-адресвведите конечный IP-адрес в диапазоне, который вы хотите назначить VPN-клиентам или в поле число адресоввведите номер адреса, который необходимо сделать доступным.In End IP address, enter the ending IP address in the range you want to assign to VPN clients, or in Number of addresses, enter the number of the address you want to make available. Если вы используете DHCP для этой подсети, убедитесь, что на DHCP-серверах настроено соответствующее исключение адресов.If you’re using DHCP for this subnet, ensure that you configure a corresponding address exclusion on your DHCP servers.

    д)e. Используемых Если вы используете DHCP, выберите адаптери в списке результатов выберите адаптер Ethernet, подключенный к внутренней сети периметра.(Optional) If you are using DHCP, select Adapter, and in the list of results, select the Ethernet adapter connected to your internal perimeter network.

  • Используемых При настройке условного доступа для VPN-подключенияиз раскрывающегося списка Сертификат в разделе привязка SSL-сертификатавыберите аутентификацию сервера VPN.(Optional) If you are configuring conditional access for VPN connectivity, from the Certificate drop-down list, under SSL Certificate Binding, select the VPN server authentication.

  • Используемых Если вы настраиваете условный доступ для VPN-подключения, в консоли управления «NPS» разверните узел политики политики \ сети и выполните следующие действия.(Optional) If you are configuring conditional access for VPN connectivity, in the NPS MMC, expand Policies\Network Policies and do:

    а.a. Правой кнопкой мыши щелкните подключения к сетевой политике сервера маршрутизации и удаленного доступа Майкрософт и выберите свойства.Right-the Connections to Microsoft Routing and Remote Access Server network policy and select Properties.

    b.b. Выберите доступ с предоставлением доступа. Предоставить доступ, если запрос на подключение соответствует этому параметру политики.Select the Grant access. Grant access if the connection request matches this policy option.

    c.c. В разделе Тип сервера сетевого доступа выберите сервер удаленного доступа (VPN-подключение) в раскрывающемся списке.Under Type of network access server, select Remote Access Server (VPN-Dial up) from the drop-down.

  • В консоли MMC «Маршрутизация и удаленный доступ» щелкните правой кнопкой мыши элемент порты и выберите пункт свойства.In the Routing and Remote Access MMC, right-click Ports, and then select Properties.

    Откроется диалоговое окно Свойства портов.The Ports Properties dialog box opens.

  • Выберите Минипорт WAN (SSTP) и щелкните Configure (настроить).Select WAN Miniport (SSTP) and select Configure. Откроется диалоговое окно Настройка мини-порта устройства WAN (SSTP).The Configure Device — WAN Miniport (SSTP) dialog box opens.

    а.a. Снимите флажки подключения удаленного доступа (только входящие) и подключения с маршрутизацией вызовов по требованию (входящие и исходящие) .Clear the Remote access connections (inbound only) and Demand-dial routing connections (inbound and outbound) check boxes.

    b.b. Щелкните ОК.Select OK.

  • Выберите Минипорт WAN (L2TP) и щелкните Configure (настроить).Select WAN Miniport (L2TP) and select Configure. Откроется диалоговое окно Настройка мини-порта устройства WAN (L2TP).The Configure Device — WAN Miniport (L2TP) dialog box opens.

    а.a. В поле Максимальное число портоввведите количество портов в соответствии с максимальным количеством одновременных VPN-подключений, которые требуется поддерживать.In Maximum ports, enter the number of ports to match the maximum number of simultaneous VPN connections that you want to support.

    b.b. Щелкните ОК.Select OK.

  • Выберите Минипорт WAN (PPTP) и щелкните Configure (настроить).Select WAN Miniport (PPTP) and select Configure. Откроется диалоговое окно Настройка мини-порта устройства WAN (PPTP).The Configure Device — WAN Miniport (PPTP) dialog box opens.

    а.a. В поле Максимальное число портоввведите количество портов в соответствии с максимальным количеством одновременных VPN-подключений, которые требуется поддерживать.In Maximum ports, enter the number of ports to match the maximum number of simultaneous VPN connections that you want to support.

    b.b. Щелкните ОК.Select OK.

  • Выберите Минипорт WAN (IKEv2) и щелкните Configure (настроить).Select WAN Miniport (IKEv2) and select Configure. Откроется диалоговое окно Настройка мини-порта устройства WAN (IKEv2).The Configure Device — WAN Miniport (IKEv2) dialog box opens.

    а.a. В поле Максимальное число портоввведите количество портов в соответствии с максимальным количеством одновременных VPN-подключений, которые требуется поддерживать.In Maximum ports, enter the number of ports to match the maximum number of simultaneous VPN connections that you want to support.

    b.b. Щелкните ОК.Select OK.

  • При появлении запроса выберите Да , чтобы подтвердить перезапуск сервера, и нажмите кнопку Закрыть , чтобы перезапустить сервер.If prompted, select Yes to confirm restarting the server and select Close to restart the server.

  • Шаг 4. Установка и настройка сервера политики сети (NPS). на этом шаге вы устанавливаете сервер политики сети (NPS) с помощью Windows PowerShell или мастера добавления ролей и компонентов Диспетчер сервера.Step 4. Install and configure the Network Policy Server (NPS): In this step, you install Network Policy Server (NPS) by using either Windows PowerShell or the Server Manager Add Roles and Features Wizard. Вы также настраиваете NPS для обработки всех операций проверки подлинности, авторизации и учета для запросов на подключение, получаемых от VPN-сервера.You also configure NPS to handle all authentication, authorization, and accounting duties for connection requests that it receives from the VPN server.

    Настройка VPN сервера на Windows 7

    В данной статье мы ознакомимся с тем, как можно организовать собственный VPN сервер на Windows 7 без использования стороннего софта

    Напомню, что VPN (Virtual Private Network) этотехнология, используемая для доступа к защищенным сетям через общую сеть Internet. VPN позволяет обеспечить защиту информации и данных, передаваемой по общедоступной сети, путем их шифрования. Тем самым злоумышленник не сможет получить доступ к данным, передаваемым внутри VPN сессии, даже если он получить доступ к передаваемым по сети пакетам. Для расшифровки трафика ему необходимо иметь специальный ключ, либо пытаться расшифровать сессию при помощи грубого брутфорса. Кроме того, это дешевое решение для построения сети предприятия по каналам WAN, без необходимости аренды выделенного дорогостоящего  канала связи.

    Для чего может понадобиться организация VPN сервера на Windows 7? Наиболее распространенный вариант – необходимость организации удаленного доступа к компьютеру с Windows 7 дома или в малом офисе (SOHO) при нахождении, например, в командировке, в гостях, в общем, не на рабочем месте.

    Стоит отметить, что VPN сервер на Windows 7 имеет ряд особенностей и ограничений:

    • Вы должны четко понимать и принять все потенциальные риски, связанные с VPN подключением
    • Одновременно возможно только одно подключение пользователя и организовать одновременный VPN доступ к компьютеру с Win 7 нескольким пользователям сразу, легально нельзя.
    • VPN доступ можно предоставить только локальным учетным записям пользователей, и интеграция с Active Directory невозможна
    • Для настройки VPN сервера на машине с Win 7 необходимо иметь права администратора
    • Если вы подключаетесь к интернет через роутер, вам необходимо иметь к нему доступ, и нужно уметь настраивать правила для организации проброса портов (port forward) для разрешения входящих VPN подключений (собственно процедура настройки может существенно отличаться в зависимости от модели роутера)

    Данная пошаговая инструкции поможет вам организовать собственный VPN сервер на Windows 7, не используя сторонние продукты и дорогостоящие корпоративные решения.

    Откройте панель Network Connections (Сетевые подключения), набрав «network connection» в поисковой строке стартового меню, выберете пункт “View network connections”.

    Затем зажмите кнопку Alt, щелкните по меню File и выберете пункт New Incoming Connection (Новое входящее подключение), в результате чего запустится мастер создания подключений к компьютеру.

    В появившемся окне мастера укажите пользователя, которому будет разрешено подключаться к этому компьютеру с Windows 7 посредством VPN.

    Затем укажите тип подключения пользователя (через Интернет или через модем), в данном случае выберите “Thought the Internet”.

    Затем укажите типы сетевых протоколов, которые будут использоваться для обслуживания входящего VPN подключения. Должен быть выбран как минимум TCP/IPv4.

    Нажмите кнопку Properties и укажите IP адрес, который будет присвоен подключающемуся компьютеру (доступный диапазон можно задать вручную, либо указать что ip адрес выдаст DHCP сервер).

    После того, как вы нажмете кнопку Allow access , Windows 7 автоматически настроит VPN сервер и появится окно с именем компьютера, которое нужно будет использоваться для подключения.

    Вот и все VPN север настроен, и в окне сетевых подключений появится новое подключение с именем Incoming connections.

    Есть еще несколько нюансов при организации домашнего VPN сервера на Windows 7.

    Настройка межсетевых экранов

    Между Вашим компьютером с Windows 7 и сетью Интернет могут находится файерволы, и для того, чтобы они пропускали входящее VPN соединение, Вам придется осуществить их донастройку. Настройка различных устройств весьма специфична и не может быть описана в рамках одной статьи, но главное уяснить правило – необходимо открыть порт VPN PPTP с номером 1723 и настроить форвард (переадресацию) подключений на машину с Windows 7, на которой поднят VPN сервер.

    Нужно не забыть проверить параметры встроенного брандмауэра Windows. Откройте панель управления  Advanced Settings  в Windows Firewall, перейдите в раздел Inbound Rules (Входящие правила) и проверьте что правило “Routing and Remote Access (PPTP-In)” включено. Данное правило разрешает принимать входящие подключения по порту 1723

    Проброс портов

    Ниже я выложил скриншот, показывающий организацию проброса (форвардинг) порта на моем роутере от NetGear. На рисунке видно, что все внешние подключения на порт 1723 перенаправляются на машину Windows 7 (адрес которой статический).

    Настройка VPN подключения

    Чтобы подключиться к VPN серверу с Windows 7, на подключающейся машине-клиенте необходимо настроить VPN подключение

    Для этого для нового VPN соединения задайте следующие параметры:

    • Щелкните правой кнопкой по VPN подключению и выберите Properties.
    • На вкладке Security в поле Type of VPN (тип VPN) выберите опцию Point to Point Tunneling Protocol (PPTP) и в разделе Data encryption выберите Maximum strength encryption (disconnect if server declines).
    • Нажмите OK , чтобы сохранить настройки

    Настройка VPN сервера на Windows Server. Протокол L2TP, PPTP.

    Доброго дня. Обратился не так давно ко мне человек. Человек этот не глупый, сам там что-то настраивать умеет, главное пользоваться умеет. Знает что такое RDP, умело им пользуется в своей работе. А работа у него что-то типа директора-смотрящего в небольшой сети магазинов. Присоединяйтесь к нашей группе в ВК! Времонте! Умная мастерская!

    Ну вот собственно он и старается за всем углядеть. Непонятно уж как, но штатного у них сисадмина нет, а есть пару поднятых терминальных серверов с крутящейся на них 1С 8.2 УТ. Базы те конечно РИБ, но всеже т.к объем баз и оборот довольно большой, обмен происходит между магазинами в ночное время. Ну и собственно информацию в основной базе он получает с запозданием. Дабы смотреть за всем, ну уж коли есть необходимость, в режиме онлайн, он заходит на кучу серверов по RDP, помнит кучу паролей, путается и в итоге нервничает. Глянув на все это дело, и обратив внимание, что все точки у него подключены к интернету через одного провайдера, я решил просто пробросить VPN-тунель от подчиненных серверов к основному.И на нем уже подключить 1С базы. Дешево и сердито, как посчитал я. Можно конечно базы прям в инет открыть, но сами понимаете.. Или если бы конфигурация поддерживала управляемые формы, можно было бы вообще все вывести через браузер как тут. Но увы. Поэтому после небольшого экскурса притупим к настройке VPN-сервера.

    На википедии есть статейка конечно же, что такое VPN, прям вот тут. Ее стоит прочитать, хотя бы раз. Но мы все же начнем.

    УСТАНОВКА VPN сервера на windows server

    Начать нам следует с установки роли сервера «Службы политики сети и доступа»

    Настройка VPN сервера на windows server. Протокол L2TP, PPTP.

    Ставим галочку напротив роли

    Настройка VPN сервера на windows server. Протокол L2TP, PPTP.

    Далее выбираем Службы Роли: Ставим галочки напротив группы Службы маршрутизации и удаленного доступа, и подгрупп Служба удаленного доступа и Маршрутизация.

    Настройка VPN сервера на windows server. Протокол L2TP, PPTP.

    Ну и собственно после Далее Далее.. остается эту роль только настроить.

    Настройка VPN СЕРВЕРА НА WINDOWS SERVER

    Также через диспетчер сервера открываем вновь созданную роль и переходим к ее настройке

    Настройка VPN сервера на windows server. Протокол L2TP, PPTP.

    В мастере настройки выбираем Особая конфигурация.

    Настройка VPN сервера на windows server. Протокол L2TP, PPTP.

    Далее выбираем службу Доступ к виртуальной сети (VPN)

    Настройка VPN сервера на windows server. Протокол L2TP, PPTP.

    В итоге это все. Нажав Готово и Запустить службу, закончили с настройкой. Если есть необходимость поместить всех клиентов vpn  в выделенный пул сетевых адресов то переходим Диспетчер сервера -> Роли -> Службы политики сети и доступа -> ПКМ по Маршрутизация и удаленный доступ -> Свойства

    Настройка VPN сервера на windows server. Протокол L2TP, PPTP.

    Переходим на вкладку IPv4 и настраиваем необходимый нам пул адресов. Либо оставляем не тронутым, возлагая сие действо на DHCP-службу, которая уже есть в сети сервера.

    Настройка VPN сервера на windows server. Протокол L2TP, PPTP.

    Теперь необходимо создать, если не созданы, пользователей, и назначить им права на возможность подключения по VPN. Для этого переходим к списку пользователей Диспетчер сервера -> Конфигурация -> Локальные пользователи и группы -> Пользователи -> ПКМ по выбранному пользователю -> Свойства. На вкладке Входящие звонки в разделе Права доступа к сети выбираем Разрешить доступ. При необходимости можно в этой же вкладке назначить статический адрес этому пользователю.

    На этом настройка VPN сервера на Windows server 2008r2 закончена.

    Необходимо также, дабы открыть VPN сервер в интернет, пробросить порты на маршрутизаторе либо открыть их в фаерволе. Какие порты пробрасывать зависит от выбранного протокола. Самым распространенным является протокол PPTP для него необходимо пробросить порт 1723 (TCP) + разрешить протокол GRE. А также часто используемый мною протокол L2TP 1701 (TCP)+ 500 (UDP), с которым есть некие проблемы при  первоначальной настройке.

    Прочитать как можно пробросить порты находясь за маршрутизатором можно тут.

    Прочитать как пробросить порты в штатном брандмауре windows server можно тут.

    Почитать о настройке клиентского соединения по протоколу PPTP можно тут.

    Почитать о настройке клиентского  соединения по протоколу L2TP можно тут.

    Присоединяйтесь к нашей группе в ВК! Времонте! Умная мастерская!

    Поделиться ссылкой:

    что это такое, где найти бесплатный, как создать и настроить на Windows

    Безопасность и шифрование данных в сети очень важны. Сегодня об этом стоит заботиться не только крупным корпорациям, но и обычным пользователям. Использование VPN-сервера является одним из самых популярных способов обезопасить своё подключение к интернету.

    Общая информация о VPN-серверах

    Термин VPN расшифровывается как Virtual Private Network. Использование VPN-серверов означает использование виртуальной сети для доступа к внешним интернет-ресурсам. То есть ваше присутствие будет скрыто, а передаваемые данные зашифрованы. Подобное подключение может быть полезно в следующих случаях:

    • для организации бизнеса — защита данных через VPN регулярно используется крупнейшими корпорациями. Кроме повышенной безопасности такого метода передачи данных, польза ещё и в удобстве — все компьютеры можно соединить в единую сеть, что упрощает их взаимодействия;
    • для ограничения доступам к сайтам — можно настроить, к каким именно сайтам ваше VPN-соединение будет предоставлять доступ. Таким образом можно ограничить, например, посещение социальных сетей с рабочего места;
    • для получения доступа к сайтам — если сайт недоступен в регионе, то можно получить к нему доступ при помощи VPN-подключения. Ваше местоположение будет скрыто. Правда, учитывайте, что скорость посещения сайтов будет снижена.

    Таким образом, использование VPN-серверов является широко распространённым как в сфере бизнеса, так и для домашнего использования.

    Платные и бесплатные VPN-сервисы

    Существуют уже готовые решения для VPN-подключения. Вместо создания собственного подключения можно просто использовать специальные сервисы. Они маскируют присутствие в сети, выступая посредником между пользователем и внешним интернетом. Доступ к ним предоставляют самые разные компании. Все их можно разделить на два типа:

    • бесплатные VPN-серверы — подключиться к такому серверу можно бесплатно, но при этом его функциональность будет ограничена. Зачастую снижается скорость подключения и уменьшается количество самих серверов. Кроме того, при подключении к бесплатному серверу безопасность соединения низка: скорее всего, организатор этого сервера будет продавать данные о посещённых вами сайтах. На такие данные большой спрос у рекламных кампаний;
    • платные VPN-серверы — в платных серверах отсутствуют ограничения по скорости, вы можете сами выбрать регион, через который должно шифроваться подключение. При этом стоит внимательно изучить лицензионное соглашение при использовании такого сервера: чаще всего разработчики гарантируют полную конфиденциальность.

    Если вы собираетесь использовать готовые VPN-серверы, стоит рассмотреть плюсы и минусы подобного метода. Основные преимущества таковы:

    • широкий выбор — существует множество различных сервисов, которые готовы предоставить свои VPN-серверы. Все они предлагают разные возможности, скорость и доступные для выбора страны;
    • доступность — вам не понадобится обладать никакими навыками для запуска своего сервера и его обслуживания. Достаточно нажать пару кнопок для подключения к публичному VPN-сервису.

    Минусы тоже имеются:

    • отсутствие полной анонимности — вне зависимости от того, используете вы платный или бесплатный VPN-сервис, не стоит ожидать полной анонимности от него. Организатор сервиса будет знать, какие сайты вы посещаете, и сможет продать эту информацию или предоставить её по требованию властей. Поэтому использовать такие сервисы можно лишь для домашних целей, а не корпоративных;
    • низкая скорость при бесплатном варианте — даже платные подключения не всегда имеют хорошую стабильность подключения и скорость. В бесплатных же скорости хватит лишь для просмотра сайтов.

    Инструкция по подключению к VPN-сервису

    Подключиться к уже готовому VPN-серверу нетрудно. Обычно создатели сервисов делают всё, чтобы минимизировать действия со стороны пользователя. Разберёмся на примере подключения к сервису PureVPN:

    1. Найдите необходимое расширение в списке браузера. Для этого стоит использовать поиск в левой части экрана. Нажмите клавишу «Установить».

      Выберите необходимое расширение и нажмите на кнопку «Установить»

    2. Подтвердите установку расширения.

      Нажмите кнопку «Установить расширение» в уведомлении браузера

    3. Зарегистрируйтесь для работы расширения. Нажмите на кнопку SIGN UP FOR FREE для начала процедуры бесплатной регистрации.

      Нажмите SIGN UP FOR FREE для начала регистрации

    4. Введите свою электронную почту, изучите пользовательское соглашение и заявление о политике конфиденциальности. Поставьте галочку, подтверждающую, что вы ознакомились с данной информацией, и нажмите кнопку SIGN UP FOR FREE.

      Введите данные и продолжите регистрацию

    5. Откройте электронную почту, которую вы указали при регистрации. На неё должен прийти код подтверждения. Скопируйте его.

      Вам на почту придёт код подтверждения регистрации

    6. Вставьте код подтверждения в соответствующее окно и нажмите SUBMIT.

      Введите код и подтвердите ввод

    7. Останется лишь нажать CONNECT для установки VPN-соединения. При желании можно выбрать сервер нужной вам страны.

      Нажмите клавишу CONNECT для подключения к сервису

    Подключения к другим VPN-сервисам будет происходить аналогично, а иногда даже проще. Например, не каждый сервис потребует от вас предварительной регистрации для использования.

    Создание собственного VPN-сервера

    Альтернативой использования готовых VPN-серверов является создание собственного. Оно имеет ряд преимуществ:

    • дешевизна — даже если придётся арендовать сервер, это обойдётся значительно дешевле, чем использование любого платного VPN. Сравнивать с бесплатными VPN не имеет смысла из-за их многочисленных недостатков;
    • конфиденциальность — если вы сами создадите сервер, то не стоит волноваться, что кто-то использует данные против вас. Это значительно повышает уровень анонимности при использовании сети;
    • более гибкие настройки — на своём сервере вы можете менять IP-адрес и прочие настройки самостоятельно без каких-либо ограничений.

    К недостаткам можно отнести лишь сложность настройки такого сервера, т. к. для его создания понадобятся некоторые технические навыки. Однако в Windows 10 процедура запуска VPN-сервера была существенно упрощена по сравнению с предыдущими версиями операционной системы.

    Создание VPN-сервера на базе Windows Server R2

    Разберёмся, как создать собственный сервер. Перед началом вам понадобится установить Windows Server R2. Вы можете загрузить пробную версию с официального сайта Microsoft. Мы будем рассматривать лишь самый простой вариант создания сервера без сложных настроек:

    1. Запустите «Диспетчер серверов» по кнопке внизу экрана и нажмите на строку «Добавить роли и компоненты».

      Выберите строку «Добавить роли и компоненты» в окне «Диспетчера серверов»

    2. Не меняйте заданные значения до раздела «Роли сервера». Там включите пункт «Удалённый доступ». Появится уведомление, где требуется нажать «Добавить компоненты» и «Далее».

      Включите «Удалённый доступ» и нажмите «Далее»

    3. Убедитесь, что в разделе «Службы ролей» стоит галочка напротив пункта DirectAccess и VPN. Установите её, если она отсутствует.

      Установите галочку на службу DirectAccess и VPN и нажмите «Далее»

    4. В разделе «Подтверждение» требуется установить галочку для автоматического перезапуска сервера. Подтвердите установку сервера кнопкой «Установить».

      Установите галочку «Автоматический перезапуск конечного сервера, если требуется» и нажмите «Установить»

    5. Начнётся процесс установки. Дождитесь его окончания, а затем выберите пункт «Запуск мастера начальной настройки».

      После завершения установки нажмите на строку «Запуск мастера начальной настройки»

    6. В открывшемся окне выберите строку «Развернуть только VPN». Это напрямую соответствует нашим целям, так что выбираем его.

      В настройке удалённого доступа выберите пункт «Развернуть только VPN»

    Можно считать, что мы создали сервер. Теперь стоит правильным образом настроить его перед запуском:

    1. В разделе «Действие» верхней строки выберите пункт «Добавить сервер».

      Выберите пункт «Добавить сервер» в разделе «Действие»

    2. В контекстном меню локального сервера, который вы создали, выберите пункт «Настроить и включить маршрутизацию и удалённый доступ».

      В контекстном меню сервера выберите пункт «Настроить и включить маршрутизацию и удалённый доступ»

    3. После запуска программы установки укажите «Особая конфигурация» и подтвердите ввод.

      Выберите пункт «Особая конфигурация» и нажмите «Далее»

    4. В следующем окне выберите раздел «Доступ к виртуальной сети (VPN)». Галочка должна стоять только на нём.

      Установите галочку рядом с пунктом «Доступ к виртуальной частной сети» и нажмите «Далее»

    5. Согласитесь с запуском службы.

    Если у вас наблюдаются проблемы с настройками брандмауэра, требуется открыть 50, 500, 1701. Они используются при создании VPN-подключения и должны быть открыты для его стабильной работы.

    Так мы создали VPN-подключение на собственном сервере. Но перед тем как переходить к его использованию, стоит задать IP-адреса, которые будут иметь защищённый доступ к этому компьютеру. Делается это следующим образом:

    1. Откройте контекстное меню вашего сервера, но в этот раз перейдите в его свойства.

      Перейдите в свойства вашего сервера

    2. В разделе iPv4 выберите пункт «статический пул адресов» и нажмите на кнопку «Добавить».

      Выберите статический пул адресов и нажмите «Добавить»

    3. Вбейте требуемые адреса для будущего подключения. Они должны соответствовать адресам компьютеров в вашей сети.

      Укажите диапазон адресов и нажмите «ОК»

    4. Сохраните введённые данные.

    Запуск VPN-сервера

    Когда мы создали VPN-сервер, остаётся лишь запустить его:

    1. Перейдите в настройки системы и выберите раздел «Сеть и Интернет».
    2. В левой части экрана выберите вкладку VPN и нажмите на плюс.

      В разделе VPN выберите «Добавление VPN-подключения»

    3. Заполните форму подключения:
      • в первой строке оставьте значение по умолчанию;
      • во второй строке установите имя вашего подключения. Оно может быть любым;
      • укажите адрес вашего сервера. Лучше, если адрес будет статическим;
      • введите тип VPN-подключения;
      • укажите PPTP;
      • подтвердите ввод данных и нажмите «Сохранить».

        Введите параметры вашего подключения и нажмите «Сохранить»

    Сервер практически готов к запуску, но перед этим требуется выполнить ещё несколько настроек, чтобы к нему могли подключиться другие пользователи:

    1. Через поиск откройте «Центр управления сетями и общим доступом». Перейдите в раздел «Изменение параметров адаптера», что находится в левой части экрана.

      Перейдите в раздел «Изменение параметров адаптера» для дальнейших настроек

    2. В этом окне вы увидите все доступные подключения, в том числе и созданное вами. Нажмите правой кнопкой по нему и выберите раздел «Свойства».

      Перейдите в свойства подключения через «Центр управления сетями и общим доступом»

    3. Во вкладке «Сеть» выберите компонент IPv4 и нажмите кнопку «Свойства».

      Перейдите в свойства IPv4

    4. Не трогайте настройки IP, сразу нажмите кнопку «Дополнительно…».

      Нажмите на кнопку «Дополнительно» для получения дополнительных настроек

    5. Уберите галочку напротив строки «Использовать основной шлюз в удалённой сети» и подтвердите изменения.

      Снимите галочку с пункта «Использовать основной шлюз в удалённой сети» и нажмите «ОК»

    6. Теперь вы можете выполнить подключение к созданному VPN-серверу.

      Выберите созданный вами VPN и нажмите «Подключиться»

    Видео: процесс создания VPN-сервера

    Подключение к VPN-серверу является доступным и действенным методом обезопасить своё подключение к сети. Используют его и для других целей. Теперь вы знаете, как запустить собственный VPN-сервер или подключиться к уже готовому.

    Настройка VPN-сервера в Windows Server — IT Blog

    На тесте приведу пример настройки VPN-сервера в Windows Server 2008 R2.

    Первым делом установим роль:

    1) Открываем диспетчер сервера и нажимаем на ссылку «Добавить роль«.

    2) Выбираем роль «Службы политики сети и доступа» и нажимаем «Далее«.

    3) Выбираем «удаленного доступа» и нажимаем «Далее«.

    4) Нажимаем «Установить» и по завершению установки кнопку «Закрыть«.

    Теперь перейдем к настройке:

    1) Открываем диспетчер сервера, раскрываем ветку «Роли«, выбираем роль «Службы политики сети и доступа«, правой кнопкой мыши жмем по «Маршрутизация и удаленный доступ«, выбираем «Настроить и включить маршрутизацию и удаленный доступ«.

    2) В первом окошке жмем «Далее«, в следующем выберем «Особая конфигурация«, жмем кнопку «Далее«, отметим галочками три пункта: «Доступ к виртуальной частной сети (VPN)«, «Преобразование сетевых адресов (NAT)» и «Маршрутизация локальной сети«, жмем «Далее» и «Готово«.
    В появившемся окне нажмем «Запустить службу«.

    3) Добавим пул адресов для клиентов, открыв «Диспетчер сервера» — «Роли» — «Службы политики сети и доступа«, правой кнопкой мыши жмем по «Маршрутизация и удаленный доступ» и выбираем «Свойства«.
    Во вкладке «IPv4» выберем «Статический пул адресов» и добавим любой диапазон после нажатия кнопки «Добавить«.
    Чтобы можно было подключится к VPN серверу например с iPhone (по L2TP), во вкладке «Безопасность» поставим галочку на «Разрешить особые IPSec-политики для L2TP подключения» и укажем ключ.

    4) Теперь настроим разрешения для пользователей. Переходим в «Диспетчер сервера — Конфигурация — Локальные пользователи и группы — Пользователи«:
    Открываем «Свойства» нужного пользователя и во закладке «Входящие звонки«, где «Права доступа к сети» выбираем «Разрешить доступ«.

    5) Добавим NAT правила, нужные маршруты и перезапустим службу, нажав правой кнопкой мыши по «Маршрутизация и удаленный доступ» — «Все задачи» — «Перезапуск«.

    Для работы VPN используются и должны быть открыты порты:
    TCP 1723 (для PPTP)
    TCP 1701 и UDP 500 (для L2TP)
    TCP 443 (для SSTP)

    Готово.

    Логи подключений можно увидеть в директории C:\Windows\System32\LogFiles

    Настройка VPN сервера Windows 2003

    2. Выставите параметр «локальной сети и вызова по требованию», а также «сервер удаленного доступа» см.рис.

    3. Зайдите во вкладку «IP», выберите название внутреннего адаптера и создайте статический пул адресов отличного от внутреннего который будет присваиваться VPN клиентам.

    Кнопка «Добавить»см.рис.

    4. Далее во вкладке «PPP» снимите галку с «Многоканальные подключения»-это ускорит работу Интернета.

    5. Во вкладке «Журнал событий» выставите параметр «вести журнал всех событий»

    II. Конфигурация портов

    1.Зайдите в свойства «Порты». По умолчанию RRAS создаст 5 «PPTP» , 5 «L2TP» и 1 «Прямой параллельный». Для стабильной работы сервера рекомендуется удалить ненужные порты (прямой параллельный, L2TP, и.т.д.) и создать необходимое количество портов, их должно быть больше чем одновременных подключений.

    2. Удаляем порты WAN(L2TP)

    3. Выставите необходимое число PPTP портов (число портов должно быть больше чем планируемых одновременных подключений), см.рис

    4. В итоге у Вас появится следующие окно см.рис

    III. Конфигурируем NAT.

    1. Зайдите в «IP-маршрутизация» / «NAT-преобразование сетевых адресов».Если Вы собираетесь предоставлять доступ только по VPN соединению тогда удалите внутренний интерфейс, если нет тогда оставьте.

    2. Далее вам надо добавить RAS интерфейс для этого в командной строке наберите «netsh routing ip nat add interface Внутренний (в английской версии windows » internal«) private» см.рис. Кроме того очень полезно запретить привязку NetBios к интерфейсу Внутренний (internal),если он активен (см. выше). Это важно,если используется RAS-сервер для подключения диалапных клиентов (модемы или VPN) и поможет избавится от некоторых проблем при работе сервера в сети Windows. Если NetBios разрешен на этом интерфейсе, то сервер будет регистрировать свои NetBios-имена с IP-адресами всех интерфейсов, на которые есть привязка этой службы.Появление IP- адреса интерфейса Внутренний (internal) в этих регистрациях может привести к проблемам.

    Для этого редактором реестра в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccessParametersIp добавляем параметр DisableNetbiosOverTcpip типа DWORD и значением 1. Службу надо перезапустить.

    3. Автоматически появится RAS интерфейс см.рис, зайдите

    IV. Создание клиентов.

    1. Зайдите в «Управление компьютером»,далее в «Локальные пользователи и группы», «Пользователи»

    2. Создайте пользователя,далее зайдите во вкладку «Входящие звонки».

    3. Разрешите ему доступ в пункте «Разрешение на удаленный доступ (VPN или модем)»,этот пользователь будет тестовым, для других желательно указать их IP адрес в пункте «Статический IP-адрес пользователя»

    V. Настройка VPN соединения.

    1. В группе «Политика удаленного доступа»зайдите в свойства «Разрешить доступ,если разрешены входящие подключения»

    2. Нажмите на кнопку «Изменить профиль…»

    3. Зайдите во вкладку «Проверка подлинности»

    4. Оставьте два параметра проверки подлинности MS-CHAP для ОС Windows и CHAP для других ОС см.рис.

    5. Далее зайдите на вкладку «Шифрование»,выберите параметры шифрования. Все произведенные настройки должны быть идентичны, при настройке VPN соединения у клиентов.

    Перезапустите сервер.

    Настройка сервера удаленного доступа для Always On VPN

    • 8 минут на чтение

    В этой статье

    Применимо к: Windows Server (полугодовой канал), Windows Server 2016, Windows Server 2012 R2, Windows 10

    RRAS разработан как маршрутизатор и как сервер удаленного доступа, поскольку поддерживает широкий спектр функций.Для целей этого развертывания вам потребуется лишь небольшая часть этих функций: поддержка соединений IKEv2 VPN и маршрутизации LAN.

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

    Настройте сервер RRAS для поддержки подключений IKEv2 при отключении неиспользуемых протоколов, что снижает уровень безопасности сервера. Кроме того, настройте сервер для назначения адресов VPN-клиентам из пула статических адресов. Вы можете назначить адреса из пула или DHCP-сервера; однако использование DHCP-сервера усложняет конструкцию и дает минимальные преимущества.

    Важно

    Важно:

    • Установите два сетевых адаптера Ethernet на физический сервер.Если вы устанавливаете VPN-сервер на виртуальную машину, вы должны создать два внешних виртуальных коммутатора, по одному для каждого физического сетевого адаптера; а затем создайте два виртуальных сетевых адаптера для виртуальной машины, каждый из которых будет подключен к одному виртуальному коммутатору.

    • Установите сервер в сети периметра между пограничным и внутренним брандмауэрами, с одним сетевым адаптером, подключенным к внешней сети периметра, и одним сетевым адаптером, подключенным к внутренней сети периметра.

    Предупреждение

    Прежде чем начать, обязательно включите IPv6 на VPN-сервере. В противном случае соединение не может быть установлено и отображается сообщение об ошибке.

    Установите удаленный доступ в качестве VPN-сервера шлюза RAS

    В этой процедуре вы устанавливаете роль удаленного доступа как VPN-сервер шлюза RAS с одним клиентом. Для получения дополнительной информации см. Удаленный доступ.

    Установите роль удаленного доступа с помощью Windows PowerShell

    1. Откройте Windows PowerShell от имени администратора .

    2. Введите и запустите следующий командлет:

        Install-WindowsFeature DirectAccess-VPN -IncludeManagementTools
        

      После завершения установки в Windows PowerShell появится следующее сообщение.

        | Успех | Необходим перезапуск | Код выхода | Результат функции |
      | --------- | ---------------- | ----------- | ---------- ---------------------------------- |
      | Правда | Нет | Успех | {Комплект администрирования диспетчера подключений RAS |
        

    Установите роль удаленного доступа с помощью диспетчера сервера

    Для установки роли удаленного доступа с помощью диспетчера сервера можно использовать следующую процедуру.

    1. На сервере VPN в диспетчере серверов выберите Управление и выберите Добавить роли и компоненты .

      Откроется мастер добавления ролей и компонентов.

    2. На странице «Прежде чем начать» выберите Далее .

    3. На странице Выбор типа установки выберите Ролевую или функциональную установку и выберите Далее .

    4. На странице Выбор целевого сервера выберите Выбрать сервер из пула серверов .

    5. В разделе «Пул серверов» выберите локальный компьютер и нажмите Далее .

    6. На странице Выбор ролей сервера в разделе Роли выберите Удаленный доступ , затем Далее .

    7. На странице выбора функций выберите Далее .

    8. На странице удаленного доступа выберите Далее .

    9. На странице выбора службы роли в Службы ролей выберите DirectAccess и VPN (RAS) .

    Откроется диалоговое окно Мастер добавления ролей и компонентов .

    1. В диалоговом окне «Добавить роли и компоненты» выберите Добавить компоненты , затем выберите Далее .

    2. На странице роли веб-сервера (IIS) выберите Далее .

    3. На странице Выбор служб ролей выберите Далее .

    4. На странице Подтверждение выбора установки просмотрите выбранные варианты и выберите Установить .

    5. Когда установка будет завершена, выберите Закрыть .

    Настройка удаленного доступа в качестве сервера VPN

    В этом разделе вы можете настроить VPN для удаленного доступа, чтобы разрешить VPN-подключения IKEv2, запретить подключения из других протоколов VPN и назначить пул статических IP-адресов для выдачи IP-адресов для подключения авторизованных VPN-клиентов.

    1. На VPN-сервере в диспетчере серверов установите флажок Уведомления .

    2. В меню Задачи выберите Открыть мастер начала работы

      Откроется мастер настройки удаленного доступа.

      Примечание

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

    3. Выберите Развернуть только VPN .

      Откроется консоль управления Microsoft (MMC) маршрутизации и удаленного доступа.

    4. Щелкните правой кнопкой мыши VPN-сервер, затем выберите Настроить и включить маршрутизацию и удаленный доступ .

      Откроется мастер настройки сервера маршрутизации и удаленного доступа.

    5. В окне приветствия мастера настройки сервера маршрутизации и удаленного доступа выберите Далее .

    6. В Configuration выберите Custom Configuration , а затем выберите Next .

    7. В пользовательской конфигурации выберите Доступ к VPN , а затем выберите Далее .

      Откроется мастер завершения настройки сервера маршрутизации и удаленного доступа.

    8. Выберите Завершить , чтобы закрыть мастер, затем выберите ОК , чтобы закрыть диалоговое окно «Маршрутизация и удаленный доступ».

    9. Выберите Запустить службу , чтобы запустить удаленный доступ.

    10. В MMC удаленного доступа щелкните правой кнопкой мыши VPN-сервер, затем выберите Свойства .

    11. В свойствах выберите вкладку Security и выполните:

      а. Выберите Поставщик проверки подлинности и выберите Проверка подлинности RADIUS .

      г. Выберите Настроить .

      Откроется диалоговое окно «Проверка подлинности RADIUS».

      г. Выберите Добавить .

      Откроется диалоговое окно «Добавить сервер RADIUS».

      г. В поле Имя сервера введите полное доменное имя (FQDN) сервера политики сети в вашей организации / корпоративной сети.

      Например, если NetBIOS-имя вашего NPS-сервера — NPS1, а ваше доменное имя — corp.contoso.com, введите NPS1.corp.contoso.com .

      e. В Общий секрет выберите Изменить .

      Откроется диалоговое окно «Изменить секрет».

      ф. В Новый секрет введите текстовую строку.

      г. В Подтвердите новый секрет , введите ту же текстовую строку, затем выберите ОК .

      Важно

      Сохраните эту текстовую строку.Когда вы настраиваете NPS-сервер в своей организации / корпоративной сети, вы добавляете этот VPN-сервер в качестве клиента RADIUS. Во время этой конфигурации вы будете использовать тот же общий секрет, чтобы серверы политики сети и VPN могли обмениваться данными.

    12. В Добавьте сервер RADIUS , проверьте настройки по умолчанию для:

      • Тайм-аут

      • Начальный балл

      • Порт

    13. При необходимости измените значения в соответствии с требованиями для вашей среды и выберите OK .

      NAS — это устройство, которое обеспечивает определенный уровень доступа к более крупной сети. NAS, использующий инфраструктуру RADIUS, также является клиентом RADIUS, отправляя запросы на соединение и сообщения учета на сервер RADIUS для аутентификации, авторизации и учета.

    14. Проверьте настройку Поставщик бухгалтерского учета :

      Если вам нужен … Тогда…
      Активность удаленного доступа, зарегистрированная на сервере удаленного доступа Убедитесь, что выбран Windows Accounting .
      НПС для оказания бухгалтерских услуг для VPN Измените поставщика учетных данных на RADIUS Accounting , а затем настройте NPS в качестве поставщика учета.
    15. Выберите вкладку IPv4 и выполните:

      а. Выберите Пул статических адресов .

      г. Выберите Добавить , чтобы настроить пул IP-адресов.

      Пул статических адресов должен содержать адреса из внутренней сети периметра.Эти адреса находятся во внутреннем сетевом соединении на сервере VPN, а не в корпоративной сети.

      г. В поле Начальный IP-адрес введите начальный IP-адрес из диапазона, который вы хотите назначить VPN-клиентам.

      г. В поле Конечный IP-адрес введите конечный IP-адрес из диапазона, который вы хотите назначить для VPN-клиентов, или в поле Число адресов введите номер адреса, который вы хотите сделать доступным. Если вы используете DHCP для этой подсети, убедитесь, что вы настроили соответствующее исключение адресов на своих DHCP-серверах.

      e. (Необязательно) Если вы используете DHCP, выберите Адаптер и в списке результатов выберите адаптер Ethernet, подключенный к внутренней сети периметра.

    16. (Необязательно) Если вы настраиваете условный доступ для подключения к VPN , в раскрывающемся списке Сертификат в разделе Привязка сертификата SSL выберите аутентификацию сервера VPN.

    17. (необязательно) Если вы настраиваете условный доступ для подключения к VPN , в NPS MMC разверните Политики \ Сетевые политики и выполните:

      а.Справа — сетевая политика Connections to Microsoft Routing and Remote Access Server и выберите Properties .

      г. Выберите доступ Grant. Предоставьте доступ, если запрос на подключение соответствует этому параметру политики .

      г. В разделе Тип сервера доступа к сети выберите Сервер удаленного доступа (VPN-Dial up) из раскрывающегося списка.

    18. В MMC маршрутизации и удаленного доступа щелкните правой кнопкой мыши Порты , и выберите Свойства .

      Откроется диалоговое окно «Свойства портов».

    19. Выберите Минипорт WAN (SSTP) и выберите Настроить . Откроется диалоговое окно «Настройка устройства — минипорт WAN (SSTP)».

      а. Снимите флажки Подключения удаленного доступа (только входящие), и Маршрутизирующие подключения по требованию (входящие и исходящие), .

      г. Выберите ОК .

    20. Выберите Минипорт WAN (L2TP) и выберите Настроить .Откроется диалоговое окно «Настройка устройства — минипорт WAN (L2TP)».

      а. В поле Максимальное количество портов введите количество портов, соответствующее максимальному количеству одновременных VPN-подключений, которые вы хотите поддерживать.

      г. Выберите ОК .

    21. Выберите Минипорт WAN (PPTP) и выберите Настроить . Откроется диалоговое окно «Настройка устройства — минипорт WAN (PPTP)».

      а. В поле Максимальное количество портов введите количество портов, соответствующее максимальному количеству одновременных VPN-подключений, которые вы хотите поддерживать.

      г. Выберите ОК .

    22. Выберите Минипорт WAN (IKEv2) и выберите Настроить . Откроется диалоговое окно «Настройка устройства — минипорт WAN (IKEv2)».

      а. В поле Максимальное количество портов введите количество портов, соответствующее максимальному количеству одновременных VPN-подключений, которые вы хотите поддерживать.

      г. Выберите ОК .

    23. При появлении запроса выберите Да , чтобы подтвердить перезапуск сервера, и выберите Закрыть , чтобы перезапустить сервер.

    Следующий шаг

    Шаг 4. Установите и настройте сервер сетевой политики (NPS). На этом шаге вы устанавливаете сервер сетевой политики (NPS) с помощью Windows PowerShell или мастера добавления ролей и компонентов диспетчера сервера. Вы также настраиваете NPS для обработки всех функций проверки подлинности, авторизации и учета для запросов на подключение, которые он получает от VPN-сервера.

    .

    Пошаговое руководство: Настройка VPN под Windows Server 2012 с NPS


    Привет, это Ларс. ИТ-инженер. Сертифицированный (и увлеченный) веб-мастер. Также увлеченный пользователь Windows, Apple и Office. Я пишу на самые разные темы об ИТ. Живу в Швейцарии. Вы можете узнать обо мне больше здесь: Обо мне. Спасибо за визит!

    Из этого руководства вы узнаете, как настроить VPN под Windows Server 2012 R2. Сначала мы настроим его на устаревшие протоколы, чтобы получить общее представление.Затем мы настраиваем центр сертификации для создания самоподписанного сертификата для защиты VPN-соединения (SSTP).

    Учебник предназначен для учебных целей в вашей лаборатории. В производственной среде вам придется кое-что изменить. Обычно вам нужно купить официальный сертификат.

    Для его настройки было бы хорошо, если бы у вас был сервер за брандмауэром с фиксированным IP и DNS-именем, и вы могли бы подключиться к нему из внешнего источника. В целях тестирования вы можете предоставить своему серверу два сетевых адаптера и объявить один как внешний и подключиться от клиента во внешнем IP-диапазоне к вашему VPN-серверу через внешний IP-адрес.Если вы работаете с сертификатами, вы должны назначить имя хоста внешнему IP.

    Базовая установка и настройка VPN

    Я предполагаю, что вы хорошо знакомы с добавлением ролей и функций через Server Manager в Windows Server 2012, поэтому я не буду описывать эти шаги во всех деталях.

    • Добавьте роль «Удаленный доступ»
    • Добавьте службы ролей «Прямой доступ и VPN (RAS)»

    После того, как все будет установлено, щелкните

    • «Удаленный доступ»
    • «Подробнее…»
    • «Откройте мастер начала работы»

    Обычно он запускается в фоновом режиме, поэтому сверните все остальные программы.

    • Нажмите «Развернуть только VPN»
    • «Маршрутизация удаленного доступа» запускается
    • Щелкните прямо на имени сервера
    • Выберите «Настроить и включить маршрутизацию и удаленный доступ»
    • Нажмите «Далее»
    • «Маршрутизация удаленного доступа» начинается.
    • Нажмите «Пользовательская конфигурация»
    • Нажмите «Далее»
    • Нажмите «Доступ к VPN»
    • Нажмите «Далее»
    • Нажмите «Готово»
    • После завершения базовой настройки появится окно.
    • Нажмите «Начать службу»

    Базовая установка и настройка NPS в Windows Server 2012

    • Добавьте роль «Службы сетевой политики и доступа»
    • Добавьте службы ролей «Сервер политики сети»
    • Запустите сервер сетевой политики i. е. через «Диспетчер серверов» — «Инструменты» — «Сервер сетевой политики»
    • Перейдите в «Политики» — «Сетевые политики»
    • Щелкните правой кнопкой мыши Политики
    • Нажмите «Создать»
    • Дайте политике имя и выберите «Сервер удаленного доступа (VPN-Dial up)» в качестве «Типа сервера доступа к сети».
    • Нажмите «Далее»
    • Нажмите «Добавить»
    • Нажмите «Группа пользователей»
    • Добавить активный каталог Группа пользователей, которой вы хотите предоставить доступ к своей VPN.Для этого необходимо, чтобы вы уже бросили вызов группе.

    Здесь вы можете определить еще несколько вещей. Это хорошая идея, пролистать его, чтобы получить лучшее представление о нем.

    • Группы: группы Windows, группы компьютеров и группы пользователей
    • Группы протокола аутентификации учетных данных хоста (HCAP) — HCAP используется для связи между сервером политики сети и сторонними серверами доступа к сети.
    • Дневные и временные ограничения
    • Защита доступа к сети (NAP) — здесь вы можете определить несколько условий, касающихся NAP, т.е.е. прошел ли компьютер проверку работоспособности.
    • Свойства соединения — Здесь вы можете определить такие вещи, как IP-адрес, Тип службы, Тип туннеля.
    • Свойства клиента Radius — Здесь вы можете определить параметры, относящиеся к RADIUS.
    • Шлюз — Здесь вы можете определить вещи, касающиеся вашего сервера доступа к сети.

    Чтобы продолжить специальную конфигурацию, сделайте следующее:

    • Нажмите «Далее»
    • Выберите «Доступ разрешен»
    • Нажмите «Далее»
    • На данный момент вы можете оставить здесь конфигурацию по умолчанию.
    • Нажмите «Далее»
    • Рекомендуется определить тайм-аут простоя для ваших пользователей, чтобы соединения не оставались открытыми, когда они не используются.
    • Нажмите «Далее»
    • Вы можете оставить значение по умолчанию конфигурация здесь на данный момент.
    • Нажмите «Готово».
    • Политика NPS создана.

    Настройка VPN-соединения на клиенте

    • Откройте «Центр управления сетями и общим доступом»
    • Выберите «Настроить новое подключение или сеть»
    • Выберите «Подключиться к рабочему месту»
    • Нажмите «Далее»
    • Выберите «Использовать мое Интернет-соединение (VPN)».
    • Введите в «Интернет-адрес» адрес, по которому доступен ваш VPN-сервер.Обычно вы помещаете его за брандмауэр и определяете NAT для внешнего адреса.
    • Введите в поле «Destination name» Имя для VPN-соединения. Очень полезно, если вы подключаетесь к более чем одному VPN-серверу.
    • Щелкните «Создать».

    В настоящее время мы все еще находимся на очень начальной стадии. В настоящее время мы настроили только VPN для PPTP, что устарело, небезопасно и должно использоваться только в LAB-Environment. Вам нужно «сказать» вашему клиенту, что он должен использовать этот протокол.

    • Зайдите в «Сеть и Интернет».
    • Перейдите в «Сетевые подключения». Вы найдете его в разделе «Изменить настройки адаптера».
    • Щелкните правой кнопкой мыши на своем VPN-соединении.
    • Щелкните «Свойства».
    • Перейдите во вкладку «Безопасность».
    • Включите «Протокол Microsoft Chap».
    • Чтобы подключиться к своему VPN-сайту, перейдите в настройки сети и нажмите «Подключиться».

    Добавьте центр сертификации и шаблон для выдачи сертификатов под Windows Server 2012 R2

    Добавление центра сертификации — это первый шаг для делая соединение более безопасным.

    • Добавьте роль «Службы сертификации Active Directory»
    • Добавьте службы ролей «Центр сертификации» и «Регистрация в центре сертификации через Интернет»
    • Перейдите в «AD CS»
    • Нажмите «Подробнее…» на желтая полоса «Конфигурация, необходимая для служб сертификации Active Directory».
    • Щелкните ссылку «Настроить сертификаты Active Directory».
    • Выберите «Центр сертификации» и «Регистрация в центре сертификации через Интернет» в качестве «Выберите службы Tole для настройки».
    • Щелкните «Далее».
    • Убедитесь, что «Enterprise CA» включен.
    • Щелкните «Далее».
    • Убедитесь, что «Корневой ЦС» включен.
    • Щелкните «Далее».
    • Нам нужен новый закрытый ключ, поэтому включите соответствующую опцию.
    • Щелкните «Далее».
    • Оставьте настройки в следующих настройках по умолчанию
    • Нажмите «Далее».
    • Предопределенные значения для «CA Name» должны нормально работать.
    • Щелкните «Далее».
    • В следующем окне вы можете изменить срок действия сертификатов. 5 лет по умолчанию может быть немного большим.
    • Щелкните «Далее».
    • Предопределенные значения для «местоположений базы данных» должны нормально работать. Если хотите, можете это изменить.
    • Щелкните «Далее».
    • Прочтите «Подтверждение» и, если все в порядке, нажмите «Настроить».
    • Вы должны получить такой результат.
    • Перейти к диспетчеру сервера
    • Инструменты
    • Центр сертификации
    • Разверните CA
    • Нажмите «Шаблоны сертификатов»
    • Нажмите справа справа и нажмите «Управление»
    • Найдите IPSec
    • Нажмите прямо на нем
    • Выберите «Дублировать шаблон»
    • Перешел на вкладку «Общие»
    • Измените имя i. е. в «SSTP»
    • Нажмите «Применить»
    • Перешел на вкладку «Обработка запросов»
    • Нажмите «Разрешить экспорт закрытого ключа»
    • Нажмите «Применить»
    • Перешел в «Тема» Имя »вкладка
    • Нажмите« Поставка в запросе »
    • Нажмите« ОК »в предупреждении« Текущие настройки для этого… »
    • Нажмите« Применить »
    • Перешел на вкладку« Расширения »
    • Нажмите на «Редактировать»
    • Нажмите «Добавить»
    • Найдите «Аутентификация сервера»
    • Нажмите «ОК» три раза, чтобы закрыть поля.
    • В Центре сертификации перейдите к
    • Шаблоны сертификатов
    • Новый
    • Шаблон сертификата для выпуска
    • Выберите созданный шаблон

    Выдача сертификата для SSTP VPN

    • Откройте mmc (просто набрав в «mmc» на начальном экране или клавише Windows и R)
    • Перейдите в «Файл»
    • «Добавить / удалить оснастку»
    • Найдите «Сертификаты»
    • Нажмите «Добавить»
    • Оставьте опция «Учетная запись компьютера»
    • Нажмите «Готово»
    • Нажмите «ОК»
    • Разверните «Личные»
    • Щелкните правой кнопкой мыши «Сертификаты»
    • Нажмите «Все задачи» — «Запросить новый сертификат»
    • Щелкните «Для подачи заявки на этот сертификат требуется дополнительная информация» под именем созданного вами шаблона.
    • Измените «Тип» на «Общее имя» и введите имя, под которым ваш сервер доступен из exern в разделе «Значение».
    • Нажмите «Добавить»
    • Нажмите «ОК»
    • Активируйте проверку- Коробка у вашего сертификата
    • Нажмите «Enroll»
    • В диспетчере серверов перейдите в «Инструменты»
    • Маршрутизация и удаленный доступ
    • Щелкните правой кнопкой мыши имя сервера
    • Выберите Свойства
    • Перейдите в « Вкладка «Безопасность»
    • Выберите свой сертификат в разделе «Привязка сертификата SSL»
    • Нажмите «ОК»
    • Появится сообщение о том, что маршрутизатор необходимо перезагрузить.
    • Нажмите «Да».

    Настройка VPN-соединения на клиенте через SSTP

    В целях тестирования вам необходимо импортировать сертификат SSL и цепочку сертификатов на каждом клиенте в магазин компьютера. Вы можете скачать его с http: // myvpnserver / certsrv. Измените «myvpnserver» на имя вашего VPN-сервера. Регистрация сертификата через Active Directory взорвала бы это руководство.

    Вы должны установить

     NoCertRevocationCheck 

    в

     HKEY_LOCAL_MACHINE \ System \ CurrentControl \ SetServices \ Sstpsvc \ Parameters 

    на 1.

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

    Теперь у вас должна быть возможность подключиться к вашему VPN-серверу с помощью SSTP.

    .

    Настройка открытого VPN-сервера в Windows Server 2008/2012

    Это пошаговое руководство по настройке сервера Open VPN в операционных системах Windows Server 2008/2012 и подключению клиентов к созданной виртуальной частной сети.

    Open VPN — это открытая реализация технологии VPN — Virtual Private Network, которая предназначена для создания виртуальных частных сетей между группами географически удаленных узлов поверх открытого канала передачи данных (Интернет).Open VPN подходит для таких задач, как безопасное удаленное сетевое подключение к серверу без открытия доступа к нему в Интернете, как если бы вы подключались к узлу в своей локальной сети. Безопасность подключения достигается за счет шифрования Open SSL.

    Как это устроено?

    Когда настройка Open VPN завершена, сервер сможет принимать внешние защищенные SSL сетевые подключения к виртуальному сетевому адаптеру, созданному при запуске службы VPN (tun / tap), не влияя на правила обработки трафика других интерфейсов (внешних Интернет-адаптер и др.). Вы можете настроить общий доступ клиентов к Open VPN для определенного сетевого адаптера из тех, что присутствуют на сервере. Во второй части инструкции рассматривается такое туннелирование интернет-трафика пользователей. При таком способе пересылки хост, который обрабатывает VPN-соединения, также будет выполнять функцию прокси-сервера (Proxy) — для унификации правил сетевой активности пользователей и маршрутизации клиентского интернет-трафика от своего имени.

    Установка Open VPN на сервер

    Загрузите и установите версию Open VPN, соответствующую вашей операционной системе.Запустите установщик ; убедитесь, что все компоненты выбраны для установки на третьем шаге мастера установки.

    Обратите внимание, что в этой инструкции дальнейшие команды основаны на том факте, что Open VPN установлен в каталоге по умолчанию «C: \ Program Files \ OpenVPN».

    Разрешаем добавить виртуальный сетевой адаптер TAP в ответ на соответствующий запрос и дождемся завершения установки (это может занять несколько минут).

    Генерация ключей (PKI) удостоверяющего центра, сервера, клиента; Алгоритм Диффи-Хеллмана

    Для управления парами ключ / сертификат всех узлов создаваемой частной сети используйте утилиту easy-rsa , которая работает через командную строку по аналогии с консолью Linux. Для работы с ним откройте, запустите командную строку (сочетание клавиш Win + R , затем введите cmd и нажмите Enter )

    Файлы конфигурации.

    Запуск сценария init-config.bat создаст новый файл vars.bat в нашем каталоге easy-rsa, этот файл будет содержать нашу конфигурацию:

      cd "C: \ Program Files \ OpenVPN \ easy-rsa"
    init-config.bat  

    Итак, теперь нам нужно открыть следующий каталог с помощью проводника Windows: C: \ Program Files \ OpenVPN \ easy-rsa

    Теперь, используя Блокнот (или другой текстовый редактор), отредактируйте командный файл с именем vars.bat, нам нужно настроить некоторые переменные…

    Измените следующие настройки (ближе к концу файла) в соответствии с вашими требованиями:

      установить KEY_COUNTRY = US
    установить KEY_PROVINCE = CA
    установить KEY_CITY = SanFrancisco
    установить KEY_ORG = OpenVPN
    установите KEY_EMAIL = mail @ host.домен
    установить KEY_CN = changeme
    установить KEY_NAME = changeme  

    Примечание: если значение переменной содержит пробел, заключите его в кавычки.

    Затем вы должны сохранить изменения в файле, а затем, используя командную строку, выполнить следующие команды:

      cd "C: \ Program Files \ OpenVPN \ easy-rsa"
    vars.bat
    clean-all.bat  

    Центр сертификации и генерация ключей сервера

    Приступим к созданию ключа / сертификата центра сертификации.Запускаем скрипт:

      build-ca.bat  

    В ответ на появляющиеся запросы вы можете просто нажать Enter. Единственным исключением является поле KEY_CN ( Common Name ) — обязательно укажите уникальное имя и вставьте то же имя в поле Name :

    Аналогичным образом генерируем сертификат сервера. Здесь значение полей Common Name и Name — SERVER:

    .
     . \ Build-key-server.bat сервер  

    Примечание: аргумент сервера — это имя будущего файла.

    Теперь для всех сгенерированных ключей будет предложено подписать сгенерированный сертификат (подписать сертификат) от имени центра сертификации. Ответ y (да).

    Генерация клиентских ключей и сертификатов

    Для каждого VPN-клиента необходимо создать отдельный сертификат SSL.

    В конфигурации Open VPN есть опция, включив которую вы можете использовать один сертификат для нескольких клиентов (см. Сервер .ovpn file -> « dublicate-cn » file), но это не рекомендуется с точки зрения безопасности. Сертификаты могут быть созданы в будущем по мере подключения новых клиентов. Поэтому сейчас создадим только один для client1 :

    Выполните следующие команды для генерации клиентских ключей:

      кд \
    cd "C: \ Program Files \ OpenVPN \ easy-rsa"
    . \ build-key.bat client1  

    Примечание: аргумент client1 — это имя будущего файла.

    В поле Common Name укажите имя клиента (в нашем случае client1).

    Параметры Диффи Хеллмана

    Для завершения настройки шифрования необходимо запустить скрипт генерации параметра Диффи-Хеллмана:

     . \ Build-dh.bat  

    Отображение информации о создании параметров выглядит так:

    Перенос сгенерированных ключей / сертификатов

    Сгенерированные сертификаты находятся в каталоге C: \ Program Files \ OpenVPN \ easy-rsa \ keys .Скопируйте перечисленные ниже файлы в каталог C: \ Program Files \ OpenVPN \ config :

    • ca.crt
    • dh3048.pem / dh2048.pem
    • server.crt
    • server.key

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

    Перейдем к настройке VPN-сервера напрямую, воспользуемся нашим конфигурационным файлом с именем server.ovpn и поместим его в каталог C: \ Program Files \ OpenVPN \ config .

      скопируйте "C: \ Program Files \ OpenVPN \ sample-config \ server.ovpn "" C: \ Program Files \ OpenVPN \ config "
    скопируйте "C: \ Program Files \ OpenVPN \ sample-config \ client.ovpn" "C: \ Program Files \ OpenVPN \ config"  

      Откройте файл; найти путь к ключам (см. ниже). Проверить пути к ранее скопированным сертификатам ca.crt, dh2024.pem / dh3048.pem, server.key, server.crt и при необходимости изменить:

        порт 1194
      прото udp
      Dev Tun
      сервер 10.8.0.0 255.255.255.0
      ca "C: \ Program Files \ OpenVPN \ config \ ca.crt"
      cert "C: \ Program Files \ OpenVPN \ config \ server.crt "
      ключ "C: \ Program Files \ OpenVPN \ config \ server.key"
      dh "C: \ Program Files \ OpenVPN \ config \ dh3048.pem"
      нажмите "redirect-gateway def1"
      нажмите "dhcp-option DNS 8.8.8.8"
      Keepalive 10 120
      comp-lzo
      постоянный ключ
      настойчивый туннель
      глагол 3  

      Сохраните файл.

      Теперь вам нужно разрешить пересылку трафика между адаптерами. Выполните следующие действия: Панель управления -> Сеть и Интернет -> Центр управления сетями и общим доступом -> Изменить настройки адаптера. Выберите адаптер, который смотрит во внешний Интернет (за VPN-соединение отвечает TAP-адаптер).В нашем примере это Ethernet 2.

      Дважды щелкните адаптер Properties и перейдите на вкладку Access , отметьте все флажки. Сохраните изменения.

      Далее вам нужно включить IP-адресацию.

      С помощью поиска Windows найдите приложение REGEDIT.exe.

      В дереве найдите каталог HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters. В правой части окна найдите переменную IPEnableRouter , дважды щелкните в окне редактирования значения и измените его на 1 , тем самым разрешив адресацию на VPS.

        Автозапуск Открыть VPN

        Немедленно настройте службу Open VPN на автозапуск при запуске системы.

        Откройте Windows Services . Найдите в списке Open VPN -> щелкните правой кнопкой мыши -> Properties -> Start: Automatic

        На этом базовая настройка сервера виртуальной частной сети завершена. Найдите файл C: \ Program Files \ OpenVPN \ config \ server.ovpn -> щелкните правой кнопкой мыши -> «Запустить OpenVPN в этой конфигурации», чтобы запустить сервер виртуальной частной сети и подготовленный нами файл конфигурации.

        Откройте конфигурацию клиента VPN

        Клиентские приложения Open VPN доступны для всех популярных операционных систем: Windows / Linux / iOS / Android . Для MacOS используется клиент Tunnelblick . Все эти приложения работают с одними и теми же файлами конфигурации. Возможны лишь некоторые отличия нескольких вариантов.Вы можете узнать о них, изучив документацию к вашему клиенту Open VPN. В этом руководстве мы рассмотрим подключение клиента Windows с помощью того же пакета распространения программы, который мы установили на сервере. При использовании приложений для других операционных систем логика настройки аналогична.

        1. Установите текущую версию Open VPN на клиентский компьютер.
        2. Скопируйте в каталог C: \ Program Files \ OpenVPN \ config файлы сертификатов клиента, созданные ранее на сервере (2 сертификата с расширением.crt и ключ с расширением .key) и используйте наш файл конфигурации клиента client.ovpn. После копирования на устройство пользователя последний файл удаляется с сервера или переносится из папки config, чтобы избежать путаницы в будущем.
        3. Откройте файл client.ovpn. Найдите строку remote my-server-1 1194 и укажите в ней ip-адрес или доменное имя vpn-сервера:
            удаленный  1194   

          Например:

            пульт 83.166.241.155 1194  

        4. Найдите способы получения сертификатов. Укажите в нем пути к сертификатам ca.crt, client1.key, client1.crt, скопированным ранее, как в примере ниже:
            # Подробнее см. В файле конфигурации сервера
          # описание. Лучше использовать
          # отдельная пара файлов .crt / .key
          # для каждого клиента. Единый ca
          # файл можно использовать для всех клиентов.
          ca "C: \ Program Files \ OpenVPN \ config \ ca.crt"
          сертификат "C: \ Program Files \ OpenVPN \ config \ client1.crt"
          ключ "C: \ Program Files \ OpenVPN \ config \ client1.ключ "
          # Этот файл нужно держать в секрете  
        5. Сохраните файл. Настройка клиента завершена.

        Проверьте правила брандмауэра Windows

        Внимание! Для корректной работы службы OpenVPN необходимо, чтобы соответствующие порты были открыты на сервере ( по умолчанию UDP 1194 ). Проверьте соответствующее правило в вашем брандмауэре: брандмауэр Windows или стороннее антивирусное программное обеспечение.

        Проверьте соединения OpenVPN

        Запускаем Open VPN server, для этого заходим в директорию C: \ Program Files \ OpenVPN \ config и выбираем файл конфигурации сервера (у нас есть server.ovpn -> щелкните правой кнопкой мыши -> «Запустить OpenVPN в этом файле конфигурации»).

        Запустите клиент, для этого перейдите в каталог C: \ Program Files \ OpenVPN \ config и выберите файл конфигурации клиента (у нас есть client.ovpn -> щелкните правой кнопкой мыши -> «Запустить Open VPN в этом файле конфигурации») .

        На экране отображается окно состояния подключения. Через несколько секунд он будет свернут в трей. Зеленый индикатор ярлыка Open VPN в области уведомлений указывает на успешное соединение.

        Проверьте доступность с клиентского устройства сервера OpenVPN, используя его внутренний адрес частной сети:

        1. Нажмите клавиши Win + R и введите cmd в появившемся окне, чтобы открыть командную строку.
        2. Выполните команду ping на адрес нашего сервера в виртуальной частной сети ( 10.8.0.1 ):
            пинг 10.8.0.1  

          Если VPN настроен правильно, начнется обмен пакетами с сервером.

        3. С помощью утилиты tracert мы проверим, по какому маршруту идут пакеты от клиента. В консоли введите следующую команду:

        По результату работы утилиты мы видим, что пакеты сначала отправляются на сервер VPN, а уже потом во внешнюю сеть.

        Теперь у вас есть готовая к работе виртуальная частная сеть, которая позволяет устанавливать безопасные сетевые соединения между ее клиентами и сервером, используя открытые и географически удаленные точки подключения к Интернету.

        .

        USG / UDM: Настройка L2TP VPN с удаленным доступом — Центр поддержки и поддержки Ubiquiti Networks

        Компьютеры

        под управлением Windows и macOS могут маршрутизировать весь трафик через VPN (шлюз по умолчанию). Это значение по умолчанию на компьютерах Windows, но его необходимо вручную включить на компьютерах macOS с помощью опции «Отправлять весь трафик через VPN-соединение» в разделе «Системные настройки »> «Сеть»> «VPN L2TP»> «Дополнительно ».

        Если вы намереваетесь использовать настройку «раздельного туннелирования» и отключить опцию шлюза на своих клиентах, вам нужно будет вручную добавить необходимых маршрутов в таблицы маршрутизации на клиентах.L2TP VPN не может протолкнуть маршруты на клиентские устройства.

        Обходной путь при использовании «раздельного туннелирования» (шлюз по умолчанию не установлен) — это создание единого классового маршрута на клиенте, который автоматически устанавливается в таблице маршрутизации. Этот маршрут будет зависеть от IP-адреса шлюза / подсети , который вы укажете для L2TP VPN в настройках контроллера UniFi. Следующие классовые маршруты будут добавлены в зависимости от подсети, используемой для L2TP VPN:

        • 10.0.0.0 / 8 L2TP VPN-подсеть настроена с адресом 10.x.x.x , например 10.10.1.1/24 .
        • 172.16.0.0/12 Подсеть L2TP VPN настроена с адресом 172.16-31.x.x , например 172.16.1.1/24 .
        • 192.168.x.0 / 24 Подсеть L2TP VPN настроена с адресом 192.168.x.x , например 192.168.2.1/24 .


        Вы можете использовать эту функцию в своих интересах.Например, вы используете диапазон IP-адресов 10.0.10.0/24 для своей локальной сети и хотите, чтобы удаленные клиенты L2TP VPN могли подключаться к вашей локальной сети, но не маршрутизировали весь трафик через VPN (раздельное туннелирование). Если вы настроите IP-адрес шлюза / подсеть в диапазоне 10.xxx , например 10.255.20.1/24 , клиенты VPN установят маршрут 10.0.0.0/8 в свои таблицы маршрутизации и смогут обмениваться данными. с сетью 10.0.10.0/24 через VPN.

        Ниже приведен пример компьютера под управлением Windows, который подключен к серверу L2TP, который использует 10.255.20.1/24 в качестве IP-адреса шлюза / подсети. Обратите внимание, что маршрут 10.255.20.1/32 (255.255.255.255) и маршрут 10.0.0.0/8 (255.0.0.0) установлены в таблице маршрутизации.

          C: \ WINDOWS \ system32> печать маршрута -4 
        Таблица маршрутов IPv4
        ================================================== =========================
        Активные маршруты:
        Метрика интерфейса шлюза сетевой маски назначения
                  0.0.0.0 0.0.0.0 172.16.1.1 172.16.1.100 281
         >   10.0.0.0 255.0.0.0 10.255.255.0 10.255.20.1 26 
         > 10.255.20.1 255.255.255.255 При подключении 10.255.20.1 281 
                127.0.0.0 255.0.0.0 При подключении 127.0.0.1 331
                127.0.0.1 255.255.255.255 При подключении 127.0.0.1 331
          127.255.255.255 255.255.255.255 При подключении 127.0.0.1 331
               172.16.1.0 255.255.255.0 При подключении 172.16.1.100 281
               172.16.1.1 255.255.255.255 При подключении 172.16.1.100 26
             172.16.1.100 255.255.255.255 По ссылке 172.16.1.100 281
             172.16.1.255 255.255.255.255 По ссылке 172.16.1.100 281
                224.0.0.0 240.0.0.0 При подключении 127.0.0.1 331
                224.0.0.0 240.0.0.0 Связь 172.16.1.100 281
                224.0.0.0 240.0.0.0 Связь 10.255.20.1 281
          255.255.255.255 255.255.255.255 при подключении 127.0.0.1 331
          255.255.255.255 255.255.255.255 По ссылке 172.16.1.100 281
          255.255.255.255 255.255.255.255 по ссылке 10.255.20.1 281
        ================================================== ========================= 
        .
    Vpn настройка сервера ubuntu: Как настроить сервер OpenVPN в Ubuntu 16.04

    Vpn настройка сервера ubuntu: Как настроить сервер OpenVPN в Ubuntu 16.04

    Самый простой способ настроить Ubuntu в качестве VPN-сервера

    ПРЕДУПРЕЖДЕНИЕ: PPTP ЯВЛЯЕТСЯ AN НЕБЕЗОПАСНЫЙ ПРОТОКОЛ! Мало того, что шифрование было нарушено, но и оно отправляет Вашу аутентификацию в открытом тексте и легко прерывается. Считалось, что количество времени, требуемое к «в лоб» пароль, примерно эквивалентно времени, требуемому к «в лоб» единственный ключ DES. Рассмотрите использование OpenVPN или другой архитектуры VPN вместо PPTP!

    Я использовал это руководство для установки сервера VPN PPTP на моем сервере Ubuntu 12.04.


    Суммировать основные моменты в ссылке, хотя:

    1: Установка pptpd и ufw. iptables может использоваться вместо ufw, но ради легкости, ufw лучше, если Вы не знаете iptables.

    sudo apt-get install pptpd ufw

    2: Откройте необходимые порты. Руководство предлагает 22 (SSH) и 1723 для pptp vpn.

    sudo ufw allow 22
    sudo ufw allow 1723
    sudo ufw enable

    3:Править /etc/ppp/pptpd-options. Откройте файл со своим любимым редактором (нано шахты, таким образом, команда для меня sudo nano /etc/ppp/pptpd-options), и прокомментируйте эти строки путем помещения a # перед ними, если Вы хотите, чтобы это работало универсально над всеми Ose:

    refuse-pap
    refuse-chap
    refuse-mschap

    Можно прокомментировать эту строку, если Вы хотите отключить шифрование: require-mppe-128

    4: При редактировании /etc/ppp/pptpd-options, добавьте серверы DNS для VPN. Этот пример использует серверы OpenDNS:

    ms-dns 208.67.222.222
    ms-dns 208.67.220.220

    5:Править /etc/pptpd.conf. Откройте файл со своим любимым редактором (нано шахты, таким образом, команда для меня sudo nano /etc/pptpd.conf). Необходимо добавить локального дюйм/с VPN для системы, поэтому добавьте:

    localip 10. 99.99.99
    remoteip 10.99.99.100-199

    Если Ваша система является VPS, используйте общедоступный IP для «localip». Если это не и находится в локальной сети, используйте сеть IP своего компьютера. Используйте другого дюйм/с и диапазоны, если они дюйм/с существуют на Вашей подсети! Если Вы не знаете свой общедоступный IP Вашего VPS, найдите его путем выполнения dig +short myip.opendns.com @resolver1.opendns.com

    6:Править /etc/ppp/chap-secrets. Откройте файл со своим любимым редактором (нано шахты, таким образом, команда для меня sudo nano /etc/ppp/chap-secrets), и добавьте подлинные данные.
    Формат для /etc/ppp/chap-secrets :

    [Username] [Service] [Password] [Allowed IP Address]

    Пример был бы: sampleuser pptpd samplepassword *

    7: Перезапуск pptpd. Выполните эту команду в терминале: sudo /etc/init.d/pptpd restart

    8:Править /etc/sysctl.conf. Откройте файл со своим любимым редактором (нано шахты, таким образом, команда для меня sudo nano /etc/sysctl. conf). Не прокомментируйте следующую строку (путем удаления # в начале его) в /etc/sysctl.conf: net.ipv4.ip_forward=1
    Перезагрузите конфигурацию: sudo sysctl -p

    9: Этот шаг предполагает, что у Вас есть ufw.
    Править /etc/default/ufw и измените опцию DEFAULT_FORWARD_POLICY от DROP кому: ACCEPT

    10: Этот шаг предполагает, что у Вас есть ufw.
    Править /etc/ufw/before.rules, и добавьте следующий любой в начале /etc/ufw/before.rules или незадолго до *filter правила (рекомендовали):

    # NAT table rules
    *nat
    
    :POSTROUTING ACCEPT [0:0]
    # Allow forward traffic to eth0
    -A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE
    
    # Process the NAT table rules
    COMMIT

    Если у Вас есть версия 3.18 ядра и более новый (можно проверить это путем выполнения uname -r), также добавьте следующие строки перед # drop INVALID packets . .. строка:

    -A ufw-before-input -p 47 -j ACCEPT
    

    11: Перезапустите брандмауэр, чтобы обновить наборы правила и применить правила, которые мы добавили к /etc/ufw/*.rules файлы: sudo ufw disable && sudo ufw enable

    Предупреждение: Если у Вас есть другие порты, Вы должны открыться, такой что касается HTTPS, если Ваш сервер размещает веб-сайт, необходимо индивидуально добавить те порты к позволенному списку с sudo ufw allow <PORT>

    Как настроить PPTP VPN на моем собственном сервере Ubuntu?

    Абсолютная минимальная настройка сервера

    Ниже приведены абсолютные минимальные инструкции, необходимые для получения базового VPN-сервера PPTP под Ubuntu. Затем клиенты смогут подключиться к VPN на сервере и маршрутизировать свой интернет-трафик, чтобы он проходил через сервер в Интернет. Как всегда, обратитесь к полной документации , чтобы понять, что все делает. \s*#(net\.ipv4\.ip_forward=1.*)//’ /etc/sysctl.conf # Reload the config file to have the change take effect immediately. sudo -i sysctl -p

    В-третьих, включите NAT (если он еще не включен), чтобы пользователи из частной сети VPN могли передавать свои пакеты в Интернет:

    OUTIF='/sbin/ip route show to exact 0/0 | sed -r 's/.*dev\s+(\S+).*//''
    sudo -i iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE
    # Enable NAT on boot from the rc.local script.
    CMD="iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE"
    sudo sed -i "\$i$CMD\n" /etc/rc.local
    

    Примечание. В этом руководстве предполагается, что на сервере не настроен брандмауэр. Если у вас есть брандмауэр на сервере, например UFW , обратитесь к справке справочная документация .

    В-четвертых, для каждого пользователя VPN создайте учетную запись в файле / etc / ppp / chap-secrets . Замените $USER фактическим именем пользователя, которое вы хотите использовать для этого пользователя VPN.

    KEY='head -c 20 /dev/urandom | sha1sum | nawk '{print $1}''
    echo "$USER pptpd $KEY *" | sudo tee -a /etc/ppp/chap-secrets
    

    Наконец, вы готовы …

    Настроить клиент

    В апплетах Network Manager выберите VPN-соединения Настройка VPN , затем нажмите Добавить . На следующем экране выберите PPTP для типа VPN, затем нажмите Создать .

    ВэтомокневведитеимяхостаилиIP-адресвашегосерверавместесименемпользователяиключом,добавленнымвфайл/etc/ppp/chap-secretsнасервере.

    ТеперьнажмитеДополнительно.

    В этом окне включите «Использовать шифрование« точка-точка »(MPPE)» и выберите 128-бит . Отключите использование аутентификации MSCHAP (оставьте MSCHAPv2 ). Р>

    Наконец, нажмите Ok , а затем Сохранить , чтобы закрыть предыдущее окно.

    Теперь вы можете протестировать VPN-соединение, перейдя в апплет Network Manager → VPN Connections и выбрав соединение, которое вы только что создали. Убедитесь, что вы получили сообщение о том, что VPN-соединение прошло успешно, затем перейдите на веб-сайт IP-проверки , чтобы убедиться, что ваш IP-адрес теперь отображается как IP-адрес сервера.

    Если вы получили сообщение о том, что VPN-подк

    VPN-сервер посредством PPTP на Ubuntu 14.04 » Crossroads

    PPTP не является эталоном безопасности и плохо дружит с фаерволами, но является одним из самых простых способов построения изолированной локальной сети и установки защищённого соединения с ней. При том, что протокол PPTP достаточно дырявый, чтоб не использовать его в корпоративных сетях и там, где нужна гарантия конфиденциальности, он вполне приемлем для построения частных сетей для обмена информацией, либо выхода в Интернет через такие сети. В любом случае, уязвимость протокола не останавливает многих интернет-провайдеров от подключения своих клиентов именно через PPTP.

    При определённых настройках между клиентом и сервером устанавливается прямое шифрованное соединение в стандартной, незащищённой сети. Таким образом данный тип соединения может быть использован для выхода в Интернет из публичных Wi-Fi сетей и интернет-кафе.

    И так, для начала нам нужен сервер. Для VPN сетей с небольшой нагрузкой виртуального сервера (VPS) более чем достаточно. Проблема в том, что порог вхождения на рынок интернет-услуг, мягко говоря не высок. Соответственно качество этих услуг часто оставляет желать лучшего. В любом случае, перед покупкой необходимо уточнит разрешены ли у хост-провайдера VPN сети вообще и включены ли на их VPS NAT и TUN/TAP.

    На правах рекламы я рекомендую провайдера DigitalOcean. Я пользуюсь их услугами с момента открытия ими второго дата-центра в Нью-Йорке (почти 2 года) и за это время нареканий к их работе у меня не возникло. За почти десять лет я сменила множество провайдеров и мне есть с чем сравнить. То есть это действительно современный сервис «для людей». В случае с DigitalOcean, поддержка VPN включается в один клик клиентом при создании VPS. После регистрации и внесения минимального месячного платежа клиент сам выбирает конфигурацию своего VPS (Droplet, в терминологии DigitalOcean), которая варьируется от 512 MB RAM и 20 GB дискового пространства, до тех мощностей, которые клиенту по карману. Система виртуализации — KVM, накопители — SSD диски. Деньги со счёта клиента списываются ежедневно из расчёта почасовой оплаты. Клиент в любое время может пересоздать, изменить или уничтожить свой Droplet, а так же создать новый. Они гордятся своими 55-ю секундами и по факту, действительно, между нажатием кнопки «создать» и получением письма с IP-адресом и паролем для root-доступа проходит не больше минуты. DigitalOcean так же продают услуги в Амстердаме, что для европейских и восточноевропейских клиентов, возможно, более предпочтительно из-за расстояния и пинга между сервером и аудиторией этого сервера. В любом случае, при создании VPS нужно поставить галку напротив «Private Networking», чтоб включить в конфигурацию NAT и TUN/TAP.

    Я настоятельно не рекомендую без острой необходимости использовать 32-х битные дистрибутивы современных операционных систем в виду устаревшей архитектуры и того, что сами разработчики уделяют им гораздо меньшее внимание, по сравнению с 64-х битными. Таким образом в природе существует 32-х битная серверная версия Ubuntu 14. 04, но на официальном сайте Ubuntu она не представлена там, где предлагается загрузка образа этой ОС.

    И так, после того как с сервером мы определились, то приступаем к установке. В моём случае это VPS с 1024 RAM и 64-х битной Ubuntu 14.04 в качестве ОС.

    aptitude install pptpd

    Разрешаем IP-forwarding. Для этого редактируем файл /etc/sysctl.conf и в нём либо расскоментируем, либо добавляем следующую строку, если таковая отсутствует:

    net.ipv4.ip_forward = 1

    Для принятия изменений в терминале командуем:

    sysctl -p

    Правим файл /etc/pptpd.conf и приводим его к следующему виду:

    option /etc/ppp/pptpd-options
    logwtmp
    localip 10.30.1.1
    remoteip 10.30.1.30-40,10.30.1.15

    Где localip — IP виртуального сетевого интерфейса ppp0. Не нужно прописывать сюда внешний IP сервера, или IP других сетевых интерфейсов сервера.
    Remoteip — диапазон клиентских адресов в количестве десяти (от 10. 30.1.30 и до 10.30.1.40), а так же (через запятую) выделенные адреса (если таковые необходимы). В моём случае выделенный адрес один. Вы можете указать здесь любое приемлемое значение.
    Например:

    localip 10.10.1.1
    remoteip 10.10.1.100-200,10.10.1.25,10.10.1.26

    В таком случае динамичные адреса, раздаваемые клиентам присутствуют в количестве ста штук и два адреса зарезервированы.

    Далее редактируем файл /etc/ppp/chap-secrets

    user1 pptpd password "*"
    user2 pptpd password "10.30.1.15"

    В файле у нас два пользователя user1 и user2, password — пароли пользователей, звёздочка в кавычках говорит о том, что user1 получит свободный IP из указанного в /etc/pptpd.conf диапозона, а за user2 закреплён выделенный адрес. Соблюдение синтаксиса обязательно.

    Редактируем файл /etc/ppp/pptpd-options

    
    name pptpd
    refuse-pap
    refuse-chap
    refuse-mschap
    require-mschap-v2
    require-mppe-128
    ms-dns 8.8.8.8
    ms-dns 8.8.4.4
    proxyarp
    nodefaultroute
    lock
    nobsdcomp
    novj
    novjccomp
    nologfd
    noipx
    mtu 1400
    mru 1400

    Где ms-dns — DNS сети. Указаны публичные адреса Google, но можно выставить свои, если таковые имеются. MTU и MRU по умолчанию установлены в значение 1500. Если удалить эти две строки, то будет использоваться значение по умолчанию. В моём случае при значениях по умолчанию наблюдается большая потеря пакетов. То есть к этим строкам подход индивидуальный. Всё зависит от настроек клиентской стороны и от скорости соединения в целом.

    Перезагружаем pptp сервер

    service pptpd restart

    Проверяем.

    netstat -alpn | grep :1723

    Если получаем нечто похожее на то, что на скриншоте, то всё работает как надо.

    Создаём правила NAT для iptables

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save

    Если хотим, чтоб клиенты видели друг друга в локальной сети и могли обмениваться файлами, то прописываем следующие правила:

    iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
    iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
    iptables --append FORWARD --in-interface eth0 -j ACCEPT

    Сохраняем

    iptables-save

    Если вы используете стороннюю программу для настроек фаервола, то перед тем как вносить через неё изменения, следует убедиться, что принятые только что правила отображаются в этой программе. Я использую панель управления Webmin и фаервол обычно настраиваю через неё. Соответственно там отображаются лишь те правила, которые были внесены через неё. Если добавить правило и применить, то изменения, принятые через терминал в процессе настройки PPTP сервера перезапишутся. Чтоб этого не произошло, в Webmin, в настройках фаервола нужно вернуть текущую конфигурацию iptables. Убеждаемся, что принятые изменения присутствуют в списке правил и только тогда жмём «сохранить».

    На этом всё. Ниже два скриншота с настройками подключения на стороне клиента (Windows и Linux).

    После удачного соединения можно вывести список сетевых интерфейсов с помощью команды ifconfig и убедиться в том, что всё работает.gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 dns_nameservers 8.8.8.8 8.8.4.4 positive_dns_ttl 6 hours negative_dns_ttl 1 minutes #auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords #auth_param basic children 5 #auth_param basic realm Please provide your username and password. #auth_param basic credentialsttl 24 hour #acl ncsa_users proxy_auth REQUIRED acl localnet src 10.0.0.0/8 # RFC 1918 possible internal network acl localnet src 172.16.0.0/12 # RFC 1918 possible internal network acl localnet src 192.168.0.0/16 # RFC 1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 # https acl SSL_ports port 22 # ssh acl All_ports port 1-65535 # unregistered ports acl CONNECT method CONNECT http_access allow localnet #http_access allow ncsa_users http_access allow All_ports http_access allow CONNECT SSL_ports http_access deny all coredump_dir /var/spool/squid3 request_header_access Cache-Control deny all

    В данной конфигурации Squid будет обслуживать клиентов локальной сети без пароля, из внешних сетей доступ к нему будет закрыт. Если раскомментировать закомментированые строки конфигурации, то клиенты локальной сети по прежнему смогут обращаться к нему без пароля, но так же будет возможен доступ из вне, но уже с паролями, указанными в файле «passwords».

    Для клиентов локальной сети адрес прокси должен быть локальным. Смотрите скриншот выше с выводом команды «ifconfig». У меня на сервере два физических сетевых интерфейса: eth0, который смотрит в Интернет и eth2 — интерфейс, смотрящий в локальную сеть. Таким образом в моём случае адрес прокси будет 10.128.9.55. Для клиентов из внешних сетей в качестве адреса должен служить внешний IP сервера.

    Таким образом PPTP нет необходимости пробрасывать трафик от клиента во внешнюю сеть через фаервол. Этим будет заниматься Squid.

    На этом всё. Наша сеть работает.

    ___
    Tatyana K.

    Настройка VPN на Ubuntu Server (способ первый)

    Содержание

    Установка OpenVPN на Ubuntu Server

    Приступим к установке пакетов на нашем сервере. В терминале набираем:

    sudo apt update
    sudo apt install openvpn easy-rsa -y

    Оба пакеты должны быть установлены как на сервере, так и на клиенте. Они понадобятся для настройки программы.

    Настройка сертификатов OpenVPN

    Для настройки сертификатов нам потребуется пакет easy-rsa. Копируем директорию /easy-rsa в директорию нашего openvpn сервера. Но для начала станем root пользователем

    sudo -su
    sudo cp -R /usr/share/easy-rsa /etc/openvpn/

    Перейдем в директорию /easy-rsa

    cd /etc/openvpn/easy-rsa/

    Откроем на редактирование файл vars

    sudo nano vars

    В конце файла заменим информацию о сертификатах по умолчанию (ваши значения).

    export KEY_COUNTRY="RU"
    export KEY_PROVINCE="Moscow Region"
    export KEY_CITY="Moscow"
    export KEY_ORG="MyOrg"
    export KEY_EMAIL="[email protected]"
    export KEY_OU="MyOrganizationalUnit"
    # PKCS11 я не использовал, поэтому оставил без изменений.
    export PKCS11_MODULE_PATH=changeme
    export PKCS11_PIN=1234
    export KEY_ALTNAMES="VPNtoRUS"

    Загружаем переменные

    source ./vars

    Если выдает вот такое предупреждение:

    **********************************************************
     No /etc/openvpn/easy-rsa/openssl.cnf file could be found
       Further invocations will fail
     *********************************************************
     NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

    Значит надо переименовать один из файлов openssl-X.X.X.cnf в файл с именем openssl.cnf

    sudo mv openssl-1.0.0.cnf openssl.cnf

    Далее очищаем от старых сертификатов и ключей директорию /keys

    ./clean-all

    Создаем сертификат ЦС. По умолчанию поля будут заполняться данными, введенными ранее в файле /vars, поэтому можно ничего не менять.

    ./build-ca

    Создаем ключ сервера

    ./build-key-server server

    В конце соглашаемся с запросом на подпись и добавление сертификат в базу.

    Создаем ключ Диффи-Хеллмана

    ./build-dh

    Cоздаем ключ для tls-аутификации

    openvpn --genkey --secret keys/ta.key

    Создадим симлинк на директорию ./keys

    sudo ln -s /etc/openvpn/easy-rsa/keys /etc/openvpn/keys

    Если же по какой либо причине у Вас при создании сертификатов сервер выдает ошибку. Значит придется скачать и собрать пакет easy-rsa самостоятельно. Как это сделать смотрим эту статью.

    Настройка конфигурационного файла OpenVPN сервера

    Далее создаем конфигурационный файл openvpn.

    sudo touch /etc/openvpn/server.conf

    Со следующим содержимым:

    # Порт на котором будет крутиться наш VPN (по умолчанию 1194)
    port 1194
    # Протокол может быть UDP или TCP.
    proto udp
    #Сообщение серверу о конце сессии (если укажите TCP,то ставим 0)
    explicit-exit-notify 2
    # Название интерфейса.
    dev tun
    # Указываем директории с нашими ключами
    ca /etc/openvpn/keys/ca.crt
    cert /etc/openvpn/keys/server.crt
    key /etc/openvpn/keys/server.key
    dh /etc/openvpn/keys/dh3048.pem
    # Задаем IP и маску виртуальной сети. Произвольно, но если не уверены лучше делайте как показано здесь
    server 10.8.0.0 255.255.255.0
    # Указываем, где хранятся файлы с настройками IP-адресов клиентов (создадим ниже)
    client-config-dir ccd
    # Запоминать динамически выданные адреса для VPN-клиентов и при последующих подключениях назначать те же значения.
    ifconfig-pool-persist ipp.txt
    ### Включаем TLS
    tls-server
    # Для сервера 0 для клиента 1
    tls-auth /etc/openvpn/keys/ta.key 0
    tls-timeout 120
    # Проверка подлинности пакетов
    auth SHA256
    # Шифровать методом
    cipher AES-256-CBC
    # Чтобы клиенты видели друг друга
    client-to-client
    # Один IP на клиента
    topology subnet
    # Разрешить дублирующие сертификаты
    ;duplicate-cn
    # Пинг клиента каждые 10 сек. и разрыв соединения если нет пинга в течении 120 сек.
    keepalive 10 120
    # Сжатие трафика старые клиенты
    comp-lzo
    #Новые v2.4+ 
    ;compress lz4-v2
    ;push "compress lz4-v2"
    # Максимум клиентов
    max-clients 10
    # Права для клиентов-только для Linux
    user nobody
    group nogroup
    # Не перечитывать ключи, не закрывать и переоткрывать TUN\TAP устройства, после получения SIGUSR1 или ping-restart
    persist-key
    persist-tun
    # Логи
    status openvpn-status.log
    log /var/log/openvpn/openvpn.log
    # Детальность логирования
    verb 3
    # Защита от повторов (максимум 20 одинаковых сообщений подряд)
    mute 20
    # Файл отозванных сертификатов. Раскомментировать, когда такие сертификаты появятся.
    ;crl-verify /etc/openvpn/crl.pem

    Создадим директорию для клиентских конфигов

    mkdir /etc/openvpn/ccd

    Можно запускать наш сервер OpenVPN

    service openvpn restart

    Смотрим список интерфейсов

    ifconfig

    Если среди прочих видим

     tun0: flags=4305  mtu 1500
             inet 10.8.0.1  netmask 255.255.255.255  destination 10.8.0.1
             unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
             RX packets 0  bytes 0 (0.0 B)
             RX errors 0  dropped 0  overruns 0  frame 0
             TX packets 0  bytes 0 (0.0 B)
             TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    значит VPN-сервер завелся. Если нет, то смотрим лог

    tail -f /var/log/openvpn/openvpn.log

    Либо можно попробывать перезагрузить ваш сервер

    sudo reboot

    После перезагрузки должно все заработать. Если нет, то курим логи

    Настройка конфигурационного файла клиента.

    Создаем сертификат клиента:

    cd /etc/openvpn/easy-rsa
    ./build-key client1

    Далее необходимо скопировать файлы client1.crt, client1.key, ta.key и ca.crt с сервера на клиентскую машину. Для этого в консоли набираем:

    scp /etc/openvpn/keys/{client1.crt,client1.key,ca.crt,ta.key} [email protected]:/etc/openvpn/

    где,
    user — это пользователь на клиентской машине с правами sudo
    user-host — это IP адрес ПК на которую передаем ключи

    Если вам нужно перенести файлы например на Windows машину или Android, то набираем следующие команды:

    zip client1.zip client1.crt client1.key ca.crt ta.key

    Далее копируем наш архив в директорию включенную в шару.
    Как настроить шару на Ubuntu Server.

    Ну а дальше все как обычно, заходим на расшаренную папку и копируем наш zip архив.

    Если все прошло гладко,то переходим на ПК клиента. Установим необходимые пакеты (Для клиента на Ubuntu)

    sudo apt install openvpn easy-rsa -y

    Создадим файл client.conf:

    sudo touch /etc/openvpn/client.conf

    с содержимым:

    client
    proto udp
    dev tun
    # !!! замените на настоящий ip адрес сервера
    remote 111.111.111.111 1194
    # следующие две строчки актуальны только для Linux систем
    # на практике они не очень удобны, так как OpenVPN не сможет
    # нормально все за собой почистить по завершению работы
    user nobody
    group nogroup
    # Не перечитывать ключи, не закрывать и переоткрывать TUN\TAP устройства
    persist-key
    persist-tun
    # Пути где располагаются сертификаты
    ca ca.crt
    cert client1.crt
    key client1.key
    # Используемое шифрование
    cipher AES-256-CBC
    auth SHA256
    # Сжатие трафика
    comp-lzo
    # Детальность логирования 
    verb 3

    Запускаем VPN туннель:

    sudo openvpn --config client.conf

    В соседнем терминале набираем:

    ping 10.8.0.1

    Если все было сделано правильно, вы обнаружите, что пинги успешно доходят до 10.8.0.1

    Авто запуск openvpn при старте

    Разрешаем автозапуск службы:

    systemctl enable openvpn

    Если есть вопросы, то пишем в комментариях.

    Также можете помочь проекту, заранее всем СПАСИБО!!!
    .

    Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

    0 0 vote

    Рейтинг статьи

    Настройка VPN на Ubuntu Server (способ второй)

    Чтобы поднять свой VPN, нам потребуется сервер с Ubuntu или Debian, пакет OpenVPN и Easy-RSA. Если сервер у вас уже есть, хорошо. Если нет, то не расстраивайтесь. Приобрести сервер сейчас не так уж и сложно. В интернете предложение сейчас навалом.

    Содержание

    Установка OpenVPN на Ubuntu Server 16.04 | 17.04 | 18.04

    Приступим к установке пакетов на нашем сервере. В терминале набираем:

    sudo apt update
    sudo apt install openvpn -y

    Раньше в OpenVPN входила утилита под названием easy-rsa,- предназначенная для генерации ключей и сертификатов. Начиная с версии 2.3 эту утилиту из пакета выпилили, поэтому придется скачать и собрать ее самостоятельно:

    Для этого перейдем в директорию /tmp и скачаем пакет Easy-RSA

    cd /tmp
    wget https://github.com/OpenVPN/easy-rsa/archive/master.zip

    Распакуем скачанный архив

    unzip master.zip

    Теперь соберём пакет

    ./easy-rsa-master/build/build-dist.sh

    Распакуем собранный пакет

    unzip ./EasyRSA-git-development.zip

    Дальнейшие изменения будем делать от root для этого набираем:

    sudo -su

    Перенесем директорию easy-rsa в директорию openvpn

    sudo mv ./easy-rsa-master/EasyRSA-git-development/easyrsa3 /etc/openvpn/easy-rsa

    Далее нужно будет настроить сертификаты для нашего VPN сервера

    Настройка сертификатов OpenVPN

    Переходим в нашу директорию

    cd /etc/openvpn/easy-rsa

    Отредактируем файл vars.exemple. Нужно будет раскоментировать и внести изменения в некоторые строки как у меня в примере:

    set_var EASYRSA_REQ_COUNTRY "RU"
    set_var EASYRSA_REQ_PROVINCE "Russia"
    set_var EASYRSA_REQ_CITY "Moscow"
    set_var EASYRSA_REQ_ORG "Copyleft Certificate Co"
    set_var EASYRSA_REQ_EMAIL "[email protected]"
    set_var EASYRSA_REQ_OU "My Organizational Unit"

    Генерируем все необходимые ключи и сертификаты.

    ./easyrsa init-pki

    Это команда создаст директорию /etc/openvpn/pki, где будут располагаться наши сертификаты

    Далее сертификат ЦС:

    ./easyrsa build-ca

    При создании сертификата ЦС необходимо будет ввести пароль

    Создаем сертификат сервера:

    ./easyrsa build-server-full server

    При создании сертификата сервера необходимо ввести пароль для сертификата сервера, а также пароль ЦС

    Сертификат Диффи-Хеллмана:

    ./easyrsa gen-dh

    При создании ключа Диффи-Хеллмана придется набраться терпения 🙂

    Далее сертификат клиента:

    ./easyrsa build-client-full client1

    При создании сертификата клиента необходимо ввести пароль для сертификата клиента, а также пароль ЦС

    Cоздаем ключ для tls-аутификации.

    openvpn --genkey --secret ./pki/private/ta.key

    Переносим полученные ключи и сертификаты в каталог /etc/openvpn/:

    mv ./pki/dh.pem /etc/openvpn/keys/dh3048.pem
    mv ./pki/private/client1.key /etc/openvpn/keys/
    mv ./pki/private/server.key /etc/openvpn/keys/
    mv ./pki/ca.crt /etc/openvpn/keys/
    mv ./pki/issued/client1.crt /etc/openvpn/keys/
    mv ./pki/issued/server.crt /etc/openvpn/keys/

    на этом установка openvpn закончена

    Настройка конфигурационного файла OpenVPN сервера

    Далее создаем конфигурационный файл openvpn.

    sudo touch /etc/openvpn/server.conf

    Со следующим содержимым:

    # Порт на котором будет крутиться наш VPN (по умолчанию 1194)
    port 1194
    # Протокол может быть UDP или TCP.
    proto udp
    #Сообщение серверу о конце сессии (если укажите TCP,то ставим 0)
    explicit-exit-notify 2
    # Название интерфейса.
    dev tun
    # Указываем директории с нашими ключами
    ca /etc/openvpn/keys/ca.crt
    cert /etc/openvpn/keys/server.crt
    key /etc/openvpn/keys/server.key
    dh /etc/openvpn/keys/dh3048.pem
    # Задаем IP и маску виртуальной сети. Произвольно, но если не уверены лучше делайте как показано здесь
    server 10.8.0.0 255.255.255.0
    # Указываем, где хранятся файлы с настройками IP-адресов клиентов (создадим ниже)
    client-config-dir ccd
    # Запоминать динамически выданные адреса для VPN-клиентов и при последующих подключениях назначать те же значения.
    ifconfig-pool-persist ipp.txt
    ### Включаем TLS
    tls-server
    # Для сервера 0 для клиента 1
    tls-auth /etc/openvpn/keys/ta.key 0
    tls-timeout 120
    # Проверка подлинности пакетов
    auth SHA256
    # Шифровать методом
    cipher AES-256-CBC
    # Чтобы клиенты видели друг друга
    client-to-client
    # Один IP на клиента
    topology subnet
    # Разрешить дублирующие сертификаты
    ;duplicate-cn
    # Пинг клиента каждые 10 сек. и разрыв соединения если нет пинга в течении 120 сек.
    keepalive 10 120
    # Сжатие трафика старые клиенты
    comp-lzo
    #Новые v2.4+ 
    ;compress lz4-v2
    ;push "compress lz4-v2"
    # Максимум клиентов
    max-clients 10
    # Права для клиентов-только для Linux
    user nobody
    group nogroup
    # Не перечитывать ключи, не закрывать и переоткрывать TUN\TAP устройства, после получения SIGUSR1 или ping-restart
    persist-key
    persist-tun
    # Логи
    status openvpn-status.log
    log /var/log/openvpn/openvpn.log
    # Детальность логирования
    verb 3
    # Защита от повторов (максимум 20 одинаковых сообщений подряд)
    mute 20
    # Файл отозванных сертификатов. Раскомментировать, когда такие сертификаты появятся.
    ;crl-verify /etc/openvpn/crl.pem

    Создадим директорию для клиентских конфигов

    mkdir /etc/openvpn/ccd

    Можно запускать наш сервер OpenVPN

    service openvpn restart

    Далее приступаем к настройке клиентской части

    Настройка конфигурационного файла OpenVPN клиента.

    Теперь что касается клиентской стороны. Нам необходимо скопировать файлы client1.crt, client1.key, ta.crt и ca.crt с сервера на клиентскую машину. Для этого в консоле клиента набираем:

     scp /etc/openvpn/keys/{client1.crt,client1.key,ca.crt,ta.key} [email protected]:/etc/openvpn/

    где,
    user — это пользователь на сервере
    user-host — это IP адрес вашего клиента

    Если не удаётся  скопировать сертификаты, то необходимо поменять права на данные файлы

    Создадим файл client.conf:

    sudo nano /etc/openvpn/client.conf

    с содержимым:

    client
    proto udp
    dev tun
    # !!! замените на настоящий ip адрес сервера
    remote 111.111.111.111 1194
    # следующие две строчки актуальны только для Linux систем
    # на практике они не очень удобны, так как OpenVPN не сможет
    # нормально все за собой почистить по завершению работы
    user nobody
    group nogroup
    # Не перечитывать ключи, не закрывать и переоткрывать TUN\TAP устройства
    persist-key
    persist-tun
    # Пути где располагаются сертификаты
    ca ca.crt
    cert client1.crt
    key client1.key
    # Используемое шифрование
    cipher AES-256-CBC
    auth SHA256
    # Сжатие трафика
    comp-lzo
    # Детальность логирования 
    verb 3

    Подрубаемся к серверу, внимательно читаем логи:

    sudo openvpn --config client.conf

    В соседнем терминале говорим:

    ping 10.8.0.1

    Если все было сделано правильно, вы обнаружите, что пинги успешно доходят до 10.8.0.1

    Авто запуск openvpn при старте

    Разрешаем автозапуск службы:

    systemctl enable openvpn

    Если есть вопросы, то пишем в комментариях.

    Также можете помочь проекту, заранее всем СПАСИБО!!!
    .

    Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

    0 0 vote

    Рейтинг статьи

    Настройка VPN-сервера PPTPD на базе Ubuntu Server 10.04 LTS для раздачи интернета в локальную сеть офиса

    Статью писал, основываясь на личном опыте недельной е*ли с настройками сервака и поисков в гугле. В результате имеем 100% рабочую конфигурацию (все юзвери получают инфернет, все интернет-ресурсы доступны) без багов и подводных камней. Т.к. не обладаю достаточным опытом ни в написании статей, ни в администрировании линуксячих серверов, то опишу все «народным» языком… Итак…

    Имеем:

    1) Роутер, подсоединенный по PPTP к местному провайдеру. Нужен так же WiFi для отдельного круга нетбуков и ноутов, на которых не будет заводиться свое VPN, т.к. этот круг постоянно меняется. Ноуты будут получать инет из сетки роутера. Потому конфиг сети именно такой =)

    2) Всежеустановленный сервер Ubuntu Server 10.04 LTS

    3) 2 сетевые карты, одна из которых (eth0) смотрит во внутреннюю сеть роутера и получает из нее интернет, а вторая (eth2) — во внутреннюю сеть здания. К ней и будут коннектиться пользовательские компы.

    Для таких же, как я: Прелесть PPTPD-сервера в том, что для него, в отличии от того же OpenVPN, не требуется установка отдельного VPN-клиента на пользовательские машины, достаточно встроенных средств винды или той же линухи.

    Установка сервака происходит довольно просто, вот ссылка на мою же статейку. После установки самой системы дальнейшее выполняется одним скриптом. Для общения с сервером из моей винды (да, пока еще грешу этим делом чтоб в игрульки поиграть) по SSH я использовал putty. Мануалов по его настройке и установке предостаточно на просторах инфернета. Вот, как по мне, хорошо прописанная инструкция по установке. Для запуска иксов на винде (кому вдруг необходимо) рекомендую Xming. После его установки в putty, в колонке Connection — SSH — X11, поставьте галочку на Enable X11 Forvarding.

    Скажем, сервер у Вас рабочий уже имеется. Тогда приступим к настройке.

    • Настраиваем сеть. У меня, как я уже говорил, две сетевухи. Вот мой конфиг: 

    sudo nano /etc/network/interfaces


    sudo /etc/init.d/networking restart

    Проверяем, чтоб все было православно:

    ifconfig -a


    Если вывод команды показывает, что все так, как Вы настраивали, и ошибок нет, то идем дальше.
    • Ставим следующие пакеты:
    sudo apt-get install ppp pptpd bind9

    DNS-сервер настройки для нашего случая не требует, потому сразу

    • Настраиваем PPTPD-сервер
    sudo nano /etc/ppp/pptpd-options

    # Authentication
    name pptpd
    auth

    # Encryption
    refuse-pap
    refuse-chap
    refuse-mschap
    require-mschap-v2
    require-mppe-128

    # По умолчанию для шифромания ничего менять не надо, но на всякий случай сверьтесь

    # Network and Routing
    ms-dns 192.168.137.1

    # В качестве DNS для наших VNP-соединений указываю адрес моего eth2

    #proxyarp

    # Мы не раздаем пользователям IP из нашей реальной подсети, потому смело каментим 
    # данный параметр

    # Logging
    logfile /var/log/pptpd.log

    # Указываем путь к файлу, в который наш PPTPD будет писать лог подключений и т.п.
    # С pptpd-options все, идем дальше.

    sudo nano /etc/pptpd.conf 

    bcrelay eth2 

    #Широковещательные пакеты пользователям из внутреннего интерфейса


    localip 192.168.137.1
    remoteip 192.168.137.100-200 

    # Локальный адрес — адрес внутренней сетевой, внешний адрес — группа адресов, 
    # выдаваемых пользователям при подключении.
    # С pptpd.conf все, идем дальше.

    • Создадим пользователей нашего VPN-сервера:

     sudo nano /etc/ppp/chap-secrets


    Client              Server              Passwd                IP
    geshyk   pptpd  gn1203td  «*»
    stalker    pptpd o1bp3t09  «*»

    # Пользователей создаем именно в таком формате, вместо <Tab> должно быть понятное  # дело что 🙂 Если Вы не будете закреплять за каждым пользователем отдельный IP, то  
    # напротив него в соответствующей графе ставим «*»

    • Настраиваем IPTABLES, будь он, курва, неладен:
    Для этого создадим скрипт и поставим его в автозагрузку. Скрипт был скопипизжен из сети. Разберитесь и, если надо, переделайте под себя.

    sudo nano /etc/init.d/firewall.sh


    #!/bin/sh

    # Минимальные настройки скрипта
    # Внешний интерфейс
    IF_EXT=»eth0″
    # Внутренний интерфейс
    IF_INT=»eth2″
    # Локальная сеть
    NET_INT=»192.168.137.0/255.255.255.0″

    # На всякий случай сбрасываем все правила
    iptables -F
    iptables -F -t nat

    # Устанавливаем политики по умолчанию:
    # Никого не пускать
    #iptables -P INPUT DROP
    # Всех выпускать
    #iptables -P OUTPUT ACCEPT
    # Мимо нас никто не ходит
    #iptables -P FORWARD DROP

    # Впускаем ответы на запросы, которые сами отправили
    iptables -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT

    # Разрешаем весь трафик на внутреннем интерфейсе
    iptables -A INPUT -i lo -j ACCEPT

    # Разрешаем весь трафик со стороны локальной сети
    iptables -A INPUT -i ${IF_INT} -s ${NET_INT} -j ACCEPT

    # Разрешаем весь трафик, который необходим для работы PPTP-сервера
    iptables -A INPUT -m tcp -p tcp —dport 1723 -j ACCEPT
    iptables -A INPUT -p gre -j ACCEPT

    # NAT для локальной сети на внешнем интерфейсе
    iptables -t nat -A POSTROUTING -s ${NET_INT} -j MASQUERADE -o ${IF_EXT}
    # Разрешаем пересылку пакетов из локальной сети наружу
    iptables -A FORWARD -i ${IF_INT} -o ${IF_EXT} -s ${NET_INT} -j ACCEPT
    # Разрешаем пересылку в локальную сеть ответов на исходящие запросы
    iptables -A FORWARD -i ${IF_EXT} -o ${IF_INT} -d ${NET_INT} -m state —state RELATED,ESTABLISHED -j ACCEPT
    # Разрешаем все пинги.
    #iptables -A INPUT -p icmp -j ACCEPT
    #Настройка MTU
    #iptables -I FORWARD -p tcp —tcp-flags SYN,RST SYN -j TCPMSS —clamp-mss-to-pmtu 

    # Делаем его исполняемым и ставим на старт при загрузке системы

    cd /etc/init.d

    sudo chmod +x firewall.sh

    sudo update-rc.d firewall.sh defaults 99

    # В файле /etc/sysctl.conf раскоментируем одну строчку, чтобы разрешить пересылку
    # IP-пакетов в ядре.

    sudo nano /etc/sysctl.conf

    net.ipv4.ip_forward=1

    # Перезагружаем сервер

    sudo reboot 

    Перезагружаем сервер, и проверяем коннект пользователей. В винде нужно создать pptp-подключение, поставив обязательным шифрование и оставив только MS-Chap v.2. В настройках сетевой указывайте любой IP в диапазоне 192.168.137.2-99, ибо 192.168.137.100-200 раздаются vpn-соединениям, а эти вещи ни в коем случае не должны пересекаться.

    Вот, собственно, и все… Удачного пользования. Надеюсь, кого-то эта статейка спасла от бесполезной траты драгоценных человекочасов на сидение перед монитором. И вместо этого человек пошел к кентам и пива попил с рыбкой.

     
     
     

    Сервис — OpenVPN | Документация на сервер

    OpenVPN — это решение для виртуальной частной сети (VPN), доступное в репозиториях Ubuntu. Он гибкий, надежный и безопасный. Он принадлежит к семейству стеков SSL / TLS VPN (отличных от IPSec VPN). В этой главе рассказывается об установке и настройке OpenVPN для создания VPN.

    Если вам нужно больше, чем просто общие ключи, OpenVPN упрощает настройку инфраструктуры открытых ключей (PKI) для использования сертификатов SSL / TLS для аутентификации и обмена ключами между сервером VPN и клиентами.OpenVPN может использоваться в режиме VPN с маршрутизацией или мостом и может быть настроен на использование UDP или TCP. Номер порта также можно настроить, но порт 1194 является официальным; этот единственный порт используется для всех коммуникаций. Реализации VPN-клиентов доступны практически для всего, включая все дистрибутивы Linux, OS X, Windows и маршрутизаторы WLAN на базе OpenWRT.

    Установка сервера

    Чтобы установить openvpn в терминал, введите:

      sudo apt установить openvpn easy-rsa
      

    Настройка инфраструктуры открытого ключа

    Первым шагом в создании конфигурации OpenVPN является создание PKI (инфраструктуры открытых ключей).PKI состоит из:

    • отдельный сертификат (также известный как открытый ключ) и закрытый ключ для сервера и каждого клиента.

    • — главный сертификат и ключ центра сертификации (CA), используемый для подписи сертификатов сервера и клиента.

    OpenVPN поддерживает двунаправленную аутентификацию на основе сертификатов, что означает, что клиент должен аутентифицировать сертификат сервера, а сервер должен аутентифицировать сертификат клиента до установления взаимного доверия.

    И сервер, и клиент будут аутентифицировать друг друга, сначала проверив, что представленный сертификат был подписан главным центром сертификации (ЦС), а затем проверив информацию в уже аутентифицированном заголовке сертификата, такую ​​как общее имя сертификата или тип сертификата ( клиент или сервер).

    Настройка центра сертификации

    Чтобы настроить собственный центр сертификации (CA) и сгенерировать сертификаты и ключи для сервера OpenVPN и нескольких клиентов, сначала скопируйте каталог easy-rsa в / etc / openvpn .Это гарантирует, что любые изменения сценариев не будут потеряны при обновлении пакета. С терминала запустите:

      Судо make-cadir / etc / openvpn / easy-rsa
      

    Примечание. При желании вы можете также отредактировать файл / etc / openvpn / easy-rsa / vars напрямую, настроив его в соответствии с вашими потребностями.

    Как root пользователь перейдите во вновь созданный каталог / etc / openvpn / easy-rsa и запустите:

      ./easyrsa init-pki
    ./easyrsa build-ca
      

    Ключи и сертификаты сервера

    Далее мы сгенерируем пару ключей для сервера:

     ./ easyrsa gen-req myservername nopass
      

    Параметры Диффи Хеллмана должны быть сгенерированы для сервера OpenVPN. Следующее поместит их в pki / dh.pem .

      ./easyrsa gen-dh
      

    И наконец сертификат для сервера:

      ./easyrsa gen-req myservername nopass
    ./easyrsa sign-req server имя-сервера
      

    Все сертификаты и ключи были созданы в подкаталогах. Обычная практика — скопировать их в / etc / openvpn /:

      cp pki / dh.pem pki / ca.crt pki / выданный / myservername.crt pki / private / myservername.key / etc / openvpn /
      

    Сертификаты клиентов

    VPN-клиенту также понадобится сертификат для аутентификации на сервере. Обычно вы создаете разные сертификаты для каждого клиента.

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

    Чтобы создать сертификат, введите в терминале следующее, будучи пользователем root:

      ./easyrsa gen-req myclient1 nopass
    ./easyrsa sign-req client myclient1
      

    Если первая команда выше была выполнена в удаленной системе, скопируйте файл .req на сервер CA. Затем вы можете импортировать его через easyrsa import-req /incoming/myclient1.req myclient1 . Затем вы можете перейти ко второй команде sign-eq .

    В обоих случаях после этого скопируйте следующие файлы на клиент безопасным способом:

    • пки / ок.крт
    • пки / выдано / myclient1.crt

    Поскольку клиентские сертификаты и ключи требуются только на клиентском компьютере, вы можете удалить их с сервера.

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

    Вместе с установкой OpenVPN у вас есть эти образцы файлов конфигурации (и многие другие, если вы проверите):

      корень @ сервер: / # ls -l / usr / share / doc / openvpn / examples / sample-config-files /
    всего 68
    -rw-r - r-- 1 root root 3427 04.07.2011, 15:09 client.conf
    -rw-r - r-- 1 root root 4141 04.07.2011, 15:09 server.conf.gz
      

    Начните с копирования и распаковки server.conf.gz в /etc/openvpn/server.conf.

      sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/myserver.conf.gz
    sudo gzip -d /etc/openvpn/myserver.conf.gz
      

    Отредактируйте /etc/openvpn/myserver.conf , чтобы убедиться, что следующие строки указывают на сертификаты и ключи, которые вы создали в разделе выше.

      ca ca.crt
    сертификат myservername.crt
    ключ myservername.key
    dh dh3048.pem
      

    Завершите этот набор клавишей ta в etc / openvpn для tls-auth, например:

      sudo openvpn --genkey --secret ta.key
      

    Отредактируйте /etc/sysctl.conf и раскомментируйте следующую строку, чтобы включить переадресацию IP.

      # net.ipv4.ip_forward = 1
      

    Затем перезагрузите sysctl.

      Судо sysctl -p /etc/sysctl.conf
      

    Это минимум, который вам нужно настроить, чтобы получить работающий сервер OpenVPN.Вы можете использовать все настройки по умолчанию из примера файла server.conf. Теперь запустите сервер.

    Имейте в виду, что «systemctl start openvpn» — это , а не , запускающий только что определенный вами openvpn.
    Openvpn использует шаблонные системные задания, openvpn @ CONFIGFILENAME. Итак, если, например, ваш файл конфигурации — myserver.conf , ваша служба называется openvpn @ myserver. Вы можете запускать всевозможные команды service и systemctl, такие как start / stop / enable / disable / preset, для шаблонной службы, такой как openvpn @ server.

      $ sudo systemctl start openvpn @ мойсервер
      

    В журнале вы найдете записи и сообщения об ошибках. Например, если вы запустили шаблонную службу openvpn @ server, вы можете отфильтровать этот конкретный источник сообщения с помощью:

      sudo journalctl -u openvpn @ myserver -xe
      

    Один и тот же шаблонный подход работает для всех systemctl:

      $ sudo systemctl статус openvpn @ myserver
    [email protected] - подключение OpenVPN к моему серверу
       Загружено: загружено (/ lib / systemd / system / openvpn @.оказание услуг; отключен; предустановка поставщика: включена)
       Активен: активен (работает) с Чт 2019-10-24 10:59:25 UTC; 10с назад
         Документы: man: openvpn (8)
               https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
               https://community.openvpn.net/openvpn/wiki/HOWTO
     Основной PID: 4138 (openvpn)
       Статус: «Последовательность инициализации завершена»
        Задач: 1 (лимит: 533)
       Память: 1.0 МБ
       CGroup: /system.slice/system-openvpn.slice/[email protected]
               └─4138 / usr / sbin / openvpn --daemon ovpn-myserver --status / run / openvpn / myserver.статус 10 --cd / etc / openvpn --script-security 2 --config /etc/openvpn/myserver.conf --writepid / run /
    
    24 октября 10:59:26 eoan-vpn-server ovpn-myserver [4138]: / sbin / ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2
    24 октября 10:59:26 eoan-vpn-server ovpn-myserver [4138]: / sbin / ip route добавить 10.8.0.0/24 через 10.8.0.2
    24 октября, 10:59:26 eoan-vpn-server ovpn-myserver [4138]: не удалось определить протокол IPv4 / IPv6. Использование AF_INET
    24 октября 10:59:26 eoan-vpn-server ovpn-myserver [4138]: Буферы сокетов: R = [212992-> 212992] S = [212992-> 212992]
    24 октября 10:59:26 eoan-vpn-server ovpn-myserver [4138]: локальная ссылка UDPv4 (привязанная): [AF_INET] [undef]: 1194
    24 октября 10:59:26 eoan-vpn-server ovpn-myserver [4138]: удаленный канал UDPv4: [AF_UNSPEC]
    24 октября 10:59:26 eoan-vpn-server ovpn-myserver [4138]: MULTI: вызов multi_init, r = 256 v = 256
    24 октября, 10:59:26 eoan-vpn-server ovpn-myserver [4138]: IFCONFIG POOL: base = 10.8.0.4 размер = 62, ipv6 = 0
    24 октября, 10:59:26 eoan-vpn-server ovpn-myserver [4138]: IFCONFIG POOL LIST
    24 октября 10:59:26 eoan-vpn-server ovpn-myserver [4138]: последовательность инициализации завершена
      

    Вы можете включать / отключать различные службы openvpn в одной системе, но вы также можете позволить Ubuntu сделать это за вас. Конфигурация для AUTOSTART находится в / etc / default / openvpn . Допустимые значения: «все», «нет» или список имен VPN, разделенных пробелами. Если пусто, предполагается «все». Имя VPN относится к имени файла конфигурации VPN.т.е. home будет /etc/openvpn/home.conf Если вы используете systemd, изменение этой переменной потребует запуска systemctl daemon-reload с последующим перезапуском службы openvpn (если вы удалили записи возможно, вам придется остановить их вручную).

    После «systemctl daemon-reload» перезапуск «общего» openvpn перезапустит все зависимые службы, которые генератор в / lib / systemd / system-generators / openvpn-generator создал для ваших файлов conf при вызове daemon-reload.

    Теперь проверьте, создал ли OpenVPN интерфейс tun0:

      root @ server: / etc / openvpn # ip addr show dev tun0
    5: tun0:  mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
        ссылка / нет
        inet 10.8.0.1 peer 10.8.0.2/32 глобальная область tun0
           valid_lft навсегда предпочтительный_lft навсегда
        inet6 fe80 :: b5ac: 7829: f31e: 32c5 / 64 ссылка области видимости стабильная конфиденциальность
           valid_lft навсегда предпочтительный_lft навсегда
      

    Простая настройка клиента

    Существуют различные реализации клиента OpenVPN с графическим интерфейсом пользователя и без него.Вы можете узнать больше о клиентах в следующем разделе о VPN-клиентах. На данный момент мы используем клиент OpenVPN на основе командной строки / службы для Ubuntu, который является частью того же пакета, что и сервер. Поэтому вам нужно снова установить пакет openvpn на клиентском компьютере:

      sudo apt установить openvpn
      

    На этот раз скопируйте образец файла конфигурации client.conf в / etc / openvpn /:

      sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf / etc / openvpn /
      

    Скопируйте следующие клиентские ключи и файлы сертификатов, которые вы создали в разделе выше, в e.грамм. / etc / openvpn / и отредактируйте /etc/openvpn/client.conf , чтобы убедиться, что следующие строки указывают на эти файлы. Если у вас есть файлы в / etc / openvpn /, вы можете не указывать путь.

      ca ca.crt
    сертификат myclient1.crt
    ключ myclient1.key
    tls-auth ta.key 1
      

    И вы должны указать имя или адрес сервера OpenVPN. Убедитесь, что ключевое слово client находится в конфигурации. Вот что позволяет использовать клиентский режим.

      клиент
    удаленный vpnserver.example.com 1194
      

    Теперь запустите клиент OpenVPN с тем же шаблонным механизмом:

      $ sudo systemctl start openvpn @ client
      

    Вы можете проверить статус так же, как на сервере:

      $ sudo systemctl status openvpn @ client
    openvpn @ client.сервис - OpenVPN соединение с клиентом
       Загружено: загружено (/lib/systemd/system/[email protected]; отключено; предустановка поставщика: включена)
       Активен: активен (работает) с Чт 2019-10-24 11:42:35 UTC; 6с назад
         Документы: man: openvpn (8)
               https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
               https://community.openvpn.net/openvpn/wiki/HOWTO
     Основной PID: 3616 (openvpn)
       Статус: «Последовательность инициализации завершена»
        Задач: 1 (лимит: 533)
       Память: 1,3 МБ
       CGroup: /system.slice/system-openvpn.slice/[email protected]
               └─3616 / usr / sbin / openvpn --daemon ovpn-client --status /run/openvpn/client.status 10 --cd / etc / openvpn --script-security 2 --config / etc / openvpn / client. conf --writepid / run / openvp
    
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: Исходящий канал данных: шифр «AES-256-GCM», инициализированный 256-битным ключом
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: Входящий канал данных: шифр «AES-256-GCM», инициализированный 256-битным ключом
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: ROUTE_GATEWAY 192.168.122.1 / 255.255.255.0 IFACE = ens3 HWADDR = 52: 54: 00: 3c: 5a: 88
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: TUN / TAP устройство tun0 открыто
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: длина очереди TUN / TAP TX установлена ​​на 100
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: / sbin / ip link set dev tun0 up mtu 1500
    24 октября 11:42:36 eoan-vpn-client ovpn-client [3616]: / sbin / ip addr add dev tun0 local 10.8.0.6 peer 10.8.0.5
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: / sbin / ip route добавить 10.8.0.1/32 через 10.8.0.5
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: ВНИМАНИЕ: эта конфигурация может кэшировать пароли в памяти - используйте параметр auth-nocache, чтобы предотвратить это
    24 октября, 11:42:36 eoan-vpn-client ovpn-client [3616]: последовательность инициализации завершена
      

    В журнале сервера входящее соединение выглядит следующим образом.
    Вы можете видеть имя клиента и адрес источника, а также сообщения об успехе / неудаче.

      ovpn-myserver [4818]: 192.168.122.114:55738 TLS: начальный пакет из [AF_INET] 192.168.122.114: 55738, sid = 5e943ab8 40ab9fed
    ovpn-myserver [4818]: 192.168.122.114:55738 ПРОВЕРИТЬ ОК: глубина = 1, CN = Easy-RSA CA
    ovpn-myserver [4818]: 192.168.122.114:55738 ПРОВЕРЬТЕ ОК: глубина = 0, CN = myclient1
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_VER = 2.4.7
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_PLAT = linux
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_PROTO = 2
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_NCP = 2
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_LZ4 = 1
    овпн-мойсервер [4818]: 192.168.122.114: 55738 информация о партнере: IV_LZ4v2 = 1
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_LZO = 1
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_COMP_STUB = 1
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_COMP_STUBv2 = 1
    ovpn-myserver [4818]: 192.168.122.114:55738 информация о партнере: IV_TCPNL = 1
    ovpn-myserver [4818]: 192.168.122.114:55738 Канал управления: TLSv1.3, шифр TLSv1.3 TLS_AES_256_GCM_SHA384, 2048-битный RSA
    ovpn-myserver [4818]: 192.168.122.114:55738 [myclient1] Одноранговое соединение, инициированное с помощью [AF_INET] 192.168.122.114: 55738
    ovpn-myserver [4818]: myclient1 / 192.168.122.114: 55738 MULTI_sva: пул вернул IPv4 = 10.8.0.6, IPv6 = (Не включено)
    ovpn-myserver [4818]: myclient1 / 192.168.122.114: 55738 MULTI: Learn: 10.8.0.6 -> myclient1 / 192.168.122.114: 55738
    ovpn-myserver [4818]: myclient1 / 192.168.122.114: 55738 MULTI: основной виртуальный IP-адрес для myclient1 / 192.168.122.114: 55738: 10.8.0.6
    ovpn-myserver [4818]: myclient1 / 192.168.122.114: 55738 PUSH: Получено управляющее сообщение: 'PUSH_REQUEST'
    ovpn-myserver [4818]: myclient1 / 192.168.122.114: 55738 SENT CONTROL [myclient1]: 'PUSH_REPLY, route 10.8.0.1, topology net30, ping 10, ping-restart 120, ifconfig 10.8.0.6 10.8.0.5, peer-id 0, cipher AES-256-GCM' (статус = 1)
    ovpn-myserver [4818]: myclient1 / 192.168.122.114: 55738 Канал данных: с использованием согласованного шифра 'AES-256-GCM'
    ovpn-myserver [4818]: myclient1 / 192.168.122.114: 55738 Исходящий канал данных: шифр AES-256-GCM, инициализированный 256-битным ключом
    ovpn-myserver [4818]: myclient1 / 192.168.122.114: 55738 Канал входящих данных: шифр «AES-256-GCM», инициализированный 256-битным ключом
      

    И вы можете проверить на клиенте, создал ли он интерфейс tun0:

      $ ip addr show dev tun0
    4: tun0:  mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
        ссылка / нет
        инет 10.8.0.6 одноранговый узел 10.8.0.5/32 глобальная область tun0
           valid_lft навсегда предпочтительный_lft навсегда
        inet6 fe80 :: 5a94: ae12: 8901: 5a75 / 64 ссылка области действия стабильная конфиденциальность
           valid_lft навсегда предпочтительный_lft навсегда
      

    Проверьте, можете ли вы пропинговать сервер OpenVPN:

      корень @ клиент: / etc / openvpn # ping 10.8.0.1
    PING 10.8.0.1 (10.8.0.1) 56 (84) байтов данных.
    64 байта из 10.8.0.1: icmp_req = 1 ttl = 64 time = 0.920 мс
      

    Примечание

    Сервер OpenVPN всегда использует первый пригодный для использования IP-адрес в клиентской сети, и только этот IP-адрес доступен для проверки связи.Например. если вы настроили / 24 для сетевой маски клиента, будет использоваться адрес .1. Адрес P-t-P, который вы видите в выходных данных ip addr выше, обычно не отвечает на запросы ping.

    Проверьте свои маршруты:

      $ ip маршрут
    по умолчанию через 192.168.122.1 dev ens3 proto dhcp src 192.168.122.114 metric 100
    10.8.0.1 через 10.8.0.5 dev tun0
    10.8.0.5 dev tun0 ссылка на область видимости ядра прото src 10.8.0.6
    192.168.122.0/24 dev ens3 proto ссылка на область видимости ядра src 192.168.122,114
    192.168.122.1 dev ens3 proto dhcp scope ссылка src 192.168.122.114 метрика 100
      

    Первая неисправность

    Если вышеуказанное не помогло, проверьте это:

    • Проверьте свой журнал -xe
    • Убедитесь, что вы правильно указали имена ключевых файлов в файлах конфигурации клиента и сервера.
    • Может ли клиент подключиться к серверу? Может брандмауэр блокирует доступ? Проверить журнал на сервере.
    • Клиент и сервер должны использовать один и тот же протокол и порт, e.грамм. Порт UDP 1194, см. Параметр конфигурации порта и протокола
    • Клиент и сервер должны использовать одинаковую конфигурацию для сжатия, см. Параметр конфигурации comp-lzo
    • Клиент и сервер должны использовать одну и ту же конфигурацию в отношении режима моста и режима маршрутизации, см. Параметр конфигурации сервера и моста между сервером

    Расширенная конфигурация

    Расширенная конфигурация маршрутизируемой VPN на сервере

    Это очень простой рабочий VPN. Клиент может получить доступ к службам на сервере VPN через зашифрованный туннель.Если вы хотите достичь большего количества серверов или чего-либо в других сетях, протолкните некоторые маршруты к клиентам. Например. если сеть вашей компании может быть сведена к сети 192.168.0.0/16, вы можете передать этот маршрут клиентам. Но вам также придется изменить маршрутизацию для обратного пути — вашим серверам необходимо знать маршрут к клиентской сети VPN.

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

    Примечание

    Пожалуйста, прочтите руководство по усилению безопасности OpenVPN для получения дополнительных советов по безопасности.

    Расширенная конфигурация мостовой VPN на сервере

    OpenVPN можно настроить как для маршрутизированного, так и для мостового режима VPN. Иногда это также называют уровнем 2 OSI по сравнению с VPN уровня 3. В мостовой VPN все кадры уровня 2 — например, все кадры Ethernet — отправляются партнерам VPN, а в маршрутизируемом VPN только пакеты уровня 3 отправляются партнерам VPN.В мостовом режиме весь трафик, включая трафик, который традиционно был локальным в локальной сети, например широковещательные сообщения локальной сети, запросы DHCP, запросы ARP и т. Д., Отправляются партнерам VPN, тогда как в режиме маршрутизации он будет фильтроваться.

    Подготовьте конфигурацию интерфейса для моста на сервере

    Сначала используйте netplan для настройки устройства моста, использующего желаемое устройство Ethernet.

      $ cat /etc/netplan/01-netcfg.yaml
    сеть:
        версия: 2
        рендерер: networkd
        Ethernet:
            enp0s31f6:
                dhcp4: нет
        мосты:
            br0:
                интерфейсы: [enp0s31f6]
                dhcp4: нет
                адреса: [10.0.1.100 / 24]
                шлюз4: 10.0.1.1
                серверы имен:
                    адреса: [10.0.1.1]
      

    Настоятельно рекомендуется использовать статический IP-адрес. DHCP-адресация также может работать, но вам все равно придется кодировать статический адрес в файле конфигурации OpenVPN.

    Следующим шагом на сервере является настройка устройства Ethernet для работы в беспорядочном режиме при загрузке. Для этого убедитесь, что пакет networkd-dispatcher установлен, и создайте следующий сценарий конфигурации.

      sudo apt update
    sudo apt установить networkd-dispatcher
    sudo touch /usr/lib/networkd-dispatcher/dormant.d/promisc_bridge
    sudo chmod + x /usr/lib/networkd-dispatcher/dormant.d/promisc_bridge
      

    Затем добавьте следующее содержимое.

      #! / Bin / sh
    set -e
    если ["$ IFACE" = br0]; тогда
        # нет события networkd-dispatcher для оператора связи на физическом интерфейсе
        ip link установить enp0s31f6 на промиск на
    фи
      
    Подготовить конфигурацию сервера для подключения

    Отредактируйте / etc / openvpn / server.conf , чтобы использовать tap, а не tun, и настройте сервер на использование директивы server-bridge:

     ; dev tun
    разработчик тап
    ; сервер 10.8.0.0 255.255.255.0
    сервер-мост 10.0.0.4 255.255.255.0 10.0.0.128 10.0.0.254
      

    После настройки сервера перезапустите openvpn, введя:

      sudo systemctl перезапустить openvpn @ myserver
      
    Подготовьте конфигурацию клиента для моста

    Единственное отличие мостового режима на стороне клиента от того, что было описано выше, заключается в том, что вам нужно отредактировать / etc / openvpn / client.conf и установите tap mode:

      Dev Tap
    ; dev tun
      

    Наконец, перезапустите openvpn:

      sudo systemctl перезапустить openvpn @ client
      

    Теперь у вас должна быть возможность подключиться к полной удаленной локальной сети через VPN.

    Список литературы

    Как использовать ProtonVPN в Linux?

    Вы можете настроить VPN для Linux с помощью , используя пакет «openvpn» и соответствующие файлы конфигурации серверов ProtonVPN.

    В качестве примера в приведенном ниже руководстве по настройке Linux VPN показано, как настроить соединение в Ubuntu 16.04LTS.

    Мы настоятельно рекомендуем использовать наш инструмент командной строки Linux VPN, который упрощает подключение на компьютерах Linux

    Примечание. Чтобы устранить частые утечки DNS в Linux, мы обновили это руководство новыми файлами конфигурации для Linux и новыми инструкциями по подключению через интерфейс командной строки (см. Вариант B ниже)

    1.Установите необходимые пакеты:

    Установите пакет OpenVPN, открыв терминал (нажмите Ctrl + Alt + T) и введя:

    sudo apt-get install openvpn

    • Вам будет предложено ввести пароль, чтобы разрешить установку, введите его, чтобы продолжить
    • Когда вам будет предложено подтвердить установку, нажмите «y» и нажмите «[Enter]».
    • Если он уже установлен, он будет выглядеть так:

    Примечание. Если у вас нет прав администратора на вашем компьютере, обратитесь к системному администратору и попросите его выполнить установку за вас.

    Установите пакет « network-manager-openvpn-gnome » для упрощения использования и совместимости с графическим интерфейсом Ubuntu Network Manager, введя:

    sudo apt-get install network-manager-openvpn-gnome

    И нажмите [Y] , а затем [Enter] , чтобы подтвердить установку.

    Также убедитесь, что установлен resolvconf :

    sudo apt установить resolvconf

    2.Получите файлы конфигурации ProtonVPN:

    Если вы выбрали «Загрузить все конфигурации», распакуйте zip-файл в желаемое место.

    3. Найдите свои учетные данные OpenVPN:

    Для повышения безопасности ProtonVPN настроен с двумя отдельными учетными данными для аутентификации соединения.

    Узнайте больше о том, как две пары учетных данных повышают безопасность ProtonVPN.

    Войдите в панель управления ProtonVPN и щелкните вкладку «Учетная запись».Здесь вы увидите два типа учетных данных.
    Учетные данные ProtonVPN Login используются в наших приложениях . OpenVPN / IKEv2 Имя пользователя используется для ручных подключений . Поэтому, пожалуйста, настройте учетные данные OpenVPN по своему усмотрению, поскольку вам нужно будет использовать их для установления соединения Linux VPN.


    Вариант A. Настройка Linux VPN с помощью Network Manager

    Внимание: на данный момент существует известная проблема с утечками DNS в дистрибутивах до Ubuntu 16.04LTS (и его зависимости и родители). Если вы обнаружите, что у вас тоже есть утечки DNS, мы рекомендуем вам использовать вариант B ниже.

    A1. Добавление нового подключения

    Нажмите « Добавить » в новом окне, чтобы создать новое соединение. Выберите «Импортировать сохраненную конфигурацию VPN… » в раскрывающемся меню и нажмите « Создать… »

    Импортируйте файл конфигурации сервера, к которому вы хотите подключиться, перейдя в место, куда вы загрузили файл конфигурации, ИЛИ извлекли файл ProtonVPN_config.zip и выбрав нужный файл.

    Имена файлов состоят из двухбуквенного сокращения страны назначения и номера, показывающего, какой сервер находится в этой стране. Например: de-01 — первый сервер в Германии; ca-04 — четвертый сервер в Канаде. Вы можете проверить страницу серверов ProtonVPN и найти там сокращения. Файлы с двумя аббревиатурами стран являются защищенными основными серверами, например: is-us-01 — это защищенное базовое соединение через Исландию с США. Узнайте больше о нашей функции Secure Core.

    Для Ubuntu 14.04 LTS: существует проблема, характерная для 14.04, при импорте конфигурации, которая не считывает все параметры автоматически. Если у вас возникли проблемы с функцией автоматического импорта в диспетчере сети, напишите нам по этой ссылке для получения дальнейших инструкций.

    A2. Установите соединение Linux VPN

    Щелкните значок вашего подключения в системном меню. Выберите « VPN Connections », щелкните запись только что добавленной конфигурации, и она автоматически подключится к выбранному вами серверу ProtonVPN.

    Вы увидите всплывающее окно, подтверждающее, что VPN-соединение установлено, и значок замка рядом с вашим символом соединения. Поздравляем, вы только что успешно подключились к ProtonVPN!

    A3: Необязательно: Чтобы добавить больше подключений, просто повторите шаг A1 с другим файлом (ами) конфигурации.

    Вариант B: Настройка VPN для Linux с помощью терминала (CLI)

    Примечание: если у вас нет прав администратора на вашем компьютере, обратитесь к системному администратору и попросите его выполнить подключение за вас

    Убедитесь, что сценарий resolv-conf правильно загружен на ваше устройство, используя следующие команды:

     sudo wget "https: // raw.githubusercontent.com/ProtonVPN/scripts/master/update-resolv-conf.sh "-O" / etc / openvpn / update-resolv-conf "

    sudo chmod + x "/ etc / openvpn / update-resolv-conf"

    Откройте терминал (нажмите Ctrl + Alt + T) и перейдите в папку, в которую вы разархивировали файлы конфигурации, используя cd . В нашем примере они расположены в ~ / Downloads , поэтому мы вводим:

    cd ~ / Загрузки

    Если вам сложно перемещаться с помощью командной строки компакт-диска, вы можете открыть папку, в которой находится файл, с помощью любого файлового менеджера и щелкните правой кнопкой мыши > Открыть в терминале

    Введите следующее для инициализации нового соединения:

    sudo openvpn

    Где — имя файла конфигурации сервера, к которому вы хотите подключиться, например de-03.protonvpn.com.udp1194.ovpn для сервера Germany # 3. Введите пароль администратора вашего ПК для выполнения ( openvpn изменит ваши сетевые адаптеры и потребует привилегий root)

    Впоследствии вам будет предложено ввести свои учетные данные OpenVPN с шага 3 , введите свои учетные данные для аутентификации

    • Вы завершили настройку Linux VPN и успешно подключились к серверам ProtonVPN, когда увидите Последовательность инициализации завершена
    • Держите этот терминал открытым, , чтобы оставаться на связи с ProtonVPN.Если вы закроете терминал, соединение VPN отключится.

    Нажмите здесь , если хотите убедиться, что соединение установлено и нет утечек.

    Чтобы отключить соединение Linux VPN, нажмите Ctrl + C и / или закройте Терминал.

    Загрузите файлы конфигурации Linux через Dashboard

    Клиентский инструмент ProtonVPN для Linux

    Хранит ли ProtonVPN информацию о пользователях?

    Есть ли у ProtonVPN ограничение на пропускную способность?

    Что такое OpenVPN?

    Как настроить VPN в Linux

    Виртуальная частная сеть « VPN » — это безопасное сетевое соединение с сервером, которое позволяет компьютеру или сетевому устройству отправлять и получать данные через общие или общедоступные сети.

    Использование VPN позволяет пользователю подключаться к любому веб-сайту, который был заблокирован администратором сети или администратором сети . В следующем руководстве мы настроим VPN на Linux , дистрибутивы на основе Ubuntu.

    VPN часто используется правительством страны для доступа к некоторым заблокированным веб-сайтам или услугам. Некоторые страны (например, Китай блокирует доступ к Youtube) заблокировали многие популярные веб-сайты в Интернете. Те, кто верит в свободу доступа ко всему в Интернете, они используют услуги VPN для доступа к таким заблокированным веб-сайтам.

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

    Есть много онлайн-сервисов, продающих услуги VPN, но я воспользуюсь бесплатным сервисом VPNBOOK.

    Наш бесплатный сервер VPN (виртуальная частная сеть) разработан с использованием новейших технологий и самых передовых криптографических методов, чтобы защитить вас в Интернете от посторонних глаз и хакеров.Наша VPN надежно направляет весь ваш интернет-трафик через зашифрованный туннель, чтобы обойти государственную цензуру, обойти корпоративное наблюдение и мониторинг со стороны вашего интернет-провайдера. VPNBook стремится сделать Интернет безопасным и бесплатным, предоставляя каждому бесплатный и безопасный доступ к услугам PPTP и OpenVPN.

    VPNBOOK

    Настройка VPN в Ubuntu или других дистрибутивах на основе Ubuntu

    1. Создайте бесплатную учетную запись OpenVPN.

    Заполните все поля и подтвердите адрес электронной почты.После этого мы настроим vpn, используя нашу учетную запись OpenVPN.

    2. Перейдите на сайт vpnbook.com, щелкните вкладку OpenVPN и загрузите любой из указанных пакетов сертификатов. Также запишите имя пользователя и пароль, как показано ниже на изображении.

    • Извлеките загруженный пакет и создайте 3 новых файла документов в извлеченной папке и назовите их ca.crt , certificate.crt и key.key , как показано на изображении ниже —
    • Открыть любой из.ovpn в текстовом редакторе, я использую vpnbook-euro1-tcp80.ovpn . Скопируйте определенный текст из этого .ovpn файла в созданные текстовые файлы ca.crt, certificate.crt и key.key .

    Скопируйте весь текст между тегами и вставьте в файл ca.crt .

    Скопируйте весь текст между тегами и вставьте в сертификат .crt файл.

    Скопируйте весь текст между тегами и вставьте в файл key.key .

    После того, как вы скопировали все в ca.crt, certificate.crt и key.key, сохраните их.

    3. Теперь настройте соединение OpenVPN в системе.

    • Откройте терминал и установите плагин VPN.
      $ sudo apt-get install network-manager-openvpn  
    • Теперь откройте конфигурацию сети системы, нажмите «Настроить VPN» и добавьте сеть OpenVPN, как показано на изображении ниже.
    • Теперь заполните все поля, как показано ниже —

    Имя соединения — Имя может быть любым.
    Шлюз — IP-адрес выбранного профиля (щелкните здесь, чтобы увидеть пример изображения) vpnbook-euro1-tcp80.ovpn
    Тип — Пароль с сертификатами (TLS)
    Имя пользователя — Введите имя пользователя из шага 2
    Пароль — Введите пароль с шага 2
    Сертификат пользователя — Просмотр сертификата.crt файл
    Сертификат CA — Просмотр ca.crt
    Закрытый ключ — Обзор файла key.key
    Пароль закрытого ключа — Оставьте поле пустым

    Откройте файл .ovpn (я использую vpnbook-euro1- tcp80.ovpn )

    Использовать собственный порт шлюза — порт из вашего .ovpn файла (щелкните здесь, чтобы увидеть пример изображения)
    Использовать сжатие данных LZO
    Использовать TCP-соединение
    Переключиться на вкладку «Безопасность»

    Шифр ​​ — Выберите из выбранного.

    Настройка сервера ftp ubuntu: Установка FTP на Ubuntu | Losst

    Настройка сервера ftp ubuntu: Установка FTP на Ubuntu | Losst

    Установка FTP на Ubuntu | Losst

    FTP или File Transfer Protocol — это достаточно древний, но в то же время надёжный и проверенный протокол выгрузки файлов на удалённый сервер или их скачивания. Также иногда этот протокол применяется веб-мастерами для управления файлами или организации хранилища данных.

    В этой статье мы рассмотрим, как выполняется установка FTP на Ubuntu 20.04, как настроить все необходимые компоненты, в том числе и защищённое соединение. Мы будем использовать FTP-сервер VSFTPD или Very Secure FTP Daemon, который обеспечивает самую надёжную защиту от уязвимостей.

    Содержание статьи:

    Установка FTP в Ubuntu

    Программа доступна из официальных репозиториев, поэтому установка FTP на Ubuntu Server не должна вызвать проблем. Сначала обновите список пакетов в репозиториях, затем установите саму программу:

    sudo apt update
    sudo apt install vsftpd

    Когда установка будет завершена, вам необходимо включить сервис vsftpd, поскольку он не будет запущен по умолчанию, а также добавить службу в автозагрузку:

    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd

    Если у вас установлен фаервол ufw, а такая ситуация возникает, когда вы пытаетесь установить FTP на Ubuntu Server, нужно открыть порты 20 и 21 для нормальной работы. Чтобы это сделать, выполните команды:

    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp
    sudo ufw status

    Установка FTP Ubuntu завершена, но теперь вам осталось настроить всё необходимое для обеспечения безопасной работы. Никогда не используйте FTP-сервер с настройками по умолчанию в производственных сетях, это небезопасно.

    Настройка FTP Ubuntu

    Теперь перейдём к настройке. Нам нужно поменять всего несколько параметров, чтобы полностью защитить ваш FTP-сервер. Сначала мы рассмотрим самые очевидные настройки: отключения анонимного входа и так далее. Сначала необходимо скопировать оригинальный файл настроек, чтобы в случае проблем вернуть всё как было:

    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

    Затем откройте файл в редакторе:

    sudo vi /etc/vsftpd.conf

    Затем добавьте такие настройки. Вам нужно будет найти и изменить значения указанных строк, добавлять новые, если они уже есть, не стоит. Сначала отключаем анонимный вход:

    anonymous_enable = NO

    Разрешаем использовать имена локальных пользователей для входа:

    local_enable = YES

    ля авторизованных пользователей разрешаем команды, позволяющие изменять файловую систему:

    write_enable = YES

    Установим значение umask для новых файлов, создаваемых по FTP:

    local_umask = 022

    Включаем сообщение о необходимости выбрать каталог после регистрации:

    dirmessage_enable = YES

    Записывать в лог файл все транзакции по передаче файлов и использовать стандартный формат лога:

    xferlog_enable = YES
    xferlog_std_format=YES

    Использовать порт 20 для передачи данных вместо случайного, это нужно для нормальной работы фаервола:

    connect_from_port_20 = YES

    Указываем, что нужно ожидать входящих соединений:

    listen=YES

    Использовать PAM-библиотеки:

    pam_service_name=vsftpd

    На завершение разрешим аутентификацию только пользователей, перечисленных в файле userlist:

    userlist_enable = YES

    Указываем файл с нашими виртуальными пользователями:

    userlist_file=/etc/vsftpd.userlist

    По умолчанию таким пользователям запрещён вход в систему, но мы хотим совсем обратное, поэтому добавьте такую строчку:

    userlist_deny=NO

    При входе пользователей на FTP-сервер, они могут работать только в корневом каталоге FTP. Если вы хотите, чтобы пользователи были ограничены только своей домашней папкой, то необходимо раскомментировать эти строчки:

    chroot_local_user = YES
    allow_writeable_chroot = YES

    Первая строчка указывает, что нужно разместить пользователя в изолированном домашнем каталоге, а вторая, что ему можно разрешить запись в этот каталог. Настройка FTP Ubuntu почти завершена, сохраните изменения в конфигурационном файле и перезапустите vsftpd:

    sudo systemctl restart vsftpd

    Тестирование vsftpd

    Сервер готов, но система настроена ещё не полностью. Сначала создадим нашего тестового пользователя с помощью useradd:

    sudo useradd -m -c "Test User" -s /bin/bash testuser
    sudo passwd testuser

    Поскольку мы хотим подключаться от его имени к FTP-серверу, то нам нужно добавить его в vsftpd.userlist:

    echo "testuser" | sudo tee -a /etc/vsftpd.userlist
    cat /etc/vsftpd.userlist

    Теперь самое время подключится к нашему FTP-серверу и проверить, как там всё работает. Попробуем войти от имени анонимного пользователя:

    У нас ничего не получится. Теперь попробуем войти от имени нашего тестового пользователя, и всё заработает как нужно.

     

    Обратите внимание, что опасно давать пользователям доступ на запись в их домашнюю папку. Делайте это, только если уверены в том, что это необходимо и безопасно.

    Настройка домашних папок пользователей

    Чтобы хоть как-то обойти проблемы с безопасностью, вы можете использовать другую папку вместо домашней для предоставления её пользователю. Сначала создадим такую папку для нашего пользователя:

    sudo mkdir -p /home/testuser/ftp/files

    Уберём право на запись для папки ftp:

    sudo chown nobody:nogroup /home/testuser/ftp
    sudo chmod a-w /home/testuser/ftp

    Затем дайте необходимые полномочия пользователю на запись в подпапку.

    sudo chown -R testuser:testuser /home/testuser/ftp/files
    sudo chmod -R 0770 /home/testuser/ftp/files/

    Теперь вернёмся к конфигурационному файлу vsftpd.conf. Сначала закомментируйте строчку:

     allow_writeable_chroot = YES

    Теперь добавьте такие строчки:

    user_sub_token = $USER
    local_root=/home/$USER/ftp

    Первая из них добавляет переменную $USER, в которой содержится имя пользователя, а вторая задаёт корневую папку для каждого пользователя. Осталось снова перезапустить FTP-сервер:

    sudo systemctl restart vsftpd

    Теперь вы можете снова войти от имени этого пользователя и увидите, что сейчас используется указанная нами папка.

    Настройка защищенного соединения

    Установка FTP на Ubuntu 20.04 завершена, но в наше время небезопасно использовать открытую передачу данных через сеть. Всё, что только возможно, необходимо шифровать. Поэтому мы рассмотрим, как настроить защищённое соединение для vsftpd. Сначала создадим папку и сгенерируем сам сертификат, который будем использовать:

    sudo mkdir /etc/ssl/private
    sudo openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.pem

    Затем нужно разрешить доступ к портам защищённого соединения FTP с фаерволе UFW:

    sudo ufw allow 990/tcp
    sudo ufw allow 40000:50000/tcp
    sudo ufw status

    И осталось внести несколько правок в настройку самого FTP-сервера. Нам нужно включить ssl_enable и отключить поддержку шифрования sslv2 и sslv3, оставляем только tlsv1:

    ssl_enable=YES
    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO

    Далее раскоментируйте такие строки:

    rsa_cert_file=/etc/ssl/private/vsftpd.pem
    rsa_private_key_file=/etc/ssl/private/vsftpd.key

    Запретите вход анонимных пользователей по SSL:

    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES

    Теперь установим самый сложный шифр SSL:

    ssl_ciphers=HIGH

    И настроим диапазон портов для передачи данных:

    pasv_min_port=40000
    pasv_max_port=50000

    Осталось перезагрузить наш сервис:

    sudo systemctl restart vsftpd

    Теперь тестируем, что у нас получилось:

    Как видите, мы уже не можем авторизоваться с помощью утилиты ftp. FTP-сервер выдаёт, что мы обязаны использовать шифрование. Поэтому для тестирования применим FileZilla:

    Теперь все данные будут передаваться по зашифрованному соединению. Установка  FTP-сервер Ubuntu завершена.

    Выводы

    В этой статье мы рассмотрели, как выполняется установка FTP на Ubuntu Server 20.04, также как настроить FTP для максимально безопасной работы, включая настройку работы по SSL. Если у вас остались вопросы, спрашивайте в комментариях!

    Сервер FTP | Русскоязычная документация по Ubuntu

    Сервер FTP

    Протокол передачи файлов (FTP) — это TCP протокол для передачи файлов между компьютерами. В прошлом он использовался также для загрузки [файлов в интернете], но, поскольку этот метод не использует шифрование, пользовательские данные как и содержимое файлов передаются в открытую и легко перехватываются. Поэтому, если вы здесь ищете способ безопасно передавать и загружать файлы, лучше обратитесь к статье по OpenSSH в разделе Удаленное администрирование.

    FTP работает на основе модели клиент/сервер. Серверный компонент называется сервисом FTP. Он постоянно слушает FTP запросы от удаленных клиентов. При получении запроса он управляет входом и установкой соединения. На протяжении сессии он выполняет любые команды, переданные FTP клиентом.

    vsftpd — установка FTP сервера

    vsftpd — это сервис FTP, доступный в Ubuntu. Его легко устанавливать, настраивать и поддерживать. Для установки vsftpd вы можете выполнить следующую команду:

    sudo apt install vsftpd

    Для запуска сервиса требуется добавить его в автозагрузку. Начиная с версии Ubuntu 15.04 используется Systemd, поэтому для добавления vsftpd в автозапуск надо ввести следующие команды:

    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd

    В Ubuntu Server может использоваться файервол ufw. Тогда вам потребуется разрешить порты 20 и 21

    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp

    Конфигурационный файл содержит много параметров настройки. Информация по каждому параметру доступна в этом же файле. В качестве альтернативы вы можете посмотреть системное руководство по команде

    man 5 vsftpd.conf

    для уточнения деталей по каждому параметру.

    Доступ к FTP серверу может быть организован двумя способами:

    1. Анонимным (Anonymous)

    2. Авторизованным (Authenticated)

    В анонимном режиме удаленный клиент может получить доступ к FTP серверу, используя учетную запись пользователя по умолчанию с именем «anonymous» или «ftp» и передав адрес email в качестве пароля. В авторизованном режиме пользователь должен иметь учетное имя и пароль. Этот последний вариант крайне небезопасный и не должен использоваться за исключением специальных обстоятельств. Если вы хотите передавать файлы безопасно, смотрите SFTP в разделе по OpenSSH серверу. Пользовательский доступ к каталогам и файлам FTP сервера зависит от прав доступа пользователя, указанного при входе. Как правило, сервис FTP скрывает корневой каталог FTP сервера, подменяя его на домашний каталог FTP. Это скрывает корень файловой системы от удаленных сессий.

    Настройка анонимного доступа по FTP

    Прежде чем вносить какие-либо изменения в конфигурационный файл, рекомендуется скопировать образец для возможности отката изменений без переустановки пакета
    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

    Настройка vsftpd по умолчанию не разрешает анонимную загрузку. Если вы хотите разрешить анонимную загрузку, измените в /etc/vsftpd.conf следующее:

    anonymous_enable=YES

    В процессе установки создается пользователь ftp с домашним каталогом /srv/ftp. Это каталог по умолчанию для FTP.

    Если вы желаете поменять его расположение, например, на /srv/files/ftp, просто создайте новый каталог и измените домашний каталог пользователя ftp:

    sudo mkdir /srv/files/ftp
    sudo usermod -d /srv/files/ftp ftp 

    После изменений перезапустите vsftpd:

    sudo service vsftpd restart

    Под конец скопируйте все файлы и каталоги, которые вы хотите сделать доступными для анонимного FTP в /srv/files/ftp (или /srv/ftp, если вы хотите оставить настройки по умолчанию).

    По умолчанию анонимный пользователь не имеет возможности загружать файлы на FTP сервер. Для изменения этой настройки уберите комментарий на следующей строке и перезапустите vsftpd:

    anon_upload_enable=YES

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

    Настройка авторизованного доступа по FTP

    Прежде чем вносить какие-либо изменения в конфигурационный файл, рекомендуется скопировать образец для возможности отката изменений без переустановки пакета
    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

    Для аутентификации локальных пользователей надо раскоментировать строчку

    local_enable=YES

    По умолчанию vsftpd настроен на аутентификацию системных пользователей с возможностью получать файлы. Если вы хотите пользователям разрешить загружать файлы, измените в /etc/vsftpd.conf:

    write_enable=YES

    после чего перезагрузите vsftpd:

    sudo service vsftpd restart

    Теперь при входе системных пользователей по FTP они будут попадать в свои домашние каталоги, где они смогут скачивать, загружать [файлы], создавать каталоги и т.д.

    Защита FTP

    Ограничение пользователей

    В /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить локального пользователя в chroot() «заточение», выше которого (по дереву каталогов) он не сможет подняться.

    chroot_local_user=YES

    Вы также можете определить список пользователей, имеющих доступ только в домашний каталог:

    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list

    После снятия комментариев с этих опций, создайте /etc/vsftpd.chroot_list, содержащий список пользователей по одному на строку. Затем перезапустите vsftpd:

    sudo service vsftpd restart

    Если вы сняли комментарии со всех трёх строчек, то пользователи из списка не будут ограничены своими домашними каталогами, в отличии от пользователей не вошедших в список

    Аналогично файл /etc/ftpusers содержит список пользователей, которым запрещен доступ по FTP. По умолчанию он включает root, daemon, nobody и т.п. Для запрета доступа по FTP для дополнительных пользователей, просто добавьте их в этот список.

    Если при попытке подключения вы видите ошибку 1):

    Ответ:	500 OOPS: vsftpd: refusing to run with writable root inside chroot()

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

    sudo chmod a-w /home/user/
    • Отменить проверку записи в домашний каталог прописав в конфиге 2)
    allow_writeable_chroot=YES
    • Прописать /home каталогом, куда будут попадать локальные пользователи после входа на FTP сервер. Тогда каждый из них будет иметь возможность писать только в свой домашний каталог
    local_root=/home
    Шифрование

    FTP может быть зашифрованным при использовании FTPS. В отличие от SFTP, FTPS — это FTP поверх SSL. SFTP — это сессия, подобная FTP, по зашифрованному SSH соединению. Основное отличие заключается в том, что пользователи SFTP должны иметь учетную запись с собственным окружением (shell account) вместо оболочки nologin. Предоставление всем пользователям доступа к оболочке может оказаться не лучшим решением для некоторых систем, таких как web сервер общего доступа. Однако есть возможность ограничить такие учетные записи только SFTP и запретить взаимодействие с оболочкой. Смотрите раздел по OpenSSH для дополнительной информации.

    Для настройки FTPS, добавьте в конец файла /etc/vsftpd.conf следующее:

    ssl_enable=Yes

    Также обратите внимание на опции сертификата и ключа:

    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

    По умолчанию эти опции установлены в значения, предоставленные пакетом ssl-cert. Для рабочей среды они должны быть заменены на сертификат и ключ, созданные для определенного компьютера. Для дополнительной информации смотрите раздел Сертификаты.

    Теперь перегрузите vsftpd и неанонимные пользователи будут использовать FTPS:

    sudo service restart vsftpd

    Чтобы позволить пользователям с оболочкой /usr/sbin/nologin получить доступ к FTP, но не предоставлять shell доступ, отредактируйте /etc/shells, добавив к оболочке nologin:

    # /etc/shells: valid login shells
    /bin/csh
    /bin/sh
    /usr/bin/es
    /usr/bin/ksh
    /bin/ksh
    /usr/bin/rc
    /usr/bin/tcsh
    /bin/tcsh
    /usr/bin/esh
    /bin/dash
    /bin/bash
    /bin/rbash
    /usr/bin/screen
    /usr/sbin/nologin

    Это необходимо, поскольку по умолчанию vsftpd использует авторизацию PAM, а файл настроек /etc/pam.d/vsftpd содержит:

    auth    required        pam_shells.so

    Модуль PAM shells ограничивает доступ к оболочкам, перечисленным в файле /etc/shells.

    Наиболее популярные клиенты FTP могут быть настроены на использование FTPS. FTP клиент командной строки lftp также имеет возможность использовать FTPS.

    Ссылки

    Простой FTP-сервер на базе Ubuntu (vsftpd)

    Время от времени у каждого системного администратора возникает потребность в FTP-сервере, чаще всего это связано с необходимостью обеспечить обмен информацией в автоматическом режиме между приложениями, например, при автообмене распределенной информационной базы 1С, или для доступа к файлам на веб-сервере. Сегодня мы расскажем, как меньше чем за полчаса создать такой сервер на платформе Ubuntu.

    Но сначала немного теории. Протокол FTP (File Transfer Protocol) предназначен, как следует из названия, для передачи файлов и появился в 1971 году, но несмотря на свой преклонный возраст продолжает широко использоваться до сих пор. Хотя сегодня его использование носит чаще технический характер, для доступа конечных пользователей к данным обычно используют браузер и протокол HTTP. К достоинствам FTP можно отнести возможность докачки файла при обрыве связи и возможность одинаково легко как считывать файлы, так и записывать их. Но есть и недостатки, самый серьезный — низкая безопасность, поэтому этому вопросу следует уделить самое пристальное внимание.

    FTP, как и PPTP, использует разные соединения для передачи команд и передачи данных. При инициации соединения клиент передает управляющие команды на порт 21 сервера, который в свою очередь устанавливает исходящее соединение для передачи данных на 20 порту, порт со стороны клиента определяется в результате согласования. Однако при нахождении клиента за NAT соединение подобным образом установить не удастся, поэтому был разработан дополнительный режим FTP passive mode (пассивный режим), когда соединение для передачи данных устанавливает не сервер, а клиент, однако с параметрами, указанными сервером. Эти моменты следует учитывать при форвардинге FTP и при настройке сетевого фильтра.

    Для нашего сервера мы будем использовать vsftpd — простой, быстрый и безопасный FTP сервер. Так как он будет обслуживать как внешнюю, так и внутреннюю сети, то имеет смысл добавить эту роль нашему роутеру. Установка сервера предельно проста:

    apt-get install vsftpd

    Настройка сервера производится через конфигурационный файл /etc/vsftpd.conf он имеет простую структуру, хорошо откомментирован и позволяет настроить сервер без какой-либо инструкции при наличии минимальных знаний. Рассмотрим его основные параметры.

    Сервер может быть запущен постоянно, как служба или стартовать при необходимости, нам больше подходит первый вариант:

    listen=YES

    Данная опция имеет взаимоисключающую запись, которую следует привести к виду:

    listen_ipv6=NO

    Разрешим вход только локальным пользователям:

    anonymous_enable=NO
    local_enable=YES

    Разрешим пользователям записывать файлы и укажем серверу автоматически выставлять нужные права (755 на папки и 644 на файлы):

    write_enable=YES
    local_umask=022

    Если требуется установить иной набор прав: 775 и 664, то umask должен быть равен 002.

    По умолчанию сервер использует время GMT, чтобы файлам устанавливалось время вашего часового пояса, используйте опцию:

    use_localtime=YES

    Включим лог загружаемых и скачиваемых файлов:

    xferlog_enable=YES

    Разрешим серверу устанавливать соединения для передачи данных на порт 20:

    connect_from_port_20=YES

    Следующие опции задают место и формат хранения логов:

    xferlog_file=/var/log/vsftpd.log
    xferlog_std_format=YES

    Зададим таймауты сессии:

    idle_session_timeout=600
    data_connection_timeout=120

    Также в целях безопасности изолируем пользователя в его домашнем каталоге и сразу разрешим запись в его корень:

    chroot_local_user=YES
    allow_writeable_chroot=YES

    Для коррекной работы с текстовыми данными можно включить поддержку ASCII, это позволит при передаче текстового файла с Windows системы в UNIX (Linux) корректно заменить символы переноса строки с CR+LF на LF для корректного отображение содержимого и выполнить обратное преобразование при передаче его назад.

    ascii_upload_enable=YES
    ascii_download_enable=YES

    Можно включить только одну опцию, для закачки или скачивания. Обратите внимание, что при передаче бинарного файла в режиме ASCII последний может быть поврежден.

    Достаточно интересная опция:

    ls_recurse_enable=YES

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

    Все остальные опции оставляем по умолчанию, хотя можете отредактировать приветствие сервера, написав там все что вам нравится:

    ftpd_banner=Welcome to Roga i Kopyta LLC FTP

    В конце конфигурационного файла зададим настройки для пассивного режима, рекомендуется явно задать порты, чтобы была возможность указать их при форвардинге, если сервер стоит за NAT или в правилах брандмауера:

    pasv_enable=YES
    pasv_min_port=62000
    pasv_max_port=62999

    Перезапускаем сервер (это нужно делать всякий раз после внесения изменений в конфигурацию):

    service vsftpd restart

    и пробуем подключиться любым FTP-клиентом используя учетные данные существующего пользователя. Мы должны попасть в его домашнюю директорию и быть изолированы в ней.

    В случае появления ошибки, связанной с некорректной работой vsftpd и системы безопасности seccomp:

    500 OOPS: prctl PR_SET_SECCOMP failed

    добавьте в файл недокументированную опцию:

    seccomp_sandbox=NO

    Однако помните, что FTP — небезопасный протокол, поэтому пускать на сервер любого локального пользователя, как это сделано сейчас, не самый лучший вариант. Чтобы избежать такой ситуации vsftpd имеет встроенный механизм контроля пользователей. Добавим в конфигурационный файл опцию:

    userlist_enable=YES

    и создадим файл списка пользователей:

    touch /etc/vsftpd.user_list

    По умолчанию vsftpd запрещает доступ к серверу пользователям, указанным в данном списке еще до ввода пароля, т.е. реализует принцип разрешено всем, кому не запрещено. Но гораздо лучше будет реализовать иной подход: запрещено всем, кому не разрешено. Т.е. разрешать доступ только указанным пользователям. Для этого добавим опцию:

    userlist_deny=NO

    Теперь доступ к FTP-серверу будут иметь только явно указанные пользователи, их следует указывать в vsftpd.user_list по одному в строку, например:

    ivanov
    petrov

    Если не указано иное, то подключившись по FTP пользователи попадают в свой домашний каталог. Это не всегда удобно, часто нужно перенаправлять их в иную директорию. Если это общая для всех папка, скажем /var/ftp, то можно задать опцию:

    local_root=/var/ftp

    Которая перенаправит всех пользователей в указанный каталог и изолирует их там.

    Это самая простая ситуация, реальные задачи обычно сложнее, допустим нам надо установить пользователю Иванову в качестве корневой директории /var/www/example1.com, а Петрову /var/www/example2.com, чтобы каждый из них работал со своей папкой. Для этих целей можно использовать еще одну возможность vsftpd — пользовательские настройки, которые перекрывают настройки основного конфигурационного файла.

    Для этого добавим опцию:

    user_config_dir=/etc/vsftpd_user_conf

    Затем создадим саму директорию

    mkdir /etc/vsftpd_user_conf

    Чтобы задать пользователю собственные настройки в данной директории следует создать файл с именем пользовтаеля и добавить в него необходимые опции. Изменения применяются без перезапуска FTP-сервера при следующем подключении клиента.

    Создадим файл с настройками для Иванова:

    tocuh /etc/vsftpd_user_conf/ivanov

    и внесем в него опцию:

    local_root=/var/www/example1.com

    При следующем подключении корневая директория пользователя изменится на указанную. Также в этом файле мы можем задавать любые персональные опции, например, другой umask или права на доступ к файлам. Однако мы не можем использовать здесь глобальные настройки: опции подключения, логгирования, аутентификации, они будут просто игнорироваться.

    Если вам нужно скрыть реальных владельцев файлов и папок, то можно использовать опцию:

    hide_ids=YES

    В этом случае вместо реальных владельцев и групп будет указано ftp:ftp, это может быть полезным в случае публичного сервера или наличия в списке пользователей посторонних лиц, которым вы не хотите раскрывать реальные имена пользователей вашей системы.

    Как видим, мы действительно создали рабочий FTP-сервер менее чем за полчаса.

    Как установить FTP-сервер на Ubuntu — настройка защищенного vsftpd

    Попробуйте настроить FTP-сервер по нашей инструкции — мы расскажем, как установить FTP-сервер на Ubuntu 20.04, настроить сервер vsftpd и подключить защищённое FTP-соединение простым способом. Инструкция также подойдет для дистрибутива Ubuntu версий 18.04 и 16.04.

    С FTP-сервером можно работать благодаря одному из базовых протоколов интернета — FTP. В операционной системе Ubuntu можно подключить такие популярные FTP-серверы, как: proftpd, wu-ftpd, pureftpd и vsftpd. Мы рассмотрим, как установить vsftpd Ubuntu — один из самых быстрых и безопасных серверов.

    Чтобы начать работу с FTP-сервером vsftpd, установите и настройте его. Затем подключите защищённое соединение SSL/TLS, назначьте доступ FTP-пользователям и настройте брандмауэр. В инструкции ниже мы подробно описали каждый из этих этапов.

    Установка FTP-сервера vsftpd

    Чтобы установить на Ubuntu server vsftpd:

    1. 1.

      Обновите пакеты apt:

    2. 2.

      Установите FTP-сервер vsftpd:

    3. 3.

      Проверьте работоспособность сервера:

      
              sudo systemctl status vsftpd
          

      Если сервер активен, в выводе появится надпись active:

      FTP server Ubuntu

    Готово, вы установили FTP-сервер vsftpd.

    Настройка FTP-сервера на Ubuntu

    Настройте сервер vsftpd через файл конфигурации — /etc/vsftpd.conf. Для этого:

    1. 1.

      Скопируйте оригинальный файл с настройками в файл /etc/vsftpd.conf.original:

      
              sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
          
    2. 2.

      Откройте конфигурационный файл:

      
              sudo nano /etc/vsftpd.conf
          
    3. 3.

      В файле укажите директивы и назначьте параметры с помощью указанных ниже команд.

      • Настройте сервер для запуска:

      и

      • Настройте доступ к FTP-серверу, чтобы разрешить вход только локальным пользователям:

      и

      • Разрешите пользователям работать в файловой системе (загружать и удалять файлы):
      • Назначьте права для новых файлов:
      • Настройте сообщение о выборе каталога после регистрации:
      • Разрешите серверу использовать локальный часовой пояс:
      • Настройте запись всех передач файлов в лог:
      • Настройте порт 20 для передачи данных:
      • Задайте путь хранения логов и их формат:
      
              xferlog_file=/var/log/vsftpd.log
          

      и

      • Откройте пользователям доступ только к своим домашним каталогам командами:

      и

      
              allow_writeable_chroot=YES
          
      • Настройте возможность использования PAM-сервиса:
      • Разрешите аутентификацию на FTP-сервере только тем пользователям, которые указаны в файле userlist с помощью команд:
      
              userlist_file=/etc/vsftpd.userlist
          

      и

    4. 4.

      Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.

    Готово, вы настроили FTP-сервер.

    Подключение защищенного соединения SSL/TLS

    Для настройки защищённой FTP-передачи с помощью SSL/TLS нужен SSL-сертификат. Вы можете использовать уже существующий сертификат или создать самоподписанный. Чтобы настроить защищенное соединение через самоподписанный SSL-сертификат:

    1. 1.

      Сгенерируйте SSL-сертификат. Этой командой будет создан сертификат сроком действия 10 лет и 2048-битный закрытый ключ. Они будут храниться в файле vsftpd.pem.

      
              sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
          
    2. 2.

      Откройте конфигурационный файл vsftpd.conf:

      
              sudo nano /etc/vsftpd.conf
          
    3. 3.

      Найдите директивы rsa_cert_file и rsa_private_key_file. Присвойте им значения пути к файлу vsftpd.pem командами:

      
              rsa_cert_file=/etc/ssl/private/vsftpd.pem
          

      и

      
              rsa_private_key_file=/etc/ssl/private/vsftpd.pem
          
    4. 4.

      Разрешите использование протокола SSL:

    5. 5.

      Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.

    6. 6.

      Перезапустите сервер:

      
              sudo systemctl restart vsftpd
          

    Готово, вы настроили защищённое соединение.

    Создание FTP-пользователей и предоставление им доступа

    Если у вас уже созданы FTP-пользователи, дайте им доступ:

    1. 1.

      Добавьте имена FTP-пользователей в созданный ранее файл /etc/vsftpd.userlist. Для этого откройте файл командой:

      
              sudo nano /etc/vsftpd.userlist
          

      Затем введите имена пользователей — в одной строке вводите одно имя.

    2. 2.

      Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.

    Готово, вы назначили доступ FTP-пользователям.

    Если таких пользователей ещё нет, сначала создайте их:

    1. 1.

      Создайте нового пользователя:

    2. 2.

      Назначьте ему пароль:

      Где user — имя пользователя.

    3. 3.

      Предоставьте FTP-доступ пользователю. Добавьте его имя в файл /etc/vsftpd.userlist:

      
              echo "user" | sudo tee -a /etc/vsftpd.userlist
          

    Готово, вы создали FTP-пользователей и назначили им доступ.

    Настройка работы брандмауэра

    Если вы используете брандмауэр (firewall) UFW, разрешите FTP-трафик. Для этого:

    1. 1.

      Откройте порты 20, 21, 22, 990 и зарезервируйте диапазон портов 40000-50000 командами:

      
              sudo ufw allow 40000:50000/tcp
          
    2. 2.

      Перезагрузите UFW:

      
              sudo ufw disablesudo ufw enable
          
    3. 3.

      Проверьте работоспособность UFW:

    Готово, вы открыли брандмауэр для работы по FTP. Теперь вы можете проверить соединение через FTP-клиент FileZilla и приступить к работе с сервером.

    Итак, вы узнали, каким способом можно быстро установить и настроить защищенный фтп-сервер на Убунту.

    Помогла ли вам статья?

    0 раз уже
    помогла

    Ubuntu FTP сервер: установка и настройка

    Известный факт: работа любой операционной системы зависит от того, какой сервер установлен на девайсе. Сервер FTP на Ubuntu имеет свои преимущества и недостатки. Он обладает своими специфическими особенностями. Следует знать важные аспекты установки и настройки ftp сервера linux. Также новичку следует знать о часто встречающихся ошибках установки ubuntu ftp server и проблемы, возникающие после при работе с ним.

    Что такое FTP

    FTP server linux – это один из базовых протоколов передачи файлов в сети на платформе убунту. С его помощью можно:

    • подключаться к различным tftp серверам ubuntu;
    • просматривать различные каталоги;
    • загружать документы с одного сервера на другой (например, с tftp на atftpd ubuntu).

    Это оборудование использует для своей работы различные программы – ubuntu ftp клиенты:

    1. File Zilla – универсальная программа, используется для всех протоколов и платформ.
    2. WinSCP – очень удобный с двумя панелями протокол для системы виндовс.
    3. FAR Manager – его используют только с помощью консоли Виндовс.
    4. FireFTP – этот сервер актуален для браузера Mozilla.
    5. Total Commander – популярный менеджер для Виндовс.
    6. Cyberduck – программное обеспечение для платформы Линукс.

    Дальнейшие этапы установки, настройки и работы будут рассмотрены для ftp сервера ubuntu 14.04.

    Совет! Для более полного ознакомления с имеющимися программами следует обратиться к специалистам.

    Режимы работы FTP

    При работе с таким протоколом есть 2 режима, которые отличаются между собой соединением между пользователем и сетью.

    Автономный режим

    По-другому этот вариант называется пассивным режимом. Это более безопасный для пользователя случай. Человек в этом случае не указывает номера порта.

    Методика передачи файлов такова:

    1. Отправляют со своего временного порта запрос на порт сервера.
    2. Затем следует ответ сервера на временный порт индивидуума.
    3. Подтверждают соединение. Затем отправляют команду, утверждающую пассивный режим работы.
    4. Сервер в ответ подтверждает режим работы, выдает ip-адрес и номер порта для связи.
    5. Отправляют запрос с нового порта на соединение с выданным номером порта.
    6. Сервер подтверждает установку.
    7. После установления соединения клиент дает команды, и начинается передача.

    Очень важно использовать этот режим, если установлен Firwall.

    Нормальный режим

    По-другому этот вариант называется активным режимом. В этом случае пользователь сам задает необходимый порт для связи.

    Методика передачи файлов выглядит следующим образом:

    1. Клиент отправляет со своего временного порта запрос на порт сервера.
    2. Затем следует ответ сервера на временный порт индивидуума.
    3. Подтверждают соединение. Затем отправляют команду, утверждающую активный режим работы, свой ip-адрес и порт.
    4. Сервер в ответ подтверждает режим работы.
    5. Дают команды серверу.
    6. Сервер дает запрос на указанный пользователем порт о соединении.
    7. Клиент подтверждает это соединение, и передача файлов начинается.

    Однако этот вариант опасен тем, что данные клиента могут попасть в «чужие руки», поскольку они никак не зашифрованы.

    Установка FTP на Ubuntu Server

    Этот процесс происходит с помощью команды vsftpd.

    Алгоритм простой:

    1. Установка с помощью выражения sudo apt install vsftpd.
    2. Для запуска: sudo systemctl start vsftpd, sudo systemctl enable vsftpd.
    3. Разрешить порты для работы ufw: sudo ufw allow 20/tcp, sudo ufw allow 21/tcp.
    4. Запустится конфигурационный файл, содержащий множество параметров настройки. Руководство по каждому пункту вызывается с помощью команды: man 5 vsftpd.conf.

    Совет! Новичку следует обратиться за помощью к сервисному центру.

    Настройка FTP сервера на Ubuntu

    Этот процесс имеет разные направления, которые различаются своими специфическими особенностями.

    Настройка доступа пользователей

    Есть 2 пути: анонимный и авторизированный. Первый случай простой, пользователь создает анонимный файл для связи. Второй случай более безопасный – должна быть учетная запись.

    Анонимный доступ

    Скопировать на всякий случай конфигурационный файл с помощью команды:

    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

    Затем установить анонимный режим:

    sudo cp /etc/vsftpd.conf / anonymous_enable=YES

    После следует перезапустить сервер с помощью выражения:

    sudo service vsftpd restart

    Затем нужно скопировать файлы и каталоги для доступа анонимных клиентов.

    Чтобы они тоже могли загружать файлы, нужно воспользоваться выражением:

    anon_upload_enable=YES

    Однако последний пункт может привести к нарушению безопасности работы сервера.

    Авторизированный доступ

    Повторить первый пункт предыдущего метода.

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

    local_enable=YES

    Разрешить пользователям загрузку файлов можно с помощью команды:

    write_enable=YES

    Затем следует перезагрузить систему с помощью выражения:

    sudo service vsftpd restart

    После следует защитить систему другими опциями.

    Смена номера порта

    Сначала нужно подключиться к серверу по SSH.

    Узнать, какой FTP-сервер установлен с помощью выражения:

    dpkg -l | grep ftpd | awk ‘{print $2’}

    Выполнить команды: либо vsftpd, либо proftpd.

    Другие опции

    Есть важные 2 направления, о которых каждый пользователь обязательно должен знать.

    Ограничение пользователей

    Управлять документами и запросами пользователями достаточно просто.

    Для ограничения уровня любого человека можно воспользоваться командой:

    chroot_local_user=YES

    Установить список людей, которым будет доступен домашний каталог, можно с помощью команд:

    chroot_list_enable=YES

    chroot_list_file=/etc/vsftpd.chroot_list

    Затем следует перезапустить программу с помощью:

    sudo service vsftpd restart

    Также можно запретить доступ в домашний каталог другим пользователям с помощью:

    sudo chmod a-w /home/user/

    Отменить проверку на запись в домашний каталог можно выражением:

    allow_writeable_chroot=YES

    Разрешить пользователям только входить в свои каталоги:

    local_root=/home

    Шифрование

    При наличии FTPS пользовательское место для увеличения безопасности можно зашифровать.

    Для настройки такого режима следует в конце конфигурационного файла добавить:

    ssl_enable=Yes

    Ввести сертификат и ключ с помощью:

    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

    Перезагрузить программу:

    sudo service restart vsftpd

    Чтобы пользователям был доступ к серверу, а не к оболочке, следует отредактировать файл следующим образом:

    # /etc/shells: valid login shells

    /bin/csh

    /bin/sh

    /usr/bin/es

    /usr/bin/ksh

    /bin/ksh

    /usr/bin/rc

    /usr/bin/tcsh

    /bin/tcsh

    /usr/bin/esh

    /bin/dash

    /bin/bash

    /bin/rbash

    /usr/bin/screen

    /usr/sbin/nologin

    Частые ошибки и проблемы

    Частые проблемы новичков заключаются в следующем:

    1. Не видны те файлы, название которых начинаются с точки. Они считаются скрытыми. Для решения этой проблемы следует в файл /usr/local/etc/proftpd.conf вписать:

    ListOptions -la

    1. Запрещен доступ пользователю с правами Root. В этом случае следует перейти на протокол SFTP.
    2. Невозможность подключения. Решение многоуровневое будет рассмотрено ниже.

    Выполняя вышеперечисленные действия, человек может самостоятельно быстро настроить работу сервера.

    Невозможность подключения через FTP

    Чтоб разрешить проблему, следует принять ряд определенных мер.

    Проверить установку

    Нужно выполнить запрос:

    # dpkg -l | grep -i «ftp»

    Если сервер установлен, то придет ответ:

    ii  ftp            0.17-25             classical                              file transfer client

    ii  proftpd-basic  1.3.4a-1            Versatile                              , virtual-hosting FTP daemon — binaries

    Если нет, то следует загрузить сервер:

    # apt-get install proftpd

    Проверить запуск

    Нужно подключиться к серверу с помощью SSH и ввести команды:

    # telnet localhost 21

    # netstat -tulpn | grep :21

    Должен быть ответ:

    tcp6       0      0 :::21                   :::*                    LISTEN      6208/proftpd: (acce

    Другой способ заключается в введении выражения:

    # netstat -a | grep ftp

    В этом случает ответ будет выглядеть следующим образом:

    tcp6       0      0 [::]:ftp                [::]:*                  LISTEN

    Если порт не открыт, то его следует запустить командой:

    # /etc/init.d/proftpd start

    Запрет для пользователя

    Проверить отсутствие блокировки запросом:

    # iptables -L -n

    Ответ сервера в этом случае:

    Chain INPUT (policy ACCEPT)

    target     prot opt source               destination

    ISPMGR     all  —  0.0.0.0/0            0.0.0.0/0

    Chain FORWARD (policy ACCEPT)

    target     prot opt source               destination

    Chain OUTPUT (policy ACCEPT)

    target     prot opt source               destination

    ISPMGR     all  —  0.0.0.0/0            0.0.0.0/0

    Chain ISPMGR (2 references)

    target     prot opt source               destination

    Заключение

    Сервер FTP на Ubuntu –базовый протокол передачи файлов для платформы Линукс. Установка и настройка его требует учета специфических нюансов. Для предотвращения каких-либо поломок нужно обратиться к специалисту.

    Установка и настройка FTP-сервера в Linux

    File Transfer Protocol, т. е. FTP – протокол передачи файлов и, как понятно из полного названия, предназначен для передачи файлов между удалёнными компьютерами через сеть. Несмотря на то, что сам протокол FTP является на сегодняшний день не самым совершенным из-за того, что передаваемые данные не шифруются, однако это не делает его устаревшим. Кроме того всё-таки к FTP возможно применять криптографическую защиту на основе протокола SSL, что и делает FTP достойным инструментом для передачи файлов.

    Поскольку FTP работает по схеме клиент-серверного взаимодействия, то умелая и надёжная реализация протокола (да и вообще системы) в состоянии обеспечить ему надёжную защиту, высокую скорость и, как следствие — популярность, что и можно наблюдать на сегодняшний день, ведь большинство крупных проектов, таких как ftp.gnu.org, ftp.suse.com, ftp.redhat.com, ftp.gnome.org и т. д., используют для распространения программного обеспечения со своих серверов именно FTP. Надо заметить, что такой популярностью FTP обязан, в большей степени, одной из своих многочисленных реализаций — vsFTPd. Это FTP- сервер, поддерживающий работу с самыми современными технологиями по защите данных — SSL и IPv6, его реализация совмещает в себе высокую надёжность, стабильность, скорость работы и передачи данных, а также гибкую настройку работы сервера и широкий функционал. Разработчиком vsFTPd является Крис Эванс — профессиональный исследователь в сферах защиты данных и информационной безопасности. vsFTPd является FTP-сервером по-умолчанию практически во всех Linux-системах, поскольку, как уже упоминалось, помимо надёжности и высокой скорости работы, обладает большими функциональными возможностями, самыми значимыми из которых являются:

    1. Работа с виртуальными пользователями.
    2. Работа с виртуальными IP-адресами.
    3. Конфигурирование пользователей.
    4. Поддержка
    5. SSL-шифровние для защиты передаваемых данных.
    6. Контроль полосы пропускания.

    В данной статье рассматривается установка и настройка FTP-сервера на примере vsFTPd, который, кстати, является свободно распространяемым программным обеспечением (ПО) с открытым исходным кодом. Официальная страница проекта: https://security.appspot.com/vsftpd.html.

    Установка vsFTPd

    Установить Vsftd в Debian-ориентированных дистрибутивах Linux позволяет команда:

    $ sudo apt-get install vsftpd

    Также полезно будет установить и простой FTP-клиент для тестирования соединения и передачи файлов:

    $ apt-get install ftp

    Для дистрибутивов на основе RPM-пакетов, CentOS, RedHat:

    $ yum install vsftpd
    $ yum install ftp

    Примечание: yum – это пакетный менеджер, тот же самый apt, но адаптированный для управления пакетами формата *.rpm.

    После установки для vsFTPd будет доступна техническая документация, которая обычно находится в каталоге /usr/share/doc/vsftpd/examples – здесь приведены варианты различных конфигураций, в зависимости от характера и масштабов использования vsFTPd. Ознакомиться с документацией можно также с помощью команды:

    $ man vsftpd.conf

    Обычно после установки демон vsFTPd автоматически запускается, убедиться в этом можно с помощью следующих команд:

    $ systemctl status vsftpd

    или:

    $ service vsftpd status

    Запуск, перезапуск и остановка сервера:

    $ systemctl start vsftpd
    $ systemctl restart vsftpd
    $ systemctl stop vsftpd

    Для включения демона vsftpd в автозагрузку используется команда:

    $ systemctl enable vsftpd

    Аналогично и с командой service.

    Если vsFTPd используется в серверных дистрибутивах, в которых часто работает фаервол, например ufw, то ещё может понадобиться разрешить использование портов 20 и 21:

    $ ufw allow 20/tcp
    $ ufw allow 21/tcp

    Настройка vsFTPd

    Конфигурационным файлом для настройки vsFTPd является файл vsftpd.conf, который обычно находится в каталоге etc/. Ознакомиться с его одержимым можно командой cat:

    $ cat /etc/vsftpd/vsftpd.conf

    На всякий случай полезно перед редактированием оригинального файла настроек сделать его резервную копию:

    $ sudo cp /etc/vsftpd.conf vsftpd.conf.backup

    FTP-сервер vsFTPd предусматривает два основных варианта работы: с анонимными и авторизованными пользователями. Первый вариант считается «более безопасным», но только потому, что для обеспечения надёжной защиты практически ничего настраивать и не нужно. Но при грамотной организации авторизованного доступа, предполагающего работу с FTP локальных пользователей системы, можно обеспечить безопасность ничуть не хуже, чем при использовании анонимного доступа.

    Настройка в режиме анонимного доступа

    Работа vsFTPd в данном режиме заключается в том, что действия с файлами на удалённом сервере производятся одним определённым по умолчанию пользователем, например, пользователем с именем «ftp» или «anonymous», при этом в качестве пароля используется e-mail.

    Чтобы включить анонимный доступ по FTP нужно в фале vsftpd.conf определить значение «YES» для соответствующей директивы:

    anonymous_enable=YES

    Теперь для управления файлами будет использоваться определённый каталог (обычно это /srv/ftp) и определённый пользователь — обычно ftp.

    Можно определить и другое расположение файлов для анонимного доступа по FTP, т. е. изменить домашнюю директорию пользователя ftp:

    $ sudo mkdir /srv/share/ftp
    $ sudo usermod -d /srv/share/ftp ftp

    Если нужно, чтобы анонимные пользователи могли ещё и загружать файлы на удалённый сервер, то это позволит сделать директива:

    anon_upload_enable=YES

    Теперь можно скопировать необходимые для анонимного доступа файлы в домашнюю папку пользователя ftp и перезапустить демон vsftpd:

    $ systemctl restart vsftpd

    Обычно этого набора настроек достаточно для организации анонимного FTP-доступа. Для проверки соединения можно выполнить команду ftp address_host:

    $ ftp 127.0.0.1

    или:

    $ ftp localhost

    что в случае успешного выполнения даст примерно такой вывод:

    Настройка в режиме авторизованного доступа

    Для авторизованного доступа проще всего включить использование локальных учётных записей на сервере. Для этого нужно указать следующую директиву в файле конфигурации vsftpd.conf:

    local_enable=YES

    Для задания разрешения локальным авторизованным пользователям загружать файлы на сервер указывается директива:

    write_enable=YES

    Примечание: для авторизации локальных пользователей используется пароль пользователя для локального входа в систему.

    Теперь нужно перезапустить vsftpd для активации сделанных изменений:

    $ systemctl restart vsftpd

    Ограничение пользователей в своих домашних каталогах

    Для определения пользователей, которым разрешён доступ только к своему домашнему каталогу существуют директивы:

    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list

    Первая включает использование списка пользователей, вторая определяет файл, в котором в каждой строке перечислены пользователи с доступом только к своим домашним каталогам. Если при этом ещё указать директиву:

    chroot_local_user=YES

    которая «запирает» в chroot() локальных пользователей и выше своих домашних каталогов они подняться не смогут, то в этом случае пользователи в файле vsftpd.chroot_list ограничиваться своими домашними каталогами не будут, в отличии от тех, кто в этот список не внесён.

    При распределении FTP-доступа среди пользователей может возникнуть ошибка, которая возникает из-за того, что локальный пользователь имеет права на запись в корне домашнего каталога, что по соображениям безопасности недопустимо. Эта ошибка выглядит следующим образом:

    500 OOPS: vsftpd: refusing to run with writable root inside chroot()

    Лучшим способом исправить эту ошибку является указание некоего общего корневого каталога, куда при подключении будут попадать все пользователи, имея доступ лишь к своим домашним поддиректориям, например:

    local_root=/home

    Можно также для устранения этой ошибки отключить проверку на запись в домашний каталог:

    allow_writeable_chroot=YES

    Но всё же это стоит делать лишь тогда, когда есть чёткое понимание, зачем это нужно для конкретной ситуации.

    Защита данных с помощью SSL

    Чтобы иметь возможность шифровать передаваемые данные, следует настроить vsFTPd в режиме FTPS. Это та же самая передача данных по FTP, но организованная поверх SSL – протокола. Шифрующего и проверяющего данные с помощью сертификатов и ключей.

    Для включения режима FTPS нужно задействовать следующую директиву:

    ssl_enable=Yes

    По умолчанию в конфигурационном файле vsftpd.conf также присутствуют опции, определяющие сертификаты и ключи, например:

    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

    Эти сертификат и ключ необходимо заменить. Для использования FTPS необходимо использовать сертификат и ключ. Cгенерированные (или полученные) для конкретного сервера или компьютера.

    Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

    Как установить FTP-сервер с VSFTPD на Ubuntu 18.04

    FTP (протокол передачи файлов) – это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее. Для более безопасной и быстрой передачи данных используйте SCP.

    Для Linux доступно множество FTP-серверов с открытым исходным кодом. Самыми популярными и широко используемыми являются PureFTPd, ProFTPD и vsftpd. В этой статье мы будем устанавливать vsftpd. Это стабильный, безопасный и быстрый FTP-сервер. Мы также покажем вам, как настроить vsftpd для ограничения доступа пользователей к их домашнему каталогу и шифрования всей передачи с помощью SSL/TLS.

    Хотя эта статья написана для Ubuntu 18.04, такие же инструкции применяются к Ubuntu 16.04 и любому дистрибутиву на базе Debian, включая Debian, Linux Mint и Elementary OS.

     

    Прежде чем продолжить эту статью, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.

     

    Пакет vsftpd доступен в репозиториях Ubuntu. Чтобы установить его, просто выполните следующие команды:

    sudo apt update
    sudo apt install vsftpd
    

     

    Служба vsftpd автоматически запустится после завершения процесса установки. Проверьте его, распечатав статус службы:

    sudo systemctl status vsftpd

     

    Результат будет выглядеть примерно так, показывая, что служба vsftpd активна и работает:

    * vsftpd.service - vsftpd FTP server
       Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
       Active: active (running) since Mon 2018-10-15 03:38:52 PDT; 10min ago
     Main PID: 2616 (vsftpd)
        Tasks: 1 (limit: 2319)
       CGroup: /system.slice/vsftpd.service
               `-2616 /usr/sbin/vsftpd /etc/vsftpd.conf

     

    Сервер vsftpd можно настроить, отредактировав файл /etc/vsftpd.conf. Большинство настроек задокументированы внутри файла конфигурации. Для всех доступных вариантов посетите официальную страницу vsftpd.

    В следующих разделах мы рассмотрим некоторые важные настройки, необходимые для настройки безопасной установки vsftpd.

    Начните с открытия файла конфигурации vsftpd:

    sudo nano /etc/vsftpd.conf

     

    Мы разрешаем доступ к FTP-серверу только локальным пользователям, находим директивы anonymous_enable и local_enable и проверяем соответствие вашей конфигурации следующим строкам:

    /etc/vsftpd.conf

    anonymous_enable=NO
    local_enable=YES

     

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

    /etc/vsftpd.conf

    write_enable=YES

     

    Чтобы пользователи FTP не могли получить доступ к каким-либо файлам вне своих домашних каталогов, раскомментируйте настройку chroot.

    /etc/vsftpd.conf

    chroot_local_user=YES

     

    По умолчанию для предотвращения уязвимости безопасности, когда chroot включен, vsftp откажется загружать файлы, если каталог, в котором пользователи заблокированы, доступен для записи.

    vsftpd может использовать любой порт для пассивных FTP-соединений. Мы укажем минимальный и максимальный диапазон портов, а затем откроем диапазон в нашем брандмауэре.

    Добавьте в файл конфигурации следующие строки:

    /etc/vsftpd.conf

    pasv_min_port=30000
    pasv_max_port=31000

     

    Чтобы разрешить только определенным пользователям входить на FTP-сервер, добавьте следующие строки в конец файла:

    /etc/vsftpd.conf

    userlist_enable=YES
    userlist_file=/etc/vsftpd.user_list
    userlist_deny=NO

     

    Когда эта опция включена, вам необходимо явно указать, какие пользователи могут войти, добавив имена пользователей в файл /etc/vsftpd.user_list (по одному пользователю в строке).

    Чтобы шифровать FTP-передачи с помощью SSL/TLS, вам необходимо иметь сертификат SSL и настроить FTP-сервер для его использования.

    Вы можете использовать существующий сертификат SSL, подписанный доверенным центром сертификации, или создать самоподписанный сертификат.

    Если у вас есть домен или поддомен, указывающий на IP-адрес FTP-сервера, вы можете легко создать бесплатный сертификат SSL для шифрования.

    В этой статье мы сгенерируем самоподписанный сертификат SSL с помощью команды openssl.

    Следующая команда создаст 2048-битный закрытый ключ и самоподписанный сертификат, действительный в течение 10 лет. Как закрытый ключ, так и сертификат будут сохранены в одном файле:

    sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

     

    Теперь, когда создан SSL-сертификат, откройте файл конфигурации vsftpd:

    sudo nano /etc/vsftpd.conf

     

    Найдите директивы rsa_cert_fileи rsa_private_key_file, измените их значение pam в пути к файлу и установите директиву ssl_enable на YES:

    /etc/vsftpd.conf

    rsa_cert_file=/etc/ssl/private/vsftpd.pem
    rsa_private_key_file=/etc/ssl/private/vsftpd.pem           
    ssl_enable=YES

     

    Если не указано иное, FTP-сервер будет использовать только TLS для обеспечения безопасных подключений.

     

    После того, как вы закончите редактирование, файл конфигурации vsftpd (исключая комментарии) должен выглядеть примерно так:

    /etc/vsftpd.conf

    listen=NO
    listen_ipv6=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    chroot_local_user=YES
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/private/vsftpd.pem
    rsa_private_key_file=/etc/ssl/private/vsftpd.pem
    ssl_enable=YES
    user_sub_token=$USER
    local_root=/home/$USER/ftp
    pasv_min_port=30000
    pasv_max_port=31000
    userlist_enable=YES
    userlist_file=/etc/vsftpd.user_list
    userlist_deny=NO

     

    Сохраните файл и перезапустите службу vsftpd, чтобы изменения вступили в силу:

    sudo systemctl restart vsftpd

     

    Если вы используете брандмауэр UFW, вам необходимо разрешить FTP-трафик.

    Чтобы открыть порт 21( порт команд FTP), порт 20( порт данных FTP) и 30000-31000(диапазон пассивных портов), выполните следующие команды:

    sudo ufw allow 20:21/tcp
    sudo ufw allow 30000:31000/tcp

     

    Чтобы избежать блокировки, мы откроем порт 22:

    sudo ufw allow OpenSSH

     

    Перезагрузите правила UFW, отключив и снова включив UFW:

    sudo ufw disablesudo ufw enable

     

    Чтобы проверить выполнение изменений:

    sudo ufw status

     

    Status: active
    
    To                         Action      From
    --                         ------      ----
    20:21/tcp                  ALLOW       Anywhere                  
    30000:31000/tcp            ALLOW       Anywhere                  
    OpenSSH                    ALLOW       Anywhere                  
    20:21/tcp (v6)             ALLOW       Anywhere (v6)             
    30000:31000/tcp (v6)       ALLOW       Anywhere (v6)             
    OpenSSH (v6)               ALLOW       Anywhere (v6)

     

    Чтобы протестировать наш FTP-сервер, мы создадим нового пользователя.

    • Если у вас уже есть пользователь, которому вы хотите предоставить FTP-доступ, пропустите 1-й шаг.
    • Если вы установили allow_writeable_chroot=YES в своем файле конфигурации, пропустите 3-й шаг.
    1. Создайте нового пользователя с именем newftpuser:
      sudo adduser newftpuser

       

    2. Добавьте пользователя в список разрешенных пользователей FTP:
      echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list

       

    3. Создайте дерево каталогов FTP и установите правильные разрешения:
      sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/newftpuser/ftp

       

      Как обсуждалось в предыдущем разделе, пользователь сможет загружать свои файлы в каталог ftp/upload.

    На данный момент ваш FTP-сервер полностью работоспособен, и вы должны иметь возможность подключаться к вашему серверу с любым FTP-клиентом, который может быть настроен на использование шифрования TLS, например FileZilla.

     

    По умолчанию при создании пользователя, если явно не указано, у пользователя будет доступ к серверу SSH.

    Чтобы отключить доступ к оболочке, мы создадим новую оболочку, которая просто напечатает сообщение, сообщающее пользователю, что их учетная запись ограничивается только доступом к FTP.

    Создайте оболочку /bin/ftponly и сделайте ее исполняемой:

    echo -e '#!/bin/sh\necho "This account account is limited to FTP access only."' | sudo tee -a  /bin/ftponlysudo chmod a+x /bin/ftponly

     

    Добавьте новую оболочку в список допустимых оболочек в файл /etc/shells

    echo "/bin/ftponly" | sudo tee -a /etc/shells

     

    Измените оболочку пользователя на /bin/ftponly:

    sudo usermod newftpuser -s /bin/ftponly

     

    В этой статье вы узнали, как установить и настроить безопасный и быстрый FTP-сервер в вашей системе Ubuntu 18.04.

    Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

    Как настроить FTP-сервер в Ubuntu 18.04 с Vsftpd

    FTP — это способ передачи файлов между двумя компьютерами. Один из старейших методов, а FTP — самый распространенный способ передачи файлов в Интернете.

    В этом руководстве объясняется, как установить FTP-сервер в Ubuntu 18.04. Чтобы настроить FTP-сервер в Ubuntu, нам необходимо установить программное обеспечение FTP-сервера. Vsftpd, что означает очень безопасный FTP-демон, это лучшее FTP-решение для Ubuntu 18.04.

    Чтобы настроить FTP-сервер, войдите в командную строку Ubuntu и выполните следующие шаги с правами root.

    1. Установите vsftpd с помощью команды apt-get:
        apt-get обновить
      apt-get install vsftpd  
    2. После установки откройте файл /etc/vsftpd.conf .
    3. Убедитесь, что для anonymous_enable установлено значение нет , а для local_enable установлено значение да :
        anonymous_enable = НЕТ
      local_enable = ДА  
    4. Раскомментируйте (удалите # в начале строки) строку write_enable и убедитесь, что для нее установлено значение YES :
        write_enable = ДА  
    5. Найдите и раскомментируйте: chroot_local_user = YES :
        chroot_local_user = ДА  
    6. Затем добавьте следующую строку, чтобы разрешить запись chroot:
        allow_writeable_chroot = ДА  
    7. Наконец, сохраните файл vsftpd.conf и перезапустите службу vsftpd:
        systemctl перезапуск vsftpd.service  

    Теперь, когда мы настроили FTP-сервер в Ubuntu 18.04, вы можете использовать FTP-клиент (например, FileZilla) для доступа к FTP-серверу с удаленного компьютера.

    (обратите внимание, что если ваш сервер Ubuntu находится за брандмауэром, вам необходимо открыть FTP-порт 21 на брандмауэре)

    Включить пассивный режим FTP

    При подключении к FTP-серверу клиент FTP будет использовать активный режим (по умолчанию) или пассивный режим.Если клиент находится за брандмауэром (например, брандмауэром Windows в Windows) активный режим не будет работать, и клиент FTP переключится в пассивный режим. В этом случае на FTP-сервере Ubuntu должен быть включен пассивный режим FTP.

    Чтобы включить пассивный режим FTP, откройте файл /etc/vsftpd.conf .

    1. Добавьте строку pasv_enable = Yes:
        pasv_enable = Да  
    2. Определите диапазон портов, которые будут использоваться для передачи данных:
        pasv_min_port = 10090
      pasv_max_port = 10100  
    3. Перезагрузите FTP-сервер:
        systemctl перезапуск vsftpd.сервис  

    (Обратите внимание, что если сервер Ubuntu находится за брандмауэром, вам необходимо открыть диапазон портов, определенный в конфигурации, вместе с FTP-портом 21.)

    Запуск, остановка и перезапуск FTP-сервера

    Вы можете запускать, останавливать и перезапускать сервер vsftpd в Ubuntu с помощью команды systemctl, например, чтобы остановить FTP-сервер, выполните:

      systemctl stop vsftpd  

    По умолчанию vsftpd настроен на автоматический запуск, если нет, запустите:

      systemctl включить vsftpd  

    Если вы не хотите запускать сервер автоматически, запустите:

      systemctl отключить vsftpd  

    Для просмотра статуса сервера запустите:

      systemctl статус vsftpd  
    .

    Как установить и настроить FTP-сервер в Ubuntu с VSFTPD

    Если вы хотите установить FTP-сервер в Ubuntu, вы не сможете превзойти простоту vsftpd.

    FTP означает протокол передачи файлов. Он похож на HTTP (протокол передачи гипертекста) тем, что определяет язык для передачи данных по сети. По умолчанию FTP не зашифрован, поэтому сам по себе это не лучший выбор для безопасной передачи данных.

    Это руководство поможет вам установить и настроить FTP-сервер (vsftpd) в Ubuntu 18.04.

    • Доступ к учетной записи пользователя с привилегиями sudo
    • Доступ к окну терминала / командной строке (Ctrl-Alt-T)
    • Менеджер пакетов apt , включен по умолчанию

    Шаг 1: Обновите системные пакеты

    Начните с обновления ваших репозиториев — введите следующее в окне терминала:

      обновление sudo apt-get  

    Система переходит к обновлению репозиториев.

    Шаг 2. Резервное копирование файлов конфигурации

    Перед внесением любых изменений обязательно сделайте резервную копию файлов конфигурации.

    1. Создайте резервную копию файла конфигурации по умолчанию, введя следующее:

      sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default  

    Эта команда создает копию файла конфигурации по умолчанию.

    2. Создайте новый файл конфигурации vsftpd /etc/vsftpd.conf , используя предпочитаемый текстовый редактор:

      $ sudo nano / etc / vsftpd.конф  

    Шаг 3. Установка сервера vsftpd на Ubuntu

    В Ubuntu обычно используется FTP-утилита с открытым исходным кодом vsftpd . Рекомендуется из-за простоты использования.

    1. Для установки vsftpd введите команду:

      sudo apt установить vsftpd  

    Это пример вывода в Ubuntu.

    2. Чтобы запустить службу и включить ее при запуске:

      sudo systemctl start vsftpd
    
    sudo systemctl включить vsftpd  

    Примечание: Инструкция по установке и настройке FTP с Vsftpd также доступна для CentOS 7.

    Создайте нового пользователя FTP с помощью следующих команд:

      sudo useradd –m testuser
    
    sudo пароль testuser  

    Система должна попросить вас создать пароль для новой учетной записи testuser . Создайте образец файла в домашней учетной записи нового пользователя:

      sudo mkdir / главная / testuser  

    Шаг 5: Настройте брандмауэр для разрешения FTP-трафика

    Если вы используете UFW, который входит в стандартную комплектацию Ubuntu, он по умолчанию блокирует FTP-трафик.Введите следующие команды, чтобы открыть портов 20 и 21 для трафика FTP:

      sudo ufw разрешить 20 / tcp
    
    sudo ufw разрешить 21 / tcp  

    Примечание: Если вы используете другой брандмауэр, обратитесь к инструкциям, чтобы разрешить доступ на порт 20 и порт 21 . Это порты прослушивания для службы FTP.

    Шаг 6: Подключитесь к FTP-серверу Ubuntu

    Подключитесь к FTP-серверу с помощью следующей команды:

      судо ftp ubuntu-ftp  

    Замените ubuntu-ftp на имя вашей системы (взятое из командной строки).

    Войдите в систему , используя учетную запись testuser и пароль, который вы только что установили. Теперь вы должны успешно войти на свой FTP-сервер.

    Настройка и защита сервера Ubuntu vsftpd

    По умолчанию FTP-сервер использует каталог / srv / ftp в качестве каталога по умолчанию. Вы можете изменить это, создав новый каталог и изменив домашний каталог пользователя FTP.

    Чтобы изменить домашний каталог FTP, введите следующее:

      sudo mkdir / SRV / ftp / новое_расположение
    
    sudo usermod –d / srv / ftp / new_location ftp  

    Перезапустите службу vsftpd , чтобы изменения вступили в силу:

      sudo systemctl перезапуск vsftpd.обслуживание  

    Теперь вы можете поместить любые файлы, которыми хотите поделиться через FTP, в папку / srv / ftp (если вы оставили ее по умолчанию) или в каталог / srv / ftp / new_location / (если вы поменял).

    Если вы хотите разрешить авторизованным пользователям загружать файлы, отредактируйте файл vsftpd.conf , введя следующее:

      Судо нано /etc/vsftpd.conf  

    Найдите запись с меткой write_enable = NO и измените значение на « YES .”

    Сохраните файл, выйдите, затем перезапустите службу FTP со следующим:

      sudo systemctl перезапуск vsftpd.service  

    Это позволяет пользователю вносить изменения в свой домашний каталог.

    Многие эксплойты используют незащищенные FTP-серверы. В ответ, в vsftpd.conf есть несколько параметров конфигурации, которые могут помочь защитить ваш FTP-сервер.

    Один из способов — ограничить пользователей их домашним каталогом.Откройте vsftpd.conf в редакторе и раскомментируйте следующую команду:

      chroot_local_user = ДА  

    Это пример файла в nano :

    Чтобы создать файл списка, отредактируйте /etc/vsftpd.chroot_list и добавьте по одному пользователю в каждой строке.

    Укажите своему FTP-серверу ограничить этот список пользователей их собственными домашними каталогами, отредактировав vsftpd.conf :

      chroot_local_user = ДА
    
    chroot_list_file = / и т.д. / vsftpd.chroot_list  

    Изображение иллюстрирует внесенные правки:


    Перезапустите службу vsftpd :
      sudo systemctl перезапуск vsftpd.service  

    По умолчанию список пользователей, которым заблокирован доступ по FTP, хранится в / etc / ftpusers . Чтобы добавить заблокированных пользователей, отредактируйте этот файл и добавьте по одному пользователю в каждой строке.

    Шифрование трафика с помощью FTPS

    Другой метод защиты FTP-сервера — это шифрование трафика.Это делается с помощью FTPS — протокол передачи файлов через SSL (Secure Socket Layer).

    Чтобы это работало, пользователи должны быть настроены с учетной записью оболочки на FTP-сервере. Это добавит уровень безопасного шифрования к вашему FTP-трафику. Чтобы настроить FTPS, откройте файл vsftpd.conf в редакторе и добавьте следующие строки:

      ssl_enable = ДА
    
    rsa_cert_file = / etc / ssl / certs / ssl-cert-snakeoil.pem
    
    rsa_private_key_file = / etc / ssl / private / ssl-cert-snakeoil.ключ  

    Файл должен выглядеть так:

    Перезапустите службу, чтобы изменения вступили в силу:

      sudo systemctl перезапуск vsftpd.service  

    Примечание: Для получения дополнительной информации о конфигурации и сертификатах SSL см. Документацию по FTP-серверу Ubuntu. Также стоит отметить, что FTPS — это протокол, отличный от SFTP. SFTP расшифровывается как Secure File Transfer Protocol, и это совершенно другой протокол.

    Теперь вы должны были установить FTP-сервер на Ubuntu с vsftpd .

    Теперь у вас должна быть возможность настраивать списки пользователей и учетные записи, а также подключаться к новому FTP-серверу. Мы также подробно описали риски протокола FTP и способы их снижения.

    .

    Как настроить FTP-сервер с vsftpd в Ubuntu 18.04 LTS — Linux Hint

    vsftpd — это FTP-сервер с открытым исходным кодом. Это очень безопасно и очень быстро. vsftpd тоже стабилен. Также его легко настроить. В этой статье я покажу вам, как установить и настроить FTP-сервер vsftpd в Ubuntu 18.04 LTS.

    Установка vsftpd:

    Vsftpd доступен в официальном репозитории пакетов Ubuntu. Таким образом, вы можете легко установить его на свой компьютер с Ubuntu с помощью диспетчера пакетов APT.
    Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

    Теперь установите vsftpd с помощью следующей команды:

    $ sudo apt установить vsftpd

    Должен быть установлен

    vsftpd.

    Файл конфигурации vsftpd:

    Файл конфигурации vsftpd: /etc/vsftpd.conf .

    Исходный файл конфигурации vsftpd содержит все поддерживаемые параметры (большинство из них закомментированы) с большим количеством документации, которая поможет вам легко понять, что эти параметры делают.Поэтому я предпочитаю хранить резервную копию исходного файла конфигурации и создавать новый пустой файл конфигурации. Затем поместите все параметры конфигурации, которые вы хотите применить, к новому файлу конфигурации. Таким образом, если вам понадобится помощь, вы всегда сможете взглянуть на файл конфигурации резервной копии. Файл конфигурации также будет очень маленьким и простым.

    Чтобы создать резервную копию исходного файла конфигурации /etc/vsftpd.conf , выполните следующую команду:

    $ sudo mv -v / и т.д. / vsftpd.conf /etc/vsftpd.conf.bk

    Теперь создайте новый пустой файл конфигурации с помощью следующей команды:

    $ sudo touch /etc/vsftpd.conf

    Теперь вы можете получить доступ к исходному файлу конфигурации с резервной копией следующим образом:

    $ меньше /etc/vsftpd.conf.bk

    Если вам понадобится помощь, вы всегда можете посмотреть исходную резервную копию файла конфигурации.

    Настройка vsftpd:

    В этой статье я настрою очень простой FTP-сервер, на котором вы сможете войти в систему как любой пользователь на сервере и загружать файлы в соответствующие домашние каталоги.

    Сначала откройте файл конфигурации vsftpd /etc/vsftpd.conf с помощью следующей команды:

    $ sudo nano /etc/vsftpd.conf

    Теперь введите следующие строки в файл конфигурации и сохраните файл, нажав + x , затем y и .

    listen = YES
    listen_ipv6 = NO
    connect_from_port_20 = YES

    anonymous_enable = NO
    local_enable = YES
    write_enable = YES
    chroot_local_user = YES
    allow_writeable_serd5000 vs
    allow_writeable_chroot = YES
    allow_writeable_chroot = YES
    0005 allow_writeable_chroot = YES 9000
    pasv_enable = ДА
    pasv_min_port = 40000
    pasv_max_port = 45000

    userlist_enable = ДА
    userlist_file = / etc / vsftpd.список пользователей
    userlist_deny = NO

    Теперь предположим, что вы хотите разрешить только пользователям linda , alex и bob получить доступ к своим домашним каталогам через FTP. Для этого вам нужно добавить эти имена пользователей в список /etc/vsftpd.userlist .

    Теперь откройте файл /etc/vsftpd.userlist с помощью nano следующим образом:

    $ sudo nano /etc/vsftpd.userlist

    Теперь введите здесь имена пользователей, которым вы хотите разрешить доступ к их HOME каталогам через FTP.Затем сохраните файл, нажав + x , а затем y и .

    Теперь перезапустите службу vsftpd с помощью следующей команды:

    $ sudo systemctl перезапуск vsftpd

    Теперь выполните следующую команду, чтобы проверить, запущена ли служба vsftpd:

    $ sudo systemctl статус vsftpd

    Как видите, служба vsftpd запущена. Итак, мы настроили его правильно.

    Добавление пользователей FTP:

    Теперь вам нужно добавить новых пользователей (скажем, linda , bob , alex ) в ваших операционных системах. Затем эти пользователи смогут войти на FTP-сервер и загружать файлы.

    Вы можете создать пользователя linda с помощью следующей команды:

    Также необходимо установить пароль для входа для пользователя linda . Это также будет пароль для входа на FTP для пользователя linda .

    Теперь установите пароль для входа в систему для пользователя linda с помощью следующей команды:

    Теперь введите пароль для linda и нажмите .

    Повторно введите тот же пароль для linda и нажмите . Пароль должен быть установлен.

    Таким же образом создайте пользователя bob и alex .

    Также установите пароль для пользователя bob и alex .

    $ sudo passwd bob
    $ sudo passwd алекс

    Доступ к FTP-серверу:

    Вы можете легко получить доступ к своему FTP-серверу с помощью FTP-клиента FileZilla. Вы также можете добавить учетную запись FTP в Windows в качестве сетевого расположения. В этом разделе я покажу вам оба способа доступа к FTP-серверу.

    Сначала выполните следующую команду, чтобы узнать IP-адрес вашего FTP-сервера:

    Как видите, IP-адрес моего FTP-сервера — 192.168.21.186 . Для вас все будет иначе.Так что убедитесь, что вы заменили его своим.

    Чтобы подключиться с помощью FTP-клиента FileZilla, откройте FileZilla, введите IP-адрес в разделе Host , имя пользователя и пароль для входа в систему Username и Password section, Port 21, а затем нажмите Quickconnect . Вы должны быть связаны.

    Как видите, я загрузил несколько файлов, и все заработало.

    Если вы хотите подключить свою учетную запись FTP в качестве сетевого расположения в Windows, откройте File Explorer и щелкните Computer > Добавьте сетевое расположение , как отмечено на снимке экрана ниже.

    Теперь нажмите Далее .

    Теперь выберите Выберите настраиваемое сетевое расположение и нажмите Далее .

    Теперь введите IP-адрес вашего FTP-сервера (ftp://192.168.21.186), как отмечено на скриншоте ниже, и нажмите Next .

    Теперь убедитесь, что Вход анонимно не отмечен и введите свое имя пользователя FTP. Затем нажмите Далее .

    Затем введите имя своего сетевого расположения. Это может быть что угодно. Затем нажмите Далее .

    Теперь нажмите Готово .

    Теперь введите пароль своего FTP-пользователя и нажмите Log On .

    Вы должны войти в систему. Как видите, все файлы, которые я загружал ранее с помощью FileZilla, уже есть.

    Как видите, я загрузил другой файл, и он работает.

    Теперь, когда вы подключены, вы можете получить доступ к своей учетной записи FTP в любое время из проводника Windows.

    Как видите, я добавил еще 2 FTP-аккаунта в Windows. Теперь я могу работать со всеми одновременно.

    Итак, вот как вы устанавливаете и настраиваете FTP-сервер в Ubuntu 18.04 LTS с vsftpd.

    .

    Передача файлов между Ubuntu и Windows с использованием FTP

    В этом руководстве мы узнаем, как использовать vsftpd в Linux, чтобы заставить машину Ubuntu работать как ftp-сервер и передавать файлы через Wi-Fi в локальной сети.

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

    Настройка

    Мы можем использовать преимущества машин, находящихся в одной сети, для передачи файлов.

    Чтобы следовать этому руководству, у вас должен быть доступ к следующим

    • Ubuntu Machine
    • Windows Machine
    • Обе машины подключены к одной сети с помощью Ethernet или Wi-Fi

    Как установить VFTP на Ubuntu

    Откройте терминал для получения и установки vsftp demon из официального репозитория ubuntu.

    sudo apt-get install vsftpd

    Приведенная выше команда установит демон vsftp , что означает, что он всегда будет работать в фоновом режиме при запуске машины с использованием init .

    Используйте следующие команды для проверки службы vsftp

    sudo service vsftpd status

    Если служба запущена, то вышеуказанная команда выведет состояние службы со всеми порожденными идентификаторами процессов vsftp .

    Вы также можете проверить процесс vsftp с помощью grep

    ps -ef | grep vsftp

    Как настроить VSFTP для загрузки

    Этот шаг не является обязательным, но если вы хотите разрешить загрузку с удаленного компьютера на свой сервер ubuntu, выполните следующие настройки.

    После установки vsftp создаст файл конфигурации по пути /etc/vsftpd.conf . Этот файл должен принадлежать root и иметь конфигурацию vsftp по умолчанию. По умолчанию VSFTP не разрешает загрузку по ftp; чтобы включить его, раскомментируйте строку write_enable = YES

      # Раскомментируйте это, чтобы разрешить любую форму команды записи FTP.
    write_enable = ДА
      

    Обратите внимание, что /etc/vsftpd.conf будет принадлежать root , чтобы делать любые изменения в конфигурации. sudo vim /etc/vsftpd.conf или sudo gedit /etc/vsftpd.conf

    Перезапустите демон vsftpd после завершения настройки.

    sudo service vsftpd restart

    Проверить статус после перезапуска.

    sudo service vsftpd status

    Как настроить брандмауэр Ubuntu для FTP

    По умолчанию в Ubuntu должен быть запущен брандмауэр, известный как несложный брандмауэр ( ufw ). Правила брандмауэра по умолчанию не разрешают никаких внешних подключений.

    Чтобы открыть порт ftp на этом брандмауэре, используйте следующие команды.

    Проверьте статус брандмауэра с помощью

    sudo ufw status

    Брандмауэр должен быть активен и работать. Если он не активен, включите его, используя следующую команду, чтобы обезопасить свой компьютер.

    Вы можете отключить его, если у вас есть такое требование, однако рекомендуется оставить его включенным. sudo ufw enable

    Чтобы открыть ftp-порт 21 , используйте следующую команду:

    sudo ufw allow ftp или sudo ufw allow 21

    Это добавит правило брандмауэра для приема ftp-соединений с другого компьютера в сети.После добавления правила ftp в вашем брандмауэре должны быть следующие записи. sudo ufw статус

     
    Статус: активен
    К действию от
    - ------ ----
    21 / tcp ALLOW Anywhere
    21 / tcp (v6) РАЗРЕШИТЬ В любом месте (v6)
      

    Настроить брандмауэр Windows

    Брандмауэр должен разрешить вам инициировать сеанс ftp с компьютера Windows.Найдите Windows Firewall в меню «Пуск», чтобы открыть окно настройки брандмауэра.

    Поскольку мы собираемся использовать один раз ftp, мы отключим брандмауэр и снова включим его после завершения ftp. В зависимости от того, к какой сети вы подключены: к домашней или общедоступной, вы можете отключить брандмауэр, как показано ниже.

    Обратите внимание, что полное отключение брандмауэра не рекомендуется. Если вы собираетесь регулярно использовать ftp-сервер с компьютера Windows, создайте правила брандмауэра в Брандмауэр Windows с повышенной безопасностью на порту 21

    Инициируйте сеанс FTP с помощью командной строки Windows

    Как только мы закончим с необходимыми конфигурациями, мы можем начать сначала FTP-соединение из командной строки Windows.Сначала получите IP-адрес машины, на которой размещен FTP-сервер, с помощью команды ifconfig на машине с Ubuntu. Используйте eth0 inet-адрес , если вы подключены с помощью кабеля Ethernet. Для беспроводного подключения используйте inet адрес интерфейса wlan0 . Моя машина ubuntu имеет следующий локальный IP-адрес 192.168.2.102 .

    ifconfig
     
    eth0 Link encap: Ethernet
              ВВЕРХ ТРАНСЛЯЦИИ МУЛЬТИКАСТ MTU: 1500 Метрика: 1
              Пакеты RX: 0 ошибок: 0 отброшено: 0 переполнений: 0 кадров: 0
              Пакеты TX: 0 ошибок: 0 отброшено: 0 переполнений: 0 носитель: 0
              коллизии: 0 txqueuelen: 1000
              Байт RX: 0 (0.0 B) Байты TX: 0 (0,0 B)
    
    wlan0 Link encap: Ethernet
              inet адрес: 192.168.2.102 Bcast: 192.168.2.255 Маска: 255.255.255.0
              ВВЕРХ ТРАНСЛЯЦИИ МУЛЬТИКАСТ MTU: 1500 Метрическая система: 1
              Пакеты RX: 24006 ошибок: 0 отброшено: 0 переполнений: 0 кадров: 0
              Пакеты TX: 8312 ошибок: 0 сброшено: 0 переполнений: 0 несущая: 0
              коллизии: 0 txqueuelen: 1000
              Байт приема: 12996852 (12,9 МБ) байтов передачи: 1224374 (1,2 МБ)
      

    Чтобы инициировать соединение, откройте командную строку в Windows и используйте следующую команду. ftp 192.168.2.102

    Он запросит имя пользователя и пароль. Имя пользователя будет таким же, как у пользователя ubuntu (в моем случае — techmonger), а пароль будет системным паролем пользователя ubuntu.

    Чтобы получить файл с ftp-сервера ubuntu, перейдите в каталог и используйте команду get, как показано ниже.

      ftp> получить имя файла  

    Чтобы загрузить файл с компьютера Windows на сервер ftp, введите команду, как показано ниже.

      ftp> введите имя файла  

    Чтобы завершить сеанс ftp, используйте до свидания.

      ftp> пока  

    Инициируйте FTP-соединение с использованием ftp-клиента в Windows

    К настоящему моменту вы согласитесь, что выполнение ftp из командной строки Windows немного утомительно. Мы можем использовать ftp-клиент, такой как winscp или filezilla , чтобы получить графический интерфейс для операций ftp.

    Использовать имя хоста как IP-адрес ftp-сервера (192.168.2.102 в моем случае) и те же учетные данные, что и у пользователя ubuntu.

    Как показано ниже, вы можете инициировать соединение из filezilla.Вы можете использовать перетаскивание, чтобы загружать и выгружать файлы с компьютера Windows.

    Аспекты безопасности FTP — брандмауэр и службы

    Все ftp-соединения будут инициироваться в виде обычного текста. Вы должны использовать вышеуказанный метод, только если вы находитесь в локальной сети и полностью контролируете сеть . Для зашифрованных соединений используйте sftp или ftps .

    • Удалите правило брандмауэра из ubuntu, когда требования ftp будут выполнены.

    • sudo ufw deny ftp или sudo ufw deny 21
    • Включите межсетевой экран Winows после того, как требование ftp будет выполнено.

    • Остановить демон vsftp, если ftp больше не нужен для экономии системных ресурсов. Это также сделает вашу систему менее уязвимой.

      sudo service vsftpd stop

    Заключение: вы можете настроить свой компьютер с Ubuntu как ftp-сервер и передавать файлы локально. Вам не нужен SMB (блок сообщений сервера) для передачи файлов между машиной Linux и машиной Windows по сети.

    .
    Соединение с сервером баз данных разорвано администратором 1с: Соединение с сервером баз данных разорвано администратором или Неопознанная ошибка HRESULT=80004005

    Соединение с сервером баз данных разорвано администратором 1с: Соединение с сервером баз данных разорвано администратором или Неопознанная ошибка HRESULT=80004005

    1C. Сеанс работы завершен администратором

    Часто встречающаяся ошибка при работе с 1С:

    Сеанс работы завершен администратором

    Сеанс работы завершен администратором. по причине: Соединение с сервером баз данных разорвано администратором Microsoft OLE DB Provider for SQL Server: [DBNETLIB][ConnectionWrite (send()).]Общая ошибка сети. Обратитесь к документации по сети. HRESULT=80004005, SQLSrvr: SQLSTATE=08S01, state=1, Severity=10, native=11, line=0
     

    Такая ошибка появляется при попытках:

    1. Выгрузить или обновить конфигурацию
    2. Сохранить базу данных (в .dt)
    3. Реже — непосредственно при работе

    В результате приходится перезагружать сервер 1С, что не всегда помогает. Как с этим бороться, единого ответа нет. Но попробуем собрать разные способы:

    • Выполнить проверку базы данных средствами SQL-сервера: 

    dbcc checkdb (‘<имя базы>’,REPAIR_ALLOW_DATA_LOSS) with tablock

    • Добавить еще несколько рабочих процессов на сервере 1С:
    1. Открываем консоль сервера 1С Предприятие
    2. Разворачиваем дерево: Сервер — Кластеры — 1541 — Рабочие серверы
    3. Выделяем строку «Рабочие процессы» и через меню «Действие — Создать — Рабочий процесс» добавляем новый.
    • Разрешить приложению использовать более 3Гб оперативной памяти
    1. Открываем «Панель управления — Система» на сервере 1С предприятия
    2. На закладке «Дополнительно» давим кнопку «Параметры» в разделе «Загрузка и восстановление»
    3. В разделе «Загрузка операционной системы» нажимаем кнопку «Правка»
    4. В строке загрузки добавляем ключ «/3Gb» (естественно, без кавычек)
    5. Перезагружаем сервер
    • Редактируем локальные политики безопасности
    1. На сервере 1С предприятия открываем «Панель управления — Администрирование — локальные параметры безопасности»
    2. В открывшейся оснастке выбираем: «Локальные политики — Назначение прав пользователя»
    3. В списке политик находим «Закрепление страниц в памяти». Двойной клик по строке — откроется окно свойств. На закладке «Параметр локальной безопасности» в список пользователей добавляем юзера, под которым стартует 1С-сервер и жмем «ОК»
    4. Те же действия проводи для политики «Настройка квот памяти для процесса»

    Вот такие танцы с бубном.

    Запись опубликована в рубрике Программирование и сопровождение 1с. Добавьте в закладки постоянную ссылку.

    Неопознанная ошибка HRESULT=80004005 или почему не выгружаются базы данных в dt

    При эсклуатации баз данных 1С вы можете сталкнуться с такой ситуацией:

    Сеанс работы завершен администратором.
    по причине:
    Соединение с сервером баз данных разорвано администратором
    Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
    HRESULT=80004005

    Признаки проблемы: нельзя выгрузить в dt

    Внимание! Ошибок с кодом 80004005 уйма, более подробно классофикацию я описал здесь http://www.gilev.ru/1c/mssql/errsql.htm . Здесь же мы говорим именно о «неопознанной ошибке» 🙂

    Сотрудники 1С рекомендуют решать проблему так:

    1. Проверить конфигурацию на наличие некорректной информации (мусора). Для этого следует выполнить команду «Проверка конфигурации» с установленным флажком «Проверка логической целостности конфигурации». При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически, однако следует обеспечить доступность для изменения корневого объекта конфигурации (напимер, при работе с хранилищем его следует захватить).

    2. Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении, значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика. В настоящее время все релизы выпускаемые 1С проходят проверку и выпускаются без данной проблемы.

    Нюансы: обратите внимание, что «Стандартные проверки» платформой (chdbfl, в конфигураторе) упорно говорят, что с базой все ОК.  

    Также с этой ситуацией пересекается следующая ситуация:

    10007066  Запись данных, содержащих колонки типа ХранилищеЗначения
    Проблема:
    При использовании СУБД MS SQL SERVER при записи объекта базы данных, содержащего несколько колонок типа ХранилищеЗначения, данные для которых получены из файлов, может происходить ошибка
    Ошибка СУБД:Microsoft OLE DB Provider for SQL Server: String data length mismatchHRESULT=80004005и аварийное завершение работы программы.
    Дата публикации: 2008-11-13

    http://users.v8.1c.ru/ErrCS_8_1_12_101.aspx

    Суть проблемы: важно, что под это сообщение об ошибке могут подпадать разные причины, но у них есть общая часть для 1С — это не достаточно оперативной памяти. А еще точнее неэффектиное использование ресурсов памяти. Отсюда косвенные способы победить проблему: путем рестарта сервера (на некотрое время становиться больше доступной памяти) или перейти на 64-разрядный сервер приложений. По опыту проблема связана с хранением данных в реквизите хранилище значений либо наличием в таблице config двоичных данных БОЛЬШЕ  120 mb.

    Обобщенные рекомендации, если рекомендации от 1С не помогли (проделать следующие действия в указанном порядке):
    1. Выключить все фоновый задачи у всех баз

    В 8.1.11 появился переключатель «запрет на фоновые задания» в
    момент создания базы.

    Готов пояснить, фоновые задания сами по себе не зло, но регламентные процедуры
    с полнотекстовым поиском — вещь в себе — и память она может через какое время
    съедать ресурсы rphost.exe, что на другие операции не останеться, и просто
    базу блокировать
    т.е. другими словами, после первого шага уже можно проверять — возможно проблема «уйдет».

    2. Перезапустить сервер

    Второй шаг является частным случаем для вашего случая и после него тоже
    есть смысл проверять работоспособность. Однако поскольку существуют утечки памяти http://www.gilev.ru/1c/memleak, то через некоторое время после рестарта пролема может вернуться.

    3) делаем бэкап средствами sql

    Делать резервное копирование рекомендую при любых действиях, когда может потребоваться «возврат» к предыдущему состоянию данных

    4) снимаем базу с поддержки, выгружаем cf

      убиваем в менежмент консоли базе данных в таблице config запись более 120Мб,  делаем «загрузить конфигурацию» (не объединение)  убиваем в менежмент консоли базе данных в таблице config запись более 120Мб,  делаем «загрузить конфигурацию» (не объединение)

    вот пример работоспособности этого приема

    http://partners.v8.1c.ru/forum/thread.jsp?id=543293

    можно попробывать и более радикальный шаг здесь:
    удаляем (в менежмент консоли) в базе данных таблицу «config»

    DROP TABLE [dbo].[Config]

    5) делаем «загрузить конфигурацию» (не объединение) из cf

    после этого проверяем, проблема уходит.

    P.S. Если у Вас есть возможность поделиться своим опытом, то давайте расширим данный материал.

     

    1С 8.3 : Ошибка соединения с сервером 1С:Предприятие Не запущен ни один рабочий процесс. » Администрирование » FAQ 1С 8.3 : » HelpF.pro

    Бывает, однажды, ни с того и с чего программа 1С нам выдает: Ошибка соединения с сервером 1С:Предприятие Не запущен ни один рабочий процесс. Соединение с базой невозможно.

    Несколько вариантов поиска ошибок и решений:

    1. Глюк сервака — всякое бывает

    Остановите в диспетчере задач процессы: ragent rphost rmngr и Запустите службу «Агент сервера 1С:Предприятие»

    2. При внезапном отключения питания или аналогичных ситуациях — повредился файл srvribrg.lst

    Нужно удалить все из папки srvinfo

    Для Windows зайдите в каталог c:\program files\1c\1cv82\srvinfo, если Linux — то файлы лежат в домашнем каталоге пользователя от имени которого запускается сервис: usr1cv8/home/.1cv8/1C/1cv8

    Запустите службу «Агент сервера 1С:Предприятие». 

    Через Администрирование серверов 1С Предприятия по новой создать кластер 1С и добавить информационные базы

    3. Переименовали сервер на котором служба агента 1С

    После переименования сервера Windows Server 2008 с установленным 1С:Предприятие 8.2, перестала работать служба «Агент сервера 1С:Предприятие 8.2». Она запускается, работает несколько секунд и останавливается. Если подключаться к серверу 1С:Предприятие 8.2 через консоль серверов, то возникает ошибка:

    Ошибка соединения с сервером 1С:Предприятие 8.2 server_addr=tcp://SERVER:1540 descr=Ошибка сетевого доступа к серверу (Windows Sockets — 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на соединение.) line=590 file=.\Src\DataExchangeTcpClientItmpl.cpp

    При подключении к базе на этом сервере имеем следующую ошибку:

    Не запущен ни один рабочий процесс. Соединение с базой невозможно.

    Данная проблема связана с тем, что настройки кластера серверов 1С:Предприятие хранятся в файлах в каталоге srvinfo (путь к нему указывает параметр -d в свойствах службы «Агент сервера 1С:Предприятие»). Поэтому после изменения имени компьютера надо выполнить дополнительно следующие действия:

    Для Windows зайдите в каталог c:\program files\1c\1cv82\srvinfo, если Linux — то файлы лежат в домашнем каталоге пользователя от имени которого запускается сервис: usr1cv8/home/.1cv8/1C/1cv8

    Отредактируйте в любом текстовом редакторе два файла: srvinfo\srvribrg.lst и srvinfo\reg_1541\1CV8Reg.lst. Замените в этих файлах старое имя сервера на новое.

    Запустите службу «Агент сервера 1С:Предприятие». 


    После выполнения указанных действий — Все будет

    если вдруг нет — повторите пункт 2 !

    Ошибка соединения с сервером 1С:Предприятие Не запущен ни один рабочий процесс.

    Бывает, однажды, ни с того и с чего программа 1С нам выдает: Ошибка соединения с сервером 1С:Предприятие Не запущен ни один рабочий процесс. Соединение с базой невозможно.

    Несколько вариантов поиска ошибок и решений:

    1. Глюк сервака — всякое бывает

    Остановите в диспетчере задач процессы: ragent rphost rmngr и Запустите службу «Агент сервера 1С:Предприятие»

    2. При внезапном отключения питания или аналогичных ситуациях — повредился файл srvribrg.lst

    Нужно удалить все из папки srvinfo

    Для Windows зайдите в каталог c:\program files\1c\1cv82\srvinfo, если Linux — то файлы лежат в домашнем каталоге пользователя от имени которого запускается сервис: usr1cv8/home/.1cv8/1C/1cv8

    Запустите службу «Агент сервера 1С:Предприятие». 

    Через Администрирование серверов 1С Предприятия по новой создать кластер 1С и добавить информационные базы

    3. Переименовали сервер на котором служба агента 1С

    После переименования сервера Windows Server 2008 с установленным 1С:Предприятие 8.2, перестала работать служба «Агент сервера 1С:Предприятие 8.2». Она запускается, работает несколько секунд и останавливается. Если подключаться к серверу 1С:Предприятие 8.2 через консоль серверов, то возникает ошибка:

    Ошибка соединения с сервером 1С:Предприятие 8.2 server_addr=tcp://SERVER:1540 descr=Ошибка сетевого доступа к серверу (Windows Sockets — 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на соединение.) line=590 file=.\Src\DataExchangeTcpClientItmpl.cpp

    При подключении к базе на этом сервере имеем следующую ошибку:

    Не запущен ни один рабочий процесс. Соединение с базой невозможно.

    Данная проблема связана с тем, что настройки кластера серверов 1С:Предприятие хранятся в файлах в каталоге srvinfo (путь к нему указывает параметр -d в свойствах службы «Агент сервера 1С:Предприятие»). Поэтому после изменения имени компьютера надо выполнить дополнительно следующие действия:

    Для Windows зайдите в каталог c:\program files\1c\1cv82\srvinfo, если Linux — то файлы лежат в домашнем каталоге пользователя от имени которого запускается сервис: usr1cv8/home/.1cv8/1C/1cv8

    Отредактируйте в любом текстовом редакторе два файла: srvinfo\srvribrg.lst и srvinfo\reg_1541\1CV8Reg.lst. Замените в этих файлах старое имя сервера на новое.

    Запустите службу «Агент сервера 1С:Предприятие». 


    После выполнения указанных действий — Все будет

    если вдруг нет — повторите пункт 2 !

    Заделываем дыры в сервере приложений 1С и вокруг него / Блог компании Сервер Молл / Хабр

    В сегодняшней статье я расскажу об уязвимостях сервера 1С в корпоративной сети.

    Как показала практика, в инсталляциях с 1С все допускают одни и те же ошибки разной степени серьезности. Я не буду касаться очевидных вещей вроде установки обновлений, но пройдусь по специфике работы сервера приложений под Windows. Например, по возможности бесконтрольно манипулировать базами Microsoft SQL с помощью инструментов 1С.


    Исторически так сложилось, что редко когда системные администраторы и программисты 1С работают как одна команда. Чаще всего специалисты по 1С не вникают в тонкости системного администрирования, а сисадмины не стремятся постичь нюансы работы 1С.

    И получается инфраструктура с «детскими болячками», очевидными для специалиста по ИБ ― ниже привожу личный ТОП таких проблем.


    По умолчанию платформа 1С при установке создает специальную учетную запись с ограниченными правами, под которой работают службы сервера ― USR1CV8. Все идет хорошо, до тех пор пока не становятся нужны ресурсы сети: например, для автоматических выгрузок-загрузок. Учетная запись по умолчанию не имеет доступа на сетевые папки домена, поскольку является локальной.

    В своей практике я встречал множество способов решения этой задачи: папки с доступом на запись для группы «Все», сервер 1С под учетной записью с правами администратора домена, явно прописанные в коде учетные данные для подключения сетевого ресурса. Даже запуск сервера 1С под пользовательской сессией как обычное приложение.


    Заходим на сервер по RDP, видим такое окно и получаем нервный тик.

    Конечно, «захардкоженые» пароли и сетевые ресурсы с анонимным доступом на запись встречаются редко. В отличие от работы сервера 1С из-под обычной доменной учетной записи. Разумеется, с возможностью выполнить произвольный код «на сервере».

    Как известно любому 1С-нику, но не любому системному администратору, в обработках 1С есть два режима выполнения процедур: на сервере и на клиенте. Запущенная в «серверном» режиме процедура будет выполнена под учетной записью службы сервера приложений. Со всеми ее правами.

    Если сервер 1С работает с правами администратора домена, то потенциальный вредитель сможет сделать с доменом что угодно. Разумным выходом станет создание специальной учетной записи ― по мотивам USR1CV8, только уже в домене. В частности, ей стоит разрешить вход только на определенные серверы в оснастке «Пользователи и Компьютеры Active Directory».


    Настройка входа только на разрешенные серверы.

    Не лишним будет и разрешить вход на сервер только в качестве службы, отключив возможность локального (интерактивного) входа в систему. Сделать это можно через локальные политики безопасности непосредственно на сервере, либо с помощью доменных групповых политик.


    Назначение прав пользователя в локальной политике безопасности.

    Все то же самое касается и учетной записи сервера Microsoft SQL. Седых волос может прибавиться от вредных привычек:


    • запускать SQL с правами администратора компьютера или даже домена для удобного резервного копирования;
    • включать возможность запуска исполняемых команд через хранимую процедуру xp_cmdshell для переноса резервных копий на сетевые ресурсы через красивые планы обслуживания.

    Регулярно в практике встречается подключение баз данных к серверу 1С под пользователем «SA» (суперпользователь в SQL). Вообще, это не так страшно как звучит, ведь пароль от SA захэширован в файле 1CV8Reg.lst на сервере приложений. Хэш злоумышленник получить гипотетически может ― не забываем про права учетной записи сервера ― но расшифровка окажется долгой, особенно если использовать брутфорс.

    Но все же не лишним будет настроить аудит доступа к этому файлу с уведомлением ответственных лиц.


    Другое дело, когда программистам 1С «делегируют» обязанности DBA. Опять же, из личного опыта: сервер SQL был в зоне ответственности программистов, как и интеграция внешнего сайта с базами 1С. Итогом был пароль SA в скриптах сайта.

    Для собственного успокоения стоит поставить на SA сложный пароль или вовсе деактивировать эту учетную запись. На SQL тогда нужно включить доменную аутентификацию для управления и создать для 1С отдельное имя входа с правами на необходимые базы.

    Если вы не хотите оставить возможность создавать базы SQL через интерфейс 1С, то новому пользователю хватит общей роли public и db_owner непосредственно в базе 1С.

    Это можно проделать через Management Studio или простым скриптом T-SQL:

    USE <databasename>
    CREATE LOGIN 1c_user WITH PASSWORD = 'VeryStrongPassword'
    CREATE USER 1c_user FOR LOGIN 1c_user
    ALTER ROLE db_owner ADD MEMBER 1c_user
    GO

    Правам пользователей в 1С почему-то мало кто уделяет внимание. А ведь пользователь с правами «Административные функции» или «Администрирование» запросто выгрузит базу в .DT через конфигуратор и унесет домой ― это подарит не одно мгновение волнительного счастья вашему руководству. Поэтому стоит поймать на рюмочку чая 1С-ника и посидеть совместно над базой, чтобы узнать, какие пользователи имеют подобные права. А заодно ― чем грозит понижение их полномочий.


    Право выгрузить базу у роли Полные Права в типовой 1С: Бухгалтерии 2.0.

    Следующий важный момент ― запуск внешних обработок. Как мы помним, в 1С можно запускать код с правами учетной записи сервера. Хорошо, если она не имеет административных прав на систему, но все равно стоит исключить возможность запуска подобных обработок для пользователей. И не забудьте попросить специалиста по 1С «встраивать» дополнительные отчеты и обработки в базу. Хотя не во всех обработках поддерживается встраивание ― эта возможность зависит от версии 1С.


    Проверить, какие типовые роли не имеют прав на открытие внешних обработок, можно в конфигураторе.


    Все эти действия не только помогут защититься от потенциального «внутреннего вредителя», но и станут дополнительной преградой на пути вирусов-шифровальщиков, маскирующихся под обработки 1С.

    Если все же необходим запуск внешних обработок, то неплохим вариантом контроля и подстраховки будет аудит их запуска. Штатного механизма аудита у 1С пока нет, но в сообществе уже придумали несколько обходных маневров. Внедрять эти механизмы стоит в паре со специалистом 1С, также как и настраивать уведомления о событиях в журнале регистраций базы.

    Отдельно отмечу возможность настройки доменной аутентификации пользователей вместо аутентификации 1С. И пользователям будет удобнее ― меньше паролей в их памяти снижает риск появления стикеров на мониторе.


    Итак, пользователи теперь не могут запускать обработки, учетная запись сервера максимально ограничена. Но есть и еще кое-что: учетная запись администратора кластера 1С, которая не создается по умолчанию.

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

    Пример скрипта на PowerShell, изгоняющего всех пользователей изо всех баз сервера:

    $COMConnector = New-Object -ComObject V83.COMConnector
    $agent = $COMConnector.ConnectAgent("servername")
    $cluster = $agent.GetClusters()[0] 
    $agent.Authenticate($cluster,"", "")
    $sessions = $agent.GetSessions($cluster)
    Foreach ($session in $sessions) {
    $agent.TerminateSession($cluster, $session)
    }

    Использование подобного способа работы с сервером 1С в благих целях уже упоминалось в одной из предыдущих статей.

    Создать администратора кластера не просто, а очень просто ― достаточно щелкнуть правой кнопкой на пункте «администраторы» в управлении кластером 1С, создать нового администратора, задав логин и пароль.


    Создание администратора кластера 1С.

    Я коснулся лишь части недоработок при настройке 1С: Предприятия. Для самостоятельного изучения рекомендую почитать до сих пор не потерявшие актуальность материалы:


    Поделитесь в комментариях своими нестандартными решениями и курьезами при работе с системой 1С: Предприятие.

    Ошибка соединения с сервером 1С:Предприятие Не запущен ни один рабочий процесс.

    Бывает, однажды, ни с того и с чего программа 1С нам выдает: Ошибка соединения с сервером 1С:Предприятие Не запущен ни один рабочий процесс. Соединение с базой невозможно.

    Несколько вариантов поиска ошибок и решений:

    1. Глюк сервака — всякое бывает

    Остановите в диспетчере задач процессы: ragent rphost rmngr и Запустите службу «Агент сервера 1С:Предприятие»

    2. При внезапном отключения питания или аналогичных ситуациях — повредился файл srvribrg.lst

    Нужно удалить все из папки srvinfo

    Для Windows зайдите в каталог c:\program files\1c\1cv82\srvinfo, если Linux — то файлы лежат в домашнем каталоге пользователя от имени которого запускается сервис: usr1cv8/home/.1cv8/1C/1cv8

    Запустите службу «Агент сервера 1С:Предприятие». 

    Через Администрирование серверов 1С Предприятия по новой создать кластер 1С и добавить информационные базы

    3. Переименовали сервер на котором служба агента 1С

    После переименования сервера Windows Server 2008 с установленным 1С:Предприятие 8.2, перестала работать служба «Агент сервера 1С:Предприятие 8.2». Она запускается, работает несколько секунд и останавливается. Если подключаться к серверу 1С:Предприятие 8.2 через консоль серверов, то возникает ошибка:

    Ошибка соединения с сервером 1С:Предприятие 8.2 server_addr=tcp://SERVER:1540 descr=Ошибка сетевого доступа к серверу (Windows Sockets — 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на соединение.) line=590 file=.\Src\DataExchangeTcpClientItmpl.cpp

    При подключении к базе на этом сервере имеем следующую ошибку:

    Не запущен ни один рабочий процесс. Соединение с базой невозможно.

    Данная проблема связана с тем, что настройки кластера серверов 1С:Предприятие хранятся в файлах в каталоге srvinfo (путь к нему указывает параметр -d в свойствах службы «Агент сервера 1С:Предприятие»). Поэтому после изменения имени компьютера надо выполнить дополнительно следующие действия:

    Для Windows зайдите в каталог c:\program files\1c\1cv82\srvinfo, если Linux — то файлы лежат в домашнем каталоге пользователя от имени которого запускается сервис: usr1cv8/home/.1cv8/1C/1cv8

    Отредактируйте в любом текстовом редакторе два файла: srvinfo\srvribrg.lst и srvinfo\reg_1541\1CV8Reg.lst. Замените в этих файлах старое имя сервера на новое.

    Запустите службу «Агент сервера 1С:Предприятие». 


    После выполнения указанных действий — Все будет

    если вдруг нет — повторите пункт 2 !

    Ошибка при выполнении операции с информационной базой 1С 8.3

    Одним из самых страшных сценариев для пользователя при работе в 1С является невозможность войти в информационную базу.

    В этой статье мы:

    • рассмотрим причины возникновения ошибок с информационной базой;
    • дадим инструменты для анализа ситуации и исправления ошибки.

    Причины возникновения ошибки

    Если копирование баз в архив выполнялось давно или вообще не выполнялось, ситуация становится близка к катастрофе. Приходится восстанавливать хозяйственные операции за большой период, а это всегда несет с собой риск появления новых ошибок.

    Бухэксперт8 при работе с базой данных рекомендует делать архивные копии 1С не реже  1 раза в месяц, а также перед выполнением исправлений в базе и после закрытия месяца.

    При запуске 1С выдается ошибка выполнения операции с информационной базой. Перезапуск программы не помогает, открыть базу данных для работы в ней — невозможно.

    Причины, вызывающие эту ошибку, могут быть совершенно разными:

    • несовместимая версия файла базы данных;
    • файл базы данных поврежден;
    • ошибка соединения с сервером 1С: Предприятия 8.3;
    • переустановка баз на сервере;
    • проблема с портами на сервере
    • и т.д.

    Ошибки такого уровня очень серьезны. А в случае возникновения их на сервере — однозначно требуют обращения к специалистам. И если организации, устанавливающие клиент-серверный вариант, рассчитанный на большое число пользователей, обычно имеют в штате системных администраторов и программистов, отвечающих за сервер, то пользователи, работающие на обычных файловых вариантах 1С, должны уметь самостоятельно разобраться с этой проблемой и решить ее.

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

    • сетевые проблемы при записи файла;
    • неудачное копирование базы;
    • отключение электропитания в момент работы программы;
    • и т.д.

    В данной статье мы рассмотрим возникновение этой ошибки для пользователей файловых 1С и дадим два инструмента решения проблемы:

    Обязательно сохраните поврежденный файл базы данных перед началом исправления ошибок, так как любые изменения структуры при тестировании имеют необратимый характер. Сделать копию можно обычным копированием файла 1Cv8.1CD.

    Тестирование и исправление

    Внутренняя обработка 1С Тестирование и исправление проверяет и исправляет структуру конфигурации и информационных данных.

    Пошаговая инструкция Тестирования и исправления базы.

    Шаг 1. Запустите 1С в режиме Конфигуратор.

    Шаг 2. В конфигурации выберите пункт меню Администрирование — Тестирование и исправление.

    Перед открытием формы тестирования программа напомнит о необходимости сделать копию базы перед проверкой. Если копия сделана — нажимаете на кнопку Продолжить.

    Шаг 3. Настройка тестирования.

    Форма тестирования предлагает несколько вариантов проверок и режимов, не зависящих друг от друга. Выполнить нужно все проверки в полном объеме, поэтому установите флажки напротив тех вариантов, где они не поставлены по умолчанию.

    Форма тестирования и исправления информационной базы должна иметь следующий вид.

    Рассмотрим основные группы переключателей проверки.

    Группа переключателей Проверки и режимы

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

    Проверка информационной базы:

    • проверка логической целостности информационной базы;
    • проверка ссылочной целостности информационной базы.

    Коррекция обнаруженных ошибок:

    • реиндексация таблиц информационной базы;
    • пересчет итогов;
    • сжатие таблиц информационной базы;
    • реструктуризация таблиц информационной базы.

    Группа переключателей Тестирования

    Варианты тестирования:

    • Тестирование и исправление;
    • Только тестирование.

    Переключатель Тестирование и исправление выставлен по умолчанию, т. е. программа 1С будет не только искать ошибки, но и пытаться их исправить по заложенному разработчиками алгоритму.

    При установке переключателя в положение Только тестирование будет произведен поиск ошибок без исправления. Просмотрев характер ошибок, пользователь сам примет решение: будет ли передавать ситуацию на автоматическое программное исправление или нет.

    Группа При наличии ссылок на несуществующие объекты

    Эта группа определяет, должна ли программа при обнаружении ссылок на несуществующие объекты:

    • создавать объекты;
    • удалять ссылки;
    • не изменять.

    По умолчанию установлен самый безопасный вариант Не изменять. При использовании первых двух вариантов в сложных случаях возможны искажения информации в базах 1С.

    Группа переключателей При частичной потере данных объектов

    Эта группа задает поведение программы, если было обнаружено, что данные объектов были частично потеряны, но оставшихся данных достаточно для того, чтобы восстановить потерянные. Пользователь самостоятельно выбирает вариант:

    • создавать объекты;
    • удалять объект;
    • не изменять.

    По умолчанию установлен самый безопасный вариант Не изменять. При использовании первых двух вариантов в сложных случаях возможны искажения информации в базах 1С.

    Кнопка Выполнить

    Перед нажатие  на кнопку Выполнить, убедитесь, что 1С закрыта у всех пользователей. Проверка выполняется в монопольном режиме. Сохранение копии базы — обязательное условие перед проверкой.

    При нажатии на кнопку Выполнить начинается процесс тестирования и исправления. По окончании проверки программа выдает системное сообщение об успешном окончании тестирования или список возможных проблем.

    При просмотре сообщений обращайте внимание на сообщения типа:

    • Значение должно быть… Сохранено значение…

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

    Утилита chdbfl.exe

    Утилита chdbfl.exe отвечает за проверку физической целостности базы. Именно она спасает пользователей в большинстве случаев при невозможности входа в базу данных.

    Утилита включена в Платформу 1С и поставляется отдельно для каждой Платформы 1С.

    Пошаговая инструкция работы с утилитой chdbfl.exe.

    Определение Платформы 1С

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

    Место установки Платформы на компьютере зависит от ее разрядности:

    • 32-разрядные Платформы 1С устанавливаются в каталог С:\Program Files (x86)\1cv8\
    • 64-разрядные Платформы 1С устанавливаются в каталог С:\Program Files\1cv8\

    Запуск утилиты chdbfl.exe

    В выбранной Платформе 1С перейдите в папку bin и запустите утилиту chdbfl.exe.

    Настройка проверки базы данных

    Для настройки проверки физической целостности необходимо:

    • выбрать файл информационной базы, где выходит ошибка;
    • установить флажок Исправлять обнаруженные ошибки.

    После нажатия на кнопку Выполнить запустится проверка физической целостности файла БД.

    Программа 1С при выполнении проверки должна быть закрыта у всех пользователей. Сохранение копии базы — обязательное условие перед проверкой.

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

    Если рассмотренные здесь методы не помогли войти в базу данных и при запуске 1С выдается ошибка выполнения операции с информационной базой, то для восстановления целостности информационной базы и исправления ошибок следует обратиться к специалистам 1С.

    См. также:

    Если Вы еще не являетесь подписчиком системы БухЭксперт8:

    Активировать демо-доступ бесплатно →

    или

    Оформить подписку на Рубрикатор →

    После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

    Помогла статья?

    Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

    База данных

    — невозможно подключиться к экземпляру SQL Server удаленно

    Переполнение стека
    1. Около
    2. Продукты
    3. Для команд
    1. Переполнение стека Общественные вопросы и ответы
    2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
    3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
    4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
    5. Реклама Обратитесь к разработчикам и технологам со всего мира
    6. О компании
    .

    asp.net — для выполнения команды требуется открытое и доступное соединение. Текущее состояние соединения нарушено

    Переполнение стека
    1. Около
    2. Продукты
    3. Для команд
    1. Переполнение стека Общественные вопросы и ответы
    2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
    3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
    4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
    5. Реклама Обратитесь к разработчикам и технологам со всего мира
    6. О компании

    Загрузка…

    .
    Настройка сервера веб: Домашний веб-сервер, или сам себе хостинг-провайдер / Хабр

    Настройка сервера веб: Домашний веб-сервер, или сам себе хостинг-провайдер / Хабр

    Настройка веб-сервера для публикации веб-развертывание (автономное развертывание)

    • Чтение занимает 10 мин

    В этой статье

    кто Джейсон Ивановby Jason Lee

    Загрузить PDF-файлDownload PDF

    В этом разделе описывается настройка веб-сервера IIS для поддержки автономной веб-публикации и развертывания.This topic describes how to configure an IIS web server to support offline web publishing and deployment.

    При работе со веб-развертывание средством веб-развертывания службы IIS (IIS) 2,0 или более поздней версии существует три основных подхода, которые можно использовать для получения приложений или сайтов на веб-сервер.When you work with Internet Information Services (IIS) Web Deployment Tool (Web Deploy) 2.0 or later, there are three main approaches you can use to get your applications or sites onto a web server. Можно сделать следующее:You can:

    • Используйте службу удаленного агента веб-развертывание.Use the Web Deploy Remote Agent Service. Этот подход требует меньшей настройки веб-сервера, но для развертывания любых данных на сервере необходимо предоставить учетные данные администратора локального сервера.This approach requires less configuration of the web server, but you need to provide the credentials of a local server administrator in order to deploy anything to the server.
    • Используйте обработчик веб-развертывание.Use the Web Deploy Handler. Этот подход гораздо более сложен и требует более первоначальных усилий по настройке веб-сервера.This approach is a lot more complex and requires more initial effort to set up the web server. Однако при использовании этого подхода можно настроить службы IIS, чтобы разрешить пользователям без прав администратора выполнять развертывание.However, when you use this approach, you can configure IIS to allow non-administrator users to perform the deployment. Обработчик веб-развертывание доступен только в службах IIS версии 7 или более поздней.The Web Deploy Handler is only available in IIS version 7 or later.
    • Используйте автономное развертывание.Use offline deployment. Этот подход требует минимальной настройки веб-сервера, но администратор сервера должен вручную скопировать веб-пакет на сервер и импортировать его с помощью диспетчера служб IIS.This approach requires the least configuration of the web server, but a server administrator must manually copy the web package onto the server and import it through IIS Manager.

    Дополнительные сведения о ключевых функциях, преимуществах и недостатках этих подходов см. в разделе Выбор правильного подхода к веб-развертыванию.For more information on the key features, advantages, and disadvantages of these approaches, see Choosing the Right Approach to Web Deployment.

    Да, если сетевая инфраструктура или ограничения безопасности препятствуют удаленному развертыванию.Yes, if your network infrastructure or security restrictions prevent remote deployment. Скорее всего, это происходит в рабочих средах с выходом в Интернет, где веб-серверы изолированы—физическим или брандмауэром и подсетями—от остальной части серверной инфраструктуры.This is most likely to be the case in Internet-facing production environments, where the web servers are isolated—either physically or by firewalls and subnets—from the rest of your server infrastructure.

    Очевидно, что этот подход оказывается менее желательным, если веб-приложения регулярно обновляются.Obviously, this approach becomes less desirable if your web applications are updated on a regular basis. Если инфраструктура разрешается, можно рассмотреть возможность включения удаленного развертывания с помощью обработчика веб-развертывание или службы удаленного агента веб-развертывание.If your infrastructure allows it, you may want to consider enabling remote deployment, using either the Web Deploy Handler or the Web Deploy Remote Agent Service.

    Обзор задачTask Overview

    Чтобы настроить веб-сервер для поддержки автономного импорта и развертывания веб-пакетов, необходимо выполнить следующие действия.To configure the web server to support offline import and deployment of web packages, you’ll need to:

    • Установите IIS 7,5 и рекомендуемую конфигурацию IIS 7.Install IIS 7.5 and the IIS 7 recommended configuration.
    • Установите веб-развертывание 2,1 или более поздней версии.Install Web Deploy 2.1 or later.
    • Создайте веб-сайт IIS для размещения развернутого содержимого.Create an IIS website to host the deployed content.
    • Отключите службу веб-Deployment Agent.Disable the Web Deployment Agent Service.

    Чтобы разместить пример решения, вам также потребуется:To host the sample solution specifically, you’ll also need to:

    • Установите .NET Framework 4,0.Install the .NET Framework 4.0.
    • Установите ASP.NET MVC 3.Install ASP.NET MVC 3.

    В этом разделе будет показано, как выполнить каждую из этих процедур.This topic will show you how to perform each of these procedures. В задачах и пошаговых руководствах этого раздела предполагается, что вы начинаете с чистой серверной сборки, работающей под Windows Server 2008 R2.The tasks and walkthroughs in this topic assume that you’re starting with a clean server build running Windows Server 2008 R2. Прежде чем продолжить, убедитесь в том, что:Before you continue, ensure that:

    • Windows Server 2008 R2 с пакетом обновления 1 (SP1) и все доступные обновления установлены.Windows Server 2008 R2 Service Pack 1 and all available updates are installed.
    • Сервер присоединен к домену.The server is domain-joined.
    • Сервер имеет статический IP-адрес.The server has a static IP address.

    Установка продуктов и компонентовInstall Products and Components

    Этот раздел поможет вам установить необходимые продукты и компоненты на веб-сервере.This section will guide you through installing the required products and components on the web server. Прежде чем начать, рекомендуется запустить Центр обновления Windows, чтобы гарантировать, что сервер будет полностью обновлен.Before you begin, a good practice is to run Windows Update to ensure that your server is fully up to date.

    В этом случае необходимо установить следующие компоненты:In this case, you need to install these things:

    • Рекомендуемая конфигурация IIS 7.IIS 7 Recommended Configuration. Это включает роль веб-сервера (IIS) на веб-сервере и устанавливает набор модулей и компонентов IIS, необходимых для размещения приложения ASP.NET.This enables the Web Server (IIS) role on your web server and installs the set of IIS modules and components that you need in order to host an ASP.NET application.
    • .NET Framework 4,0..NET Framework 4.0. Это необходимо для запуска приложений, созданных на основе этой версии .NET Framework.This is required to run applications that were built on this version of the .NET Framework.
    • Средство веб-развертывания 2,1 или более поздней версии.Web Deployment Tool 2.1 or later. Это устанавливает веб-развертывание (и его базовый исполняемый файл MSDeploy.exe) на сервере.This installs Web Deploy (and its underlying executable, MSDeploy.exe) on your server. Веб-развертывание интегрируется с IIS и позволяет импортировать и экспортировать веб-пакеты.Web Deploy integrates with IIS and lets you import and export web packages.
    • ASP.NET MVC 3.ASP.NET MVC 3. При этом устанавливаются сборки, необходимые для запуска приложений MVC 3.This installs the assemblies you need to run MVC 3 applications.

    Note

    В этом пошаговом руководстве описывается использование установщика веб-платформы для установки и настройки различных компонентов.This walkthrough describes the use of the Web Platform Installer to install and configure various components. Хотя вам не нужно использовать установщик веб-платформы, он упрощает процесс установки, автоматически выявляя зависимости и гарантируя, что вы всегда получаете новейшие версии продукта.Although you don’t have to use the Web Platform Installer, it simplifies the installation process by automatically detecting dependencies and ensuring that you always get the latest product versions. Дополнительные сведения см. в разделе установщик веб-платформы Майкрософт 3,0.For more information, see Microsoft Web Platform Installer 3.0.

    Установка необходимых продуктов и компонентовTo install the required products and components

    1. Скачайте и установите установщик веб-платформы.Download and install the Web Platform Installer.

    2. После завершения установки установщик веб-платформы запустится автоматически.When installation is complete, the Web Platform Installer will launch automatically.

      Note

      Теперь можно запустить установщик веб-платформы в любое время из меню » Пуск «.You can now launch the Web Platform Installer at any time from the Start menu. Для этого в меню Пуск выберите пункт все программы, а затем щелкните установщик веб-платформы Майкрософт.To do this, on the Start menu, click All Programs, and then click Microsoft Web Platform Installer.

    3. В верхней части окна установщика веб-платформы 3,0 щелкните Products (продукты).At the top of the Web Platform Installer 3.0 window, click Products.

    4. В левой части окна в области навигации щелкните платформы.On the left side of the window, in the navigation pane, click Frameworks.

    5. В строке Microsoft .NET Framework 4 , если .NET Framework еще не установлен, нажмите кнопку Добавить.In the Microsoft .NET Framework 4 row, if the .NET Framework is not already installed, click Add.

      Note

      Возможно, вы уже установили .NET Framework 4,0 с помощью Центр обновления Windows.You may have already installed the .NET Framework 4.0 through Windows Update. Если продукт или компонент уже установлен, установщик веб-платформы сообщит это, заменив кнопку Добавить на установленныйтекст.If a product or component is already installed, the Web Platform Installer will indicate this by replacing the Add button with the text Installed.

    6. В строке ASP.NET MVC 3 (Visual Studio 2010) нажмите кнопку Добавить.In the ASP.NET MVC 3 (Visual Studio 2010) row, click Add.

    7. В области навигации щелкните сервер.In the navigation pane, click Server.

    8. В строке рекомендуемой конфигурации IIS 7 нажмите кнопку Добавить.In the IIS 7 Recommended Configuration row, click Add.

    9. В строке средства веб-развертывания 2,1 нажмите кнопку Добавить.In the Web Deployment Tool 2.1 row, click Add.

    10. Нажмите кнопку Установить.Click Install. Установщик веб-платформы отобразит список продуктов,—вместе со всеми связанными зависимостями—, которые необходимо установить, и предложит принять условия лицензионного соглашения.The Web Platform Installer will show you a list of products—together with any associated dependencies—to be installed and will prompt you to accept the license terms.

    11. Ознакомьтесь с условиями лицензионного соглашения и, если вы согласны с условиями, нажмите кнопку принимаю.Review the license terms, and if you consent to the terms, click I Accept.

    12. По завершении установки нажмите кнопку Готово, а затем закройте окно установщик веб-платформы 3,0 .When the installation is complete, click Finish, and then close the Web Platform Installer 3.0 window.

    Если вы установили .NET Framework 4,0 до установки служб IIS, необходимо запустить средство регистрации служб iis ASP.NET (ASPNET _regiis.exe), чтобы зарегистрировать последнюю версию ASP.NET с IIS.If you installed the .NET Framework 4.0 before you installed IIS, you’ll need to run the ASP.NET IIS Registration Tool (aspnet_regiis.exe) to register the latest version of ASP.NET with IIS. В противном случае вы обнаружите, что IIS будет обслуживать статическое содержимое (например, HTML-файлы) без проблем, но при попытке перейти к содержимому ASP.NET будет возвращена Ошибка HTTP 404,0 — не найдена .If you don’t do this, you’ll find that IIS will serve static content (like HTML files) without any problems, but it will return HTTP Error 404.0 – Not Found when you attempt to browse to ASP.NET content. Чтобы убедиться, что ASP.NET 4,0 зарегистрирован, можно использовать следующую процедуру.You can use the next procedure to ensure that ASP.NET 4.0 is registered.

    Регистрация ASP.NET 4,0 в службах IISTo register ASP.NET 4.0 with IIS

    1. Нажмите кнопку Пуски введите Командная строка.Click Start, and then type Command Prompt.

    2. В результатах поиска щелкните правой кнопкой мыши пункт Командная строкаи выберите команду Запуск от имени администратора.In the search results, right-click Command Prompt, and then click Run as administrator.

    3. В окне командной строки перейдите в каталог %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .In the Command Prompt window, navigate to the %WINDIR%\Microsoft.NET\Framework\v4.0.30319 directory.

    4. Введите эту команду и нажмите клавишу ВВОД:Type this command, and then press Enter:

      aspnet_regiis -iru
      
    5. Если вы планируете размещать в системе 64-разрядные веб-приложения в любой момент, необходимо также зарегистрировать 64-разрядную версию ASP.NET с IIS.If you plan to host 64-bit web applications at any point, you should also register the 64-bit version of ASP.NET with IIS. Для этого в окне командной строки перейдите в каталог %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .To do this, in the Command Prompt window, navigate to the %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 directory.

    6. Введите эту команду и нажмите клавишу ВВОД:Type this command, and then press Enter:

      aspnet_regiis -iru
      

    Рекомендуется использовать Центр обновления Windows на этом этапе, чтобы скачать и установить все доступные обновления для новых продуктов и компонентов, которые вы установили.As a good practice, use Windows Update again at this point to download and install any available updates for the new products and components you’ve installed.

    Настройка веб-сайта IISConfigure the IIS Website

    Прежде чем можно будет развернуть веб-содержимое на сервере, необходимо создать и настроить веб-сайт IIS для размещения содержимого.Before you can deploy web content to your server, you need to create and configure an IIS website to host the content. Веб-развертывание может развертывать только веб-пакеты на существующем веб-сайте IIS; Он не может создать веб-сайт.Web Deploy can only deploy web packages to an existing IIS website; it can’t create the website for you. На высоком уровне необходимо выполнить следующие задачи:At a high level, you’ll need to complete these tasks:

    • Создайте папку в файловой системе для размещения содержимого.Create a folder on the file system to host your content.
    • Создайте веб-сайт IIS для обслуживания содержимого и свяжите его с локальной папкой.Create an IIS website to serve the content, and associate it with the local folder.
    • Предоставьте разрешения на чтение удостоверению пула приложений в локальной папке.Grant read permissions to the application pool identity on the local folder.

    Хотя ничто не мешает развертывать содержимое на веб-сайте по умолчанию в службах IIS, этот подход не рекомендуется использовать ни для тестов, ни для демонстрационных сценариев.Although there’s nothing stopping you from deploying content to the default website in IIS, this approach is not recommended for anything other than test or demonstration scenarios. Для имитации рабочей среды следует создать новый веб-сайт IIS с параметрами, зависящими от требований приложения.To simulate a production environment, you should create a new IIS website with settings that are specific to the requirements of your application.

    Создание и Настройка веб-сайта IISTo create and configure an IIS website

    1. В локальной файловой системе создайте папку для хранения содержимого (например, к:\демосите).On the local file system, create a folder to store your content (for example, C:\DemoSite).

    2. В меню Пуск укажите пункт Администрирование, а затем выберите пункт Диспетчер службы IIS (IIS).On the Start menu, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

    3. В диспетчере служб IIS в области подключения разверните узел сервера (например, PROWEB1).In IIS Manager, in the Connections pane, expand the server node (for example, PROWEB1).

    4. Щелкните правой кнопкой мыши узел сайты и выберите команду Добавить веб-сайт.Right-click the Sites node, and then click Add Web Site.

    5. В поле имя сайта введите имя веб-сайта IIS (например, демосите).In the Site name box, type a name for the IIS website (for example, DemoSite).

    6. В поле физический путь введите (или перейдите к) путь к локальной папке (например, к:\демосите).In the Physical path box, type (or browse to) the path to your local folder (for example, C:\DemoSite).

    7. В поле порт введите номер порта, на котором будет размещен веб-сайт (например, 85).In the Port box, type the port number on which you want to host the website (for example, 85).

      Note

      Номера стандартных портов 80 для HTTP и 443 для HTTPS.The standard port numbers are 80 for HTTP and 443 for HTTPS. Однако при размещении этого веб-сайта на порту 80 необходимо будет закрыть веб-сайт по умолчанию, прежде чем можно будет получить доступ к сайту.However, if you host this website on port 80, you’ll need to stop the default website before you can access your site.

    8. Оставьте поле имя узла пустым, если не требуется настроить запись службы доменных имен (DNS) для веб-сайта, а затем нажмите кнопку ОК.Leave the Host name box blank, unless you want to configure a Domain Name System (DNS) record for the website, and then click OK.

      Note

      В рабочей среде вам, скорее всего, потребуется разместить веб-сайт через порт 80 и настроить заголовок узла вместе с соответствующими записями DNS.In a production environment, you’ll likely want to host your website on port 80 and configure a host header, together with matching DNS records. Дополнительные сведения о настройке заголовков узлов в IIS 7 см. в разделе Настройка заголовка узла для веб-сайта (IIS 7).For more information on configuring host headers in IIS 7, see Configure a Host Header for a Web Site (IIS 7). Дополнительные сведения о роли DNS-сервера в Windows Server 2008 R2 см. в разделе Обзор DNS-сервера и DNS-сервер.For more information on the DNS Server role in Windows Server 2008 R2, see DNS Server Overview and DNS Server.

    9. В области Действия в разделе Изменение веб-сайтавыберите пункт Привязки.In the Actions pane, under Edit Site, click Bindings.

    10. В диалоговом окне Привязки сайта нажмите кнопку Добавить.In the Site Bindings dialog box, click Add.

    11. В диалоговом окне Добавление привязки сайта задайте IP-адрес и порт в соответствии с существующей конфигурацией сайта.In the Add Site Binding dialog box, set the IP address and Port to match your existing site configuration.

    12. В поле имя узла введите имя веб-сервера (например, PROWEB1) и нажмите кнопку ОК.In the Host name box, type the name of your web server (for example, PROWEB1), and then click OK.

      Note

      Первая привязка сайта позволяет локально получить доступ к сайту с помощью IP-адреса и порта или http://localhost:85 .The first site binding allows you to access the site locally using the IP address and port or http://localhost:85. Вторая привязка сайта позволяет получить доступ к сайту с других компьютеров в домене, используя имя компьютера (например, http://proweb1:85) .The second site binding allows you to access the site from other computers on the domain using the machine name (for example, http://proweb1:85).

    13. В диалоговом окне Привязки сайта нажмите кнопку Закрыть.In the Site Bindings dialog box, click Close.

    14. В области Подключения щелкните элемент Пулы приложений.In the Connections pane, click Application Pools.

    15. В области Пулы приложений щелкните правой кнопкой мыши имя пула приложений и выберите пункт Основные параметры.In the Application Pools pane, right-click the name of your application pool, and then click Basic Settings. По умолчанию имя пула приложений будет совпадать с именем вашего веб-сайта (например, демосите).By default, the name of your application pool will match the name of your website (for example, DemoSite).

    16. В списке версия .NET Framework выберите .NET Framework v 4.0.30319и нажмите кнопку ОК.In the .NET Framework version list, select .NET Framework v4.0.30319, and then click OK.

      Note

      Для примера решения требуется .NET Framework 4,0.The sample solution requires .NET Framework 4.0. Это не является обязательным для веб-развертывание в целом.This is not a requirement for Web Deploy in general.

    Чтоб