• Announcements

    • Polanskiman

      DSM 6.2-23739   05/23/2018

      This is a MAJOR update of DSM. DO NOT UPDATE TO DSM 6.2 with Jun's loader 1.02b or earlier. Your box will be bricked.  You have been warned.   https://www.synology.com/en-global/releaseNote/DS3615xs

hellion

Members
  • Content count

    154
  • Joined

  • Last visited

  • Days Won

    8

hellion last won the day on May 23

hellion had the most liked content!

Community Reputation

24 Excellent

About hellion

  • Rank
    Advanced Member

Recent Profile Visitors

389 profile views
  1. Я думаю всем плевать. Если переживаете - не регайте, ходите по ip-ку. Ну или регайте не у наших.
  2. XPENology в гос. учреждение

    https://xpenology.org/xpenology-explained/
  3. Сорян, что портянка вышла большая, одна тема тянет другую, поэтому старался описать подробно. Конфиг рабочий и используется мной уже более месяца на 4 устройствах. Писал по памяти, могут быть ошибки, за разъяснениями пишите тут, помогу.
  4. Цель: организовать интернет здорового человека на конечных устройствах (нас, пк, ноуты, телефоны) оптимальным вариантом по простоте и скорости настройки. Краткий roadmap документа: 1. Выбор и покупка VPS 2. Установка OpenVPN на VPS 3. Подключение клиентов 4. Tips & Triks 5. Ссылки "И сказал он: Поехали! " 1. Выбор и покупка VPS На самом деле вариантом VPS с Linux на борту масса, другое дело что их придется поискать. Из зарубежных можно рекомендовать https://www.digitalocean.com/, https://www.vultr.com/, https://www.ovh.com/, https://www.arubacloud.com, ну или поискать на https://lowendbox.com. Не реклама, не претендую на истину в последней инстанции, вполне возможны варианты лучше приведенных. Я воспользовался VPS от arubacloud.com за 1 € (1 vcore, 20 ssd, 1 gb ram, 2 tb inet) расположенной в Италии. После оплаты и проверки платежа, VPS будет доступна через некоторое время. Из предлагаемых ОС я выбрал Ubuntu, манов на русском/английском как настроить OpenVPN на эту систему достаточно. 2. Установка OpenVPN на VPS Подготовка Первым делом сменим пароль суперпользователя root ( и запомним его :)): passwd root Обновим источники приложений и операционную систему до актуального состояния apt-get update apt-get upgrade Установим консольную утилиту Easy-RSA для генерации сертификата сервера и сертификатов для каждого из клиентов, которые будут использоваться для подключения: apt-get install easy-rsa cd /usr/share/easy-rsa nano ./vars Задаем переменную длины ключа: export KEY_SIZE= 1024 Это стандартное значение. Если требуется повышенная безопасность, то можно установить значение 2048. Однако следует помнить, что нагрузка на сервер будет изменяться пропорционально этому значению.Остальные параметры заполняются в соответствие с вашими пожеланиями, например export KEY_COUNTRY="RU" export KEY_PROVINCE="RU" export KEY_CITY="Moscow" export KEY_ORG="MyCompany LTD." export KEY_EMAIL="your_email_address" Включаем использование наших переменных source ./vars Очищаем папку с ключами ./clean-all Генерируем корневой сертификат. В процессе генерации утилита будет использовать уже указанные нами данные в переменных, поэтому нажимаем Enter на все вопросы. ./build-ca Генерируем таким же образом сертификат сервера. Отвечаем Y на запрос о подписывании сертификата. ./build-key-server server Теперь генерируем сертификаты для каждого устройства, которое планируется подключать к серверу. Повторяем команду нужное количество раз, изменяя имя сертификата (в примере сертификат называется macbook) ./build-key macbook Генерируем ключ Диффи-Хеллмана: ./build-dh В результате в папке /usr/share/easy-rsa/keys у нас теперь лежат наши сертификаты и ключи. Установка OpenVPN Ставим vpn: apt-get install openvpn Для версии 2.4-2.5 Если нужна поддержки новых опций таких как tls-crypt, lz4-v2 и прочего, нужно ставить версию 2.4. В репо Ubuntu по умолчанию только 2.3. Правда, к сожалению, эти опции не поддерживаются клиентом Syno, или я просто не смог до конца разобраться как их запустить. Hide Копируем все наши сгенерированные сертификаты и ключи: mkdir /etc/openvpn/keys cp -R /usr/share/easy-rsa/keys/ /etc/openvpn/keys Мы сконфигурируем сервер таким образом, чтобы при подключении к нему с любого устройства весь интернет-трафик заворачивался в туннель и таким образом сменим собственный IP-адрес на IP-адрес нашего VPS. Повышенная секурность Для большей секурности предлагаю создать отдельного, не привилегированного пользователя для запуска службы: adduser --system --shell /usr/sbin/nologin --no-create-home ovpn ( по выбору ) groupadd ovpn ( по выбору ) usermod -g ovpn ovpn Hide Сгенерировать и дать правильные права на чтение ключу ta.key Положить его в папку /etc/openvpn/keys cd /etc/openvpn/keys openvpn --genkey --secret ta.key chmod 544 ta.key Вносим в файл конфигурации сервера openvpn следующие строки: nano /etc/openvpn/server.conf Конфиг сервера # #General # port 1194 #порт OpenVPN сервера proto tcp #протокол на котором он работает, есть вариант с udp dev tun #тип тунеля, бывает еще и tap user ovpn #наш пользователь созданный выше group ovpn #группа нашего пользователя persist-key persist-tun status /var/log/openvpn-status.log #логи log /var/log/openvpn.log #логи verb 3 #уровень детализации логов # #Encryption # auth SHA256 #Тут и ниже параметры шифрования и алгоритмы которые используются tls-server tls-auth /etc/openvpn/keys/ta.key 0 key-direction 0 cipher AES-256-CBC ca /etc/openvpn/keys/ca.crt #Пути до ранее сгенерированных ключей и сертификатов cert /etc/openvpn/keys/vanish.crt key /etc/openvpn/keys/vanish.key dh /etc/openvpn/keys/dh1024.pem mssfix 0 #удаление отпечатков браузера comp-lzo adaptive # #Network # server 10.100.0.0 255.255.255.0 #подсеть из которой будут выдаваться ip клиентам ifconfig-pool-persist ipp.txt #когда клиент подключается, здесь появится запись, так же можно прописать конкретный ip push "redirect-gateway def1" #для пропуска трафика через шлюз push "dhcp-option DNS 8.8.8.8" #наши новые DNS сервера push "dhcp-option DNS 8.8.4.4" keepalive 10 120 Hide Теперь необходимо настроить наш VPS в режим работы маршрутизатора, включаем форвардинг: nano /etc/sysctl.conf убрать комментарий (#) на строке: net.ipv4.ip_forward = 1 Включаем трансляцию адресов чтобы клиенты изнутри могли ходить в интернет через наш VPS: iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o eth0 -j MASQUERADE Чуть позже нужно добавить правило для нормально работы сервисов syno: iptables -A PREROUTING -d ___ip адрес vps____/32 -p tcp -m multiport --dports 80,443,5000,5001(список всех необходимых портов через запятую) -j DNAT --to-destination ___ip_syno_из подсети___ 10.100.0.0/24 Для того чтобы тунель не определяли по обратному пингу я еще блокирую icmp: Iptables -A INPUT -p icmp -m icmp –icmp-type 8 -j REJECT --reject-with icmp-port-unreachable Если куплено доменное имя, то у хостера нужно подправить записи A на ip нашего VPS Это базовый минимум из того что нужно для повседневной работы. Творчество приветствуется. Посмотреть что наворотили можно так: Iptables –vnl Iptables –t nat –vnL Чтобы созданное нами правило пропуска трафика не удалилось после перезагрузки сервера установим пакет iptables-persistent: apt-get install iptables-persistent dpkg-reconfigure iptables-persistent При установке на вопрос о сохранении текущих правил IPv4 отвечаем утвердительно. Стартуем сервер: systemctl start openvpn systemctl status openvpn Вывод нормальной работы Просмотр логов Если интересно смотреть что происходит при старте, можно в отдельном терминале запустить tail –f /var/log/openvpn.log до запуска systemctl start openvpn Hide 3. Настройка клиентов Приступаем к настройке со стороны клиента. Вне зависимости от используемой операционной системы нам всего лишь требуется несколько файлов: корневой сертификат сервера (ca.crt), персональный сертификат клиента и соответствующий ему ключ (macbook.crt и macbook.key), ключ шифрования сессии (ta.key), а также конфигурационный файл для клиента. Первые три файла у нас уже есть на сервере в папке /etc/openvpn/keys - их можно легко скачать с сервера с помощью SFTP или WinSCP. А вот конфигурационный файл нам нужно создать вручную. Создаем на компьютере-клиенте отдельную папку и помещаем туда сертификаты. Затем создаем конфиг для клиента с любым именем и расширением ovpn: Конфиг файл клиента .ovpn сlient dev tun proto tcp remote __ip vps___ 1194 auth SHA256 cipher AES-256-CBC resolv-retry infinite nobind persist-key persist-tun comp-lzo verb 3 mssfix 0 tls-client tls-auth ta.key 1 remote-cert-tls server key-direction 1 ns-cert-type server Hide Сохраняем файл и устанавливаем клиентское приложение. Вариантов множество - для Windows и Linux лучше использовать официальное приложение, которое можно скачать по ссылке https://openvpn.net/index.php/open-source/downloads.html. После установки клиента для Windows достаточно лишь скопировать конфигурационный файл и сертификаты в папку C:\Program Files\OpenVPN\config и запустить подключение. На Android есть два нормальных клиента – OpenVPN Connect (простой интерфейс, быстрая настройка) и OpenVPN для Android – тут выбор тюнинга побогаче. Работают оба стабильно, если сеть меняется с WiFi на сотовую – переключаются корректно. Операция установки аналогична на windows, скормить ovpn, скормить сетрификаты/ключи. А теперь самая мякотка – подключить это все в synology. Xpenology. На готове должны быть ключи, сертификаты, работающий сервер с настройками приведенными выше и доступ по ssh к xpenology. Панель управления – Сеть – Сетевой интерфейс – Создать профиль VPN. К сожалению web-интерфейс рассчитан только на создание подключения с парольной аутентификацией ( и такие сертификаты можно сделать, разница от наших – вводить каждый раз пароль при подключении, что утомительно, но секурнее) Нас же интересует аутентификация по сертификату. Поэтому заполняем предложенные поля любыми данными: *протокол - TCP Щелкаем далее, и устанавливаем следующие настройки: Подключаемся к xpenology по SSh. Затем нам будет необходимо поправить созданный автоматически файл /usr/syno/etc/synovpnclient/openvpn/client_oXXXXXXXXXX. У меня установлен mc, а гуру vi могут это сделать прямо в консоли, остальным может быть удобно скопировать файл к себе в папку общего доступа и отредактировать файл там с использованием более привычных инструментов. При редактировании файла обратите внимание что у Linux и windows разные подходы к обозначению конца строки, поэтому используйте текстовый редактор который сможет сохранить файл в привычном xpenology формате. Конфиг клиента Xpenology В моем случае файл конфигурации выглядит следующим образом: dev tun^M proto tcp^M remote ___ip_VPS___ 1194^M auth SHA256^M cipher AES-256-CBC^M resolv-retry infinite^M nobind^M persist-key^M persist-tun^M comp-lzo^M verb 3^M mssfix 0^M tls-client^M remote-cert-tls server^M key-direction 1^M ns-cert-type server^M ^M up /usr/syno/etc.defaults/synovpnclient/scripts/ovpn-up route-up /usr/syno/etc.defaults/synovpnclient/scripts/route-up redirect-gateway script-security 2 plugin /lib/openvpn/openvpn-down-root.so /usr/syno/etc.defaults/synovpnclient/scripts/ip-down ca ca.crt key ___имя_клиента__.key cert __имя_клиента__.crt tls-auth ta.key 1 Затем с помощью команды mkdir создаем директорию keys в директории /usr/syno/etc/synovpnclient/openvpn/ куда и положим с помощью команды cp имеющиеся у нас файлы сертификатов и ключи от них. С помощью этой же команды необходимо скопировать измененный файл конфигурации обратно в соответствующую директорию. Hide Для того чтобы подключиться к серверу OpenVPN необходимо зайти в Панель управления – Сеть – Сетевой интерфейс, выбрать созданное нами подключение и нажать на кнопку «Подключить» Результат: Все сервисы, в том числе которые в докере/виртуалбоксе будут работать, если вы не забыли указать порты в правилах выше. Доступ к NAS извне будет только через сервер в Италии/Чехии, т.е. увеличится пинг. Заметно. Скорость скачивания торрентов убавится, но зато Ваш провайдер не будет знать чем занимается Ваш NAS. Доступ по локальной сети через Ваш роутер (по адресам вида 192.168.1.ХХ или 192.168.0.ХХ) должен остаться. Даже если в цепочке ноут - NAS у обоих запущен клиент OpenVPN трафик не должен пойти через VPS а напрямую. Таким образом мы сохраним скорость доступа максимально внутри Вашей локальной сети. После подключения и некоторых шаманств с временем (через отдельное приложение в браузере) можно добиться такого результата: Тест думает что мы действительно в Италии. 4. Tricks & Tips Если будем давать пользоваться друзьям то можно сделать подключение проще и красивее. Вместо передачи 4 файлов можно сделать 1. Для этого нужно открыть сгенерированный ранее фалй .ovpn для товарища, и привести его к виду Измененный конфигурационный файл основная часть настроек без изменений ниже добавляем: <tls-auth> -----BEGIN OpenVPN Static key V1----- скопировать данные из файла ta.key -----END OpenVPN Static key V1----- </tls-auth> <ca> -----BEGIN CERTIFICATE----- скопировать данные из файла ca.crt -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- скопировать данные из файла имя_клиента.crt -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- скопировать данные из файла имя_клиента.key -----END PRIVATE KEY----- </key> Hide И сохранить. Таким образом мы интегрировали необходимые ключи и сертификаты в файл настроек клиента. Теперь для подключения нужно передать только один файл .ovpn Если ранее сгенерированные ключи больше не требуется, их надо правильно отключить. Иначе если кто-нибудь их сможет получить – то будет иметь возможность подключаться к вашему серверу. Отзываем сертификат: cd /usr/share/easy-rsa/ source ./vars ./revoke-full ___имя_клиента__ Созданный файл положить в /etc/openvpn/keys/crl.pem В файле конфигурации openvpn сервера добавить строку crl-verify /etc/openvpn/keys/crl.pem И сделать рестар Systemctl restart openvpn Для удобства отлова проблем при подключении не забываем делать в отдельных консолях: tail -f /var/log/openvpn.log tail -f /var/log/openvpn-status.log 5. Используемые материалы https://habr.com/post/233971/ https://community.vscale.io/hc/ru/community/posts/209661629-Установка-и-первичная-настройка-OpenVPN-на-Ubuntu-16-04 https://docs.openvpn.net/ https://habr.com/post/216197/ https://www.linode.com/docs/networking/vpn/set-up-a-hardened-openvpn-server/#client-configuration-file
  5. Я думаю тут все понимают, что законы физики не обманешь. Просто находясь в России покупать местную VPS для VPN бессмысленно.
  6. Завернул весь трафик с сино по VPN. VPS находится в италии, скорость приличная. Расходы на VPS - 1$ в месяц, если кому интересно могу написать подробнее.
  7. Гуд, а если com порта нет, то все?
  8. на 5.2 удобно было - выдавал лог загрузки в tty0. Начиная с версии 6 это зачем то убрали. Как посмотреть не знаю, но тоже интересуюсь - иногда полезно для отлова причин ошибок.
  9. ну а к какой подключается его сайт мы не знаем, и если у него стоит 5ая версия к примеру - то вот и проблема. Это кстати повод в настройках написать : localhost:3306 или 3307 в зависимости от версии. upd. судя по скриншоту стоит 10. на 3307 сервис слушает.
  10. Если на 3306 порту ничего нет - то значит ваша мариадб попросту не запущена. Рестартаните её в центре пакетов.
  11. Вместо localhost вколотите ip xpenology. Мериал дб это вы так написали про Mariadb? База test создана, она есть? И когда вы заходите под ruut вы видите её в phpMyAdmin? Если умеете в ssh, то попробуйте зайти на nas и посмотреть netstat -na4 | grep 3306, что покажет?
  12. Кроме "Unable to connect to DB" что нибудь еще сообщает? Учетка в конфигах сайта, там где прописано подключение к бд правильно указана? Сами при заходе через phpmyadmin под учетными данными попадаете в нужную бд? Учетна запись имеет полные права к нужной бд? Как давали права?
  13. читайте подписи тех кто часто здесь пишет, там указано.
  14. phpVirtualbox на XPEnology

    Так так, а в какую папку ставите?
  15. phpVirtualbox на XPEnology

    Вот тута, что у вас?