Записи с Меткой ‘ debian

Включение sftp на openssh

Debian 7

cat /etc/ssh/sshd_config
Subsystem sftp /usr/lib/sftp-server

или сначала найти файл sftp-server
find / -name sftp-server

Установка Thinstuff LX Server — Терминальный сервер на linux

Я поднимал его на lxde debian 7.
Если из инета уплывет, чтобы у меня сохранилось.
lx_server_manual
Дистриб сервера lxserver-1.2.1-5366.sh

Копи-паст спасибо.
Краткое вступление

Стоит напомнить, что Thinstuff LX Server позволяет получить удаленный доступ к приложениям на основе X11 с помощью протокола Microsoft RDP (Remote Desktop). Что обеспечивает возможность использования как приложений Linux, так и Windows на одном рабочем столе — без необходимости внсить изменения в инфраструктуру.

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

[]

Домашняя страница продукта находится по адресу: http://www.thinstuff.com/products/lx-server/

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

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

Компания Thinstuff также предоставляет такую возможность, чем мы и воспользуемся. Заодно скажу, что для Windows-версии существует 14-дневная триальная версия с полноценными возможностями, а для Linux — версия без ограничений по времени, но зато с ограничением количества подключений и сессий. Оба варианта доступны на следующей странице: http://www.thinstuff.com/downloads-support/downloads/ . Подробней на возможностях оценочной Linux-версии я остановлюсь чуть позже.

На этой же странице (https://www.thinstuff.com/licensing/) можно посмотреть варианты предоставляемого продукта, а также стоимость лицензий на его использование, которая зависит от количества подключений.
Установка

Для начала необходимо получить дистрибутив LX Server.

Переходим в произвольную директорию по вашему выбору. У меня будет /tmp:

cd /tmp
wget [http://www.thinstuff.com/releases/lxserver-1.2.1-5366.sh](http://www.thinstuff.com/releases/lxserver-1.2.1-5366.sh)

Размер — примерно 60 мегабайт, поэтому потребуется какое-то время на скачивание.

—2009-03-16 16:37:59— http://www.thinstuff.com/releases/lxserver-1.2.1-5366.sh
Распознаётся www.thinstuff.com… 78.46.51.238
Устанавливается соединение с www.thinstuff.com|78.46.51.238|:80… соединение установлено.
Запрос HTTP послан, ожидается ответ… 200 OK
Длина: 62484766 (60M) [application/x-binary]
Сохраняется в каталог: `lxserver-1.2.1-5366.sh’.
100%[===============================================>] 62 484 766 115K/s в 7m 52s
2009-03-16 16:45:50 (129 KB/s) — `lxserver-1.2.1-5366.sh’ сохранён [62484766/62484766]

Для установки необходимо получить права пользователя root. Установка под другим пользователем не поддерживается. Запускаем скрипт установщика:

[root@off2 tmp]# bash lxserver-1.2.1-5366.sh
checking archive integrity …
Thinstuff LX Server
(c) Thinstuff s.r.o.
http://www.thinstuff.com
Welcome to the setup routine for the Thinstuff LX Server.
This setup will install the RDP server on your computer in
the directory /opt/thinstuff/rdpserver. The installation
will take about 132 MB of harddisk space.
For more information on non-interactive execution of this
installer please use:
lxserver-1.2.1-5366.sh —help
Please press to continue

Здесь требуется нажать Enter для продолжения.

detecting old installations …
Please choose one of the following actions:
[I]nstall: This installs 1.2.1, build 5366.
[E]xit: Exit installer without changing anything.
Please enter choice (E/I):

В данном случае, поскольку я уже ставил этот продукт, то установщик обнаружил ее. В данном случае нас интересует новая установка, поэтому выбираем I:

Please enter choice (E/I): i
Ready to begin installation. Please press to continue.

Установщик по любому поводу задаются вопросы ))) Что-то мне это напоминает, но сейчас не об этом. Продолжим, нажав Enter.

BY ANSWERING «Y» TO THE PROMPT AT THE END OF THIS TEXT, YOU ARE CONSENTING
TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF
THIS AGREEMENT, ANSWER «N» TO THE PROMPT AT THE END OF THIS TEXT TO
DISCONTINUE THE INSTALLATION. PLEASE PROMPTLY RETURN THE SOFTWARE PACKAGE
TO Thinstuff s.r.o.
THE FOLLOWING LICENSE GOVERNS YOUR RIGHTS TO THE THINSTUFF LX SERVER(tm)
SOFTWARE. YOU ARE NOT GRANTED ANY RIGHTS IN ANY SOFTWARE INCLUDED IN THIS
SOFTWARE DISTRIBUTION THAT YOU HAVE NOT LICENSED AND FOR WHICH YOU HAVE NOT
PAID THE APPROPRIATE LICENSE FEES TO Thinstuff s.r.o.

1. License. The enclosed computer software and documentation («Software»)
is not being sold and purchased, but is being licensed to you by
Thinstuff s.r.o. («Thinstuff») under a personal, nonexclusive,
nontransferable and paid-up license for use only under the following
terms, and Thinstuff reserves any rights not expressly granted to you
herein. Under the terms of this license you own the media on which the
Software is recorded, but Thinstuff retains all of the rights of
ownership to the Software and all copies of the Software. This license
shall be governed by the laws of the Republic of Austria.

2. Under this license you may:
a.) Make copies of the Software solely for backup or archival purposes.
b.) Make simultaneous use of the Software on a number of computers up
to the number of licenses you purchased for the software.
c.) Transfer your rights under this license for the Software, provided
that you give Thinstuff prior written notice of such transfer and
—Далее—

Предлагается прочитать лицензию на использование. И принять ее:

Do you accept the license (yes/no) ? Yes

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

We would like to collect anonymous information about
the platforms where this product is installed. These
informations would include CPU type, Kernel version
and similar data and would be collected only once
during this setup.
This step is OPTIONAL. If you do not want to send any
information, just answer no to the next question. If
you agree, then the information that is about to be
sent will be displayed before it is actually trans-
mitted.
Would you like to send anonymous system information (yes/no) ? No

И далее следует подготовка и извлечение из архива:

preparing Archive …
extracting Archive …
WARNING: enabling «trust» authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.

* CORBA already running -> skipping
* Starting PostgreSQL: .Done
* lighttpd is already running -> skipping

Finished starting system services…
FINISHED installing database
starting server …

* Starting Configuration Server: .Done
* Proxy Service is already running -> skipping
* Application Launcher is already running -> skipping
* Waiting for RDP server to complete startup:

Finished starting terminalserver services — accepting connections to the
terminalserver
Configuring default session program. Please choose one of the following
options:
[G]nome
[T]wm: Built-in simple windowmanager (default).
Please enter choice (G/T):

Здесь немного остановимся. В комплекте с rdpserver поставляется база данных PostgreSQL и веб-сервер lighttd. При установке проверяется установка этих компонентов и проверка их работоспособности. На некоторых дистрибутивах Linux у меня были проблемы именно на этом шаге. База данных и веб-сервер устанавливались, но установщик не мог подключиться к ним для проверки. При этом lighttpd не мог обнаружить свой файл конфигурации. Это имело место при установке на openSUSE 11.1 и SLED 11 RC1. Может быть, это просто случайность, может еще что-то. Успешная установка была проведена на Fedora 10 и SLES 10 SP2.

Итак, при установке можно выбрать, какой оконный менеджер будет запускаться при входе в систему. В данном случае, поскольку я использую Gnome, то он в пунктах выбора и присутствует. А вот Twm поставляется вместе с LX Server и, если на вашем сервере не ставилась X Window Sustem, то есть возможность использовать именно Twm. Я выбираю Gnome:

Please enter choice (G/T): G
Password (for user root):

Требуется ввести пароль пользователя root. А также потом ответить на вопрос, установить ли скрипт запуска и запускать ли сервис во время старта системы:

Do you want to install the init.d script and start the service on system start
(yes/no) ? Yes
INSTALLATION COMPLETE
Please copy your license to «/opt/thinstuff/rdpserver/licenses»
Default configuration: you can connect to this host with your RDP
client. For server management please connect to this host
using the https protocol (e.g. https://localhost). By default
only the user root has access to the management interface.
Please see the documentation at «/opt/thinstuff/rdpserver/doc»
for further setup and configuration instructions.

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

LX Server устанавливается только в директорию /opt/thinstuff/rdpserver. Установка в другую директорию не поддерживается. Это позволяет гарантировать, что будет установлена только одна копию сервера. LX Server содержит все библиотеки, необходимые для успешного запуска, в своей директории, что позволяет обойтись без необходимости установки каки-либо дополнительных приложений.
Настройка и Администрирование

Поскольку при установке сервера мы решили сразу его и запустить, то он уже работает. Но все же хотелось бы как-то управлять им и в дальнейшем. Для этого предоставляется скрипт для Thinstuff LX Server, находящийся в файле /opt/thinstuff/rdpserver/scripts/rdp-server.init.d-template, который необходимо установить. Дальнейшие шаги будут немного отличаться для различных дистрибутивов, но для основных достаточно будет проделать следующее:

cp /opt/thinstuff/rdpserver/scripts/rdp- server.init.d-template \
/etc/init.d/rdp-server

/usr/lib/lsb/install_initd /etc/init.d/rdp-server

Также, для дальнейшей работы представляют интерес следующие скрипты и директории:

/opt/thinstuff/rdpserver/scripts/startall.sh Запустить сервер.
/opt/thinstuff/rdpserver/scripts/stopall.sh Остановить сервер.
/opt/thinstuff/rdpserver/scripts/init.sh Перезапустить сервер, действует так же, как остановка и последующий запуск.
/opt/thinstuff/rdpserver/licenses/ В этой директории содержатся все текущие лицензии. Лицензии должно храниться только в этом месте; установить лицензию можно простым копированием или перемещением в это место. И для установки или удаления лицензии не требуется перезапускать сервер.

LX Server администрируется и настраивается через веб-интерфейс. Итак, попробуем:

[]

Для входа необходимо ввести следующие данные:

Login — root Password — <пароль пользователя root>
Интерфейс

Интерфейс состоит из четырех частей.

Server StatusПозволяет быстро определить существующие проблемы.
SessionsПоказывает, какие пользователи используют сервисы, и позволяет управлять ими.
RightsПозволяет настроить права доступа к веб-интерфейсу.
SettingsЗдесь можно настроить параметры для терминального сервера и сессий.

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

Server Status

Server Health

[]

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

Существует четыре различных уровня статуса:

Running (зеленый) — Все работает без проблем.

Warning (желтый) — Сервер работает, но один или несколько компонентов испытывают сложности. Это позволяет отслеживать состояние сервера и определить временная ли это проблема или необходимо модернизировать сервер. Пробемы включают:

Центральный процессор, память или другие ресурсы достигли критической точки.

Один или несколько компонентов, но не все, сообщают об ошибках во время операций.

Critical (красный) — Проблемы, подобные описанным в Warning, но они касаются всехрезервных и нерезервных компонентов.

Error (красный) — Один или несколько компонентов не работоспособны и сервер больше не дееспособен. Необходимо перезапустить терминальный сервер.

License Info

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

Valid (зеленый) — Лицензия на данный момент действительна.

Grace (желтый) — Лицензия существует, но срок действия ее истечет в скором времени.

Invalid (красный) — Может иметь несколько причин (неверный hardware id , неверный файл лицензии…)

[]

Sessions

[]

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

Rights

Пользователи

[]

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

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

[]

Группы

[]

Список групп подобен списку пользователей. Он также синхронизируется с системным списком групп каждые несколько секунд. Также можно изменить права для конкретной группы, кликнув на Rights.

Settings

Эта секция позволяет настроить различные аспекты поведения LX Server: от интервала портов до различной оптимизации ЦП и пропускной способности. Существует два вида настроек:

Global Settings

Действуют глобально на весь сервер. Включают в себя в том числе и номер порта, который будет слушать сервер RDP.

Profile Settings

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

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

Level 0 (Standard) — Содержит только часто используемые настройки.
Level 1 (Advanced) — Содержит настройки, присутствующие в Level 0 и дополнительные настройки, контролирующие поведение сервера.
Level 2 (Expert) — Содержит все настройки.

[]

Global Settings

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

Profiles

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

Settings

[]

Используя Мастер Настроек наиболее общие установки легким способом.

Advanced Settings

В этой секции вы можете как изменить настройки профиля, так и управлять этими профилями.

[]

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

Теперь, когда практически все готово, можно попробовать подключиться к серверу. В Linux-клиенте будем использовать для этого Gnome-RDP, в Windows — встроенный клиент RDP. В целом, могу сказать, что в подключении сложности нет никакой, при условии, что все предыдущие шаги проделаны верно. И есть еще один момент, на машине, на которую устанавливали RDP-сервер, не забудьте открыть порты 3389 tcp и 3389 udp.

Итак:

[]

Для начала подключимся к тестовому серверу на этой же машине.

[]

[]

На двух верхним рисунках показаны мои настройки. В принципе, они практически дефолтные.

[]

В открывшемся окне вводим имя пользователя и пароль и…

[]

Получаем Рабочий стол на Рабочем столе.

[]

А тут Opera запущенная на «удаленном Рабочем Столе».

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

[]
Заключение

Честно говоря, опыт использования LX Server у меня не большой. Да и, по большому счету, этот опыт сводится к тестовому использованию его в пределах локальной сети на работе. Поскольку я ставил RDP-сервер на арендованный сервер в дата-центре, то была возможность попробовать поработать через сеть Интернет. С достаточно нормальным подключением, а на работе канал 2 мегабита, работать можно нормально. Если местами и подтормаживает, то не сильно и не критично. Но при выходе в Интернет через телефон с подключением к оператору «Скайлинк» в зоне 1х (если кто не в курсе, скорость до 153 килобит), работа с удаленным сервером не комфортна совершенно. Отображение раочего стола тормозит очень заметно. Правда, я не искал и не пытался настроить сам сервер, возможно и есть варианты, но подсказать на данный момент не могу ничего конкретного.

Мой вердикт будет таковым: достаточно хороший вариант для локальной сети, допустим для сервера 1С. Тем более, что сейчас 1С можно использовать установленным на Linux и в версии терминального сервера от Thinstuff для ОС Linux нет ограничения работоспособности по времени, только по клиентам. В Windows-версии, напомню, ограничение в 14 дней. Хотя и в том, и в другом варианте лицензионным соглашением запрещено использование тестовой версии на производстве.

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

xrdp + lxde

Debian 7

apt-get update
apt-get upgrade
apt-get install lxde-core x11-xkb-utils
apt-get remove network-manager-gnome

Устанавливаем XRDP:

sudo apt-get update

thanks -> http://scarygliders.net/x11rdp-o-matic-information/

С сайта http://scarygliders.net/ берем адрес скрипта для автоматической компиляции XRDP из исходников самой последней доступной версии.

sudo apt-get install git

sudo git clone https://github.com/scarygliders/X11RDP-o-Matic.git
создается в домашнем каталоге папка X11RDP-o-Matic

sudo su

cd X11RDP-o-Matic

./X11rdp-o-matic.sh –justdoit

стартует долгий процесс скачивания, проверки и компиляции модулей для xrdp, обязательно нужно дождатся завершения процедуры.
В папке /X11RDP-o-Matic/packages/ лежат уже готовые собранные пакеты x11rdp_0.7.0-1_amd64.deb, xrdp_0.7.0-1_amd64.deb, пригодятся при переинсталированнии сервера без необходимости еще раз компилировать и собирать xrdp из исходников.

Проверяем установку xrdp:

sudo /etc/init.d/xrdp restart

netstat -lntp |grep 3389

Ставим xrdp в автозагрузку:

sudo update-rc.d xrdp defaults

sudo update-rc.d xrdp enable

Там же в папке /X11RDP-o-Matic/ находится скрипт создания файла *.xsession с командой startlxde для запуска LXDE при подключении пользователей:

./RDPsesconfig.sh

Добавляем в /etc/X11/Xsession после set -e
## Для корретного определения локали
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi

cat /etc/xdg/lxsession/LXDE/autostart

@lxpanel —profile LXDE
# @pcmanfm —desktop —profile LXDE
@bash /etc/keytab
@google-chrome —start-maximized —disable-setuid-sandbox

cat /etc/keytab

#!/bin/bash
sleep 3
setxkbmap -layout «us,ru» -option «grp:alt_shift_toggle»

start usl google
/home/user/.config/google-chrome/Default/Preferences

Настройки нижней панели lxde
cat /home/user/.config/lxpanel/LXDE/panels/panel

# lxpanel <profile> config file. Manually editing is not recommended.
# Use preference dialog in lxpanel to adjust config when you can.

Global {
    edge=bottom
    allign=left
    margin=0
    widthtype=percent
    width=100
    height=26
    transparent=0
    tintcolor=#000000
    alpha=0
    autohide=1
    heightwhenhidden=2
    setdocktype=1
    setpartialstrut=1
    usefontcolor=1
    fontsize=10
    fontcolor=#ffffff
    usefontsize=0
    background=1
    backgroundfile=/usr/share/lxpanel/images/background.png
    iconsize=24
}

Plugin {
    type = launchbar
    Config {
        Button {
            id=lxde-logout.desktop
        }
    }
}

Plugin {
    type = dclock
    Config {
        ClockFmt=%R
        TooltipFmt=%A %x
        BoldFont=0
        IconOnly=0
        CenterText=0
    }
}

Plugin {
    type = xkb
    Config {
        DisplayType=0
        PerAppLayout=1
        DefaultGroup=0
    }
}

Plugin {
    type = launchbar
    Config {
        Button {
            id=/usr/share/applications/google-chrome.desktop
        }
    }
}

 

В /usr/share/applications/google-chrome.desktop дописать ключи —start-maximized —disable-setuid-sandbox

———————————————
Подводные камни с AD

http://g00d.ru/other/2012/10/31/terminalnyy-server-rdp-nx-na-ubuntu-s-ad-avtorizaciey-iz-ad.html

ApacheBench=ab

aptitude install apache2-utils

Натравливать так:
ab -c 1 -n 10 http://site.ru/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking site.ru (be patient)…..done

Server Software: nginx/0.7.67
Server Hostname: site.ru
Server Port: 80

Document Path: /
Document Length: 56349 bytes

Concurrency Level: 1
Time taken for tests: 1.569 seconds
Complete requests: 10
Failed requests: 5
(Connect: 0, Receive: 0, Length: 5, Exceptions: 0)
Write errors: 0
Total transferred: 567473 bytes
HTML transferred: 563493 bytes
Requests per second: 6.37 [#/sec] (mean)
Time per request: 156.945 [ms] (mean)
Time per request: 156.945 [ms] (mean, across all concurrent requests)
Transfer rate: 353.10 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 1 0.1 1 1
Processing: 135 156 37.5 143 258
Waiting: 61 76 37.6 65 182
Total: 136 157 37.5 143 259

Percentage of the requests served within a certain time (ms)
50% 143
66% 144
75% 151
80% 176
90% 259
95% 259
98% 259
99% 259
100% 259 (longest request)

Или

The following line uses keepalive for 50,000 connections, at a concurrency of 50 and a timeout of 20 seconds. Be sure to end root domains with a slash.

ab -k -n 50000 -c 53 -t 20 http://daf-uts.ru/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking daf-uts.ru (be patient)
Finished 2909 requests


Server Software:        nginx/1.2.1
Server Hostname:        daf-uts.ru
Server Port:            80

Document Path:          /
Document Length:        15834 bytes

Concurrency Level:      53
Time taken for tests:   20.004 seconds
Complete requests:      2909
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      46645815 bytes
HTML transferred:       46061106 bytes
Requests per second:    145.42 [#/sec] (mean)
Time per request:       364.450 [ms] (mean)
Time per request:       6.876 [ms] (mean, across all concurrent requests)
Transfer rate:          2277.23 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.8      1      15
Processing:    21  361 381.7    252    2934
Waiting:       18  358 381.6    249    2932
Total:         22  362 381.7    253    2935

Percentage of the requests served within a certain time (ms)
  50%    253
  66%    301
  75%    335
  80%    394
  90%    519
  95%    614
  98%   1463
  99%   2808
 100%   2935 (longest request)

 

php no_exec apache

/etc/php5/apache2/php.ini

disable_functions = dl, shell_exec, posix_mkfifo, exec, system,passthru, symlink, link, set_time_limit, max_execution_time

disable_functions = pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec,pcntl_getpriority, pcntl_setpriority, exec, passthru, shell_exec, system, proc_open, popen

/etc/init.d/apache2 restart

apt through proxy

Доступ через прокси сервер

Если прокси-сервер не был указан при установке системы, то для того, чтобы APT работал с соединением через прокси-сервер, нужно добавить в каталог «/etc/apt/apt.conf.d/» текстовый файл примерно с таким содержанием:

чтобы APT “ходил” через прокси-сервер

Acquire::http::proxy «http://user:password@proxy_IP:proxy_PORT»;
Acquire::ftp::proxy «http://user:password@proxy_IP:proxy_PORT»;
Acquire::::Proxy «true»;
Если сервер без авторизации, то user:password@ следует убрать. Имя файла можно задать произвольное, например, «/etc/apt/apt.conf.d/99proxy». Также можно просто добавить эти же строки в конфигурационный файл «/etc/apt/apt.conf».

install java 7 (jre) Debian squeeze

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install oracle-java7-installer
apt-get install oracle-java7-set-default

 

 java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) Server VM (build 24.55-b03, mixed mode)

 

OpenVPN настройка сервера для филиалов + мои рабочие конфиги

Спасибо

http://www.ylsoftware.com/news/393

 

Соединение нескольких офисов в одну сеть с помощью OpenVPN

 

Итак. Допустим что у некоторой фирмы есть несколько офисов в различных точках города (возможно даже земного шара — не суть важно) и нам нужно обеспечить максимально простой способ взаимодействия локальных сетей различных офисов между собой. Неплохим решением этой задачи будет объединение этих сетей посредством OpenVPN.

Итак. Уточним начальные условия:


Центральный офис (office-0):

Сервер под управлением Debian Linux. Три сетевых интерфейса: eth0, eth1, eth2. Конфигурация следующая:

  • eth0: внешний интерфейс, имеющий реальный ip-адрес a.b.c.d.
  • eth1: первая локальная сеть: 192.168.1.1/24.
  • eth2: вторая локальная сеть: 192.168.2.1/24.

Офис 1 (office-1):

Под управлением Debian Linux. Два интерфейса:

  • eth0: внешний интерфейс, имеющий доступ к адресу a.b.c.d (каким либо образом).
  • eth1: локальная сеть: 192.168.3.1/24.

Офис 2 (office-2)

Сервер полностью аналогичен серверу в первом офисе, за исключением eth1: там адрес 192.168.4.1/24.


Объединять мы будем сервера в виртуальную сеть 192.168.10.0/24. Поэтому на всех серверах должен быть настроен NAT не только для «своих» сетей, но и для сети 192.168.10.0/24.

Будем считать что всё это уже сделано. Приступаем к установке и настройке OpenVPN-сервера:

apt-get install openvpn

Создаём файл конфигурации /etc/openvpn/server.conf следующего содержания:

mode server
tls-server
daemon

ifconfig 192.168.10.1 255.255.255.0

port 1194
proto tcp-server
dev tap
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/office-0.crt
key /etc/openvpn/keys/office-0.key
dh /etc/openvpn/keys/dh1024.pem
client-config-dir /etc/openvpn/ccd
push "route 192.168.10.0 255.255.255.0 192.168.10.1"
route 192.168.3.0/24 192.168.10.101 # Обратная видимость сети филиала
route 192.168.4.0/24 192.168.10.102 # Обратная видимость сети филиала
keepalive 10 120
client-to-client
comp-lzo
persist-key
persist-tun
verb 3
log-append /var/log/openvpn.log

Создаём каталог, в котором будут хранится индивидуальные настройки клиентов:

mkdir /etc/openvpn/ccd

Копируем скрипты для генерации ключей и создаём ключи:

cp -vR /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/
mkdir /etc/openvpn/2.0/keys
ln -s /etc/openvpn/2.0/keys /etc/openvpn/keys
cd /etc/openvpn/2.0/keys
source ./vars
./clean-all
./build-ca
./build-dh

# Ключ для центрального офиса
./build-key-server office-0

# Ключ для первого офиса
./build-key office-1

# Ключ для второго офиса
./build-key office-2

Входе выполнения этих команд будет задан ряд вопросов. Ответы на них вобщем-то очевидны, поэтому заострять на них внимание не будем.

Далее создаём файлы /etc/openvpn/ccd/office-1 и /etc/openvpn/ccd/office-2. Содержание первого:

# приcваиваем ip-адрес
ifconfig-push 192.168.10.101 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.1.0 255.255.255.0 192.168.10.1"
push "route 192.168.2.0 255.255.255.0 192.168.10.1"

# роутинг на сеть второго офиса
push "route 192.168.4.0 255.255.255.0 192.168.10.102"

Содержание второго:

# присваиваем ip-адрес
ifconfig-push 192.168.10.102 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.1.0 255.255.255.0 192.168.10.1"
push "route 192.168.2.0 255.255.255.0 192.168.10.1"

# роутинг на сеть первого офиса
push "route 192.168.3.0 255.255.255.0 192.168.10.101"

На этом настрока сервера завершена. Перезапускаем его:

/etc/init.d/openvpn restart

Убеждаемся что поднялся интерфейс tap0:

ifconfig tap0

Переходим к настройке офисов. Рассмотрим только один. Второй будет сделан аналогично, за исключением имён сертификатов.

Устанавливаем openvpn:

apt-get install openvpn
mkdir /etc/openvpn/keys

Создаём файл конфигурации /etc/openvpn/client.conf:

client
dev tap
proto tcp

# адрес сервера в центрально офисе
remote a.b.c.d 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
ns-cert-type server
ca ca.crt
cert /etc/openvpn/keys/office-1.crt
key /etc/openvpn/keys/office-1.key
log-append /var/log/openvpn.log

Далее нам нужно поместить файлы office-1.* и ca.crt из каталога /etc/openvpn/keys сервера в каталог /etc/openvpn/keys клиента.

После этого запускаем сервис:

chkconfig openvpn on
service openvpn start

Убеждаемся что поднялся интерфейс:

ifconfig tap0

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

На этом всё. Более подробную информацию можно найти в документации по openvpn.

 

Решил собрать на Debian 7, а клиентами расставить 2 х Mikrotik 2011UAS 2HnD IN.

Все шикарно встало, сети просматривают друг друга полностью.

Конфиги:

mode server
tls-server
daemon

ifconfig 192.168.254.1 255.255.255.0

port 1194
proto tcp-server
dev tap
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/office-0.crt
key /etc/openvpn/keys/office-0.key
dh /etc/openvpn/keys/dh1024.pem
client-config-dir /etc/openvpn/ccd
push "route 192.168.254.0 255.255.255.0 192.168.254.1"
route 192.168.3.0 255.255.255.0 192.168.254.101
route 192.168.4.0 255.255.255.0 192.168.254.102
user nobody
group nogroup
keepalive 10 120
client-to-client
persist-key
persist-tun
verb 4

tun-mtu 1500
tun-mtu-extra 32
mssfix 1300
#keepalive 15 120
#fragment 1200

log-append /var/log/openvpn.log
status /var/log/openvpn/openvpn-status.log

 

1 Клиент на сервере: /etc/openvpn/ccd/office-1

# приcваиваем ip-адрес
ifconfig-push 192.168.254.101 255.255.255.0

iroute 192.168.3.0 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.0.0 255.255.255.0 192.168.254.1"
push "route 192.168.1.0 255.255.255.0 192.168.254.1"

# роутинг на сеть второго офиса
push "route 192.168.4.0 255.255.255.0 192.168.254.102"

 

2 Клиент  на сервере: /etc/openvpn/ccd/office-2

#ip-адрес
ifconfig-push 192.168.254.102 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.0.0 255.255.255.0 192.168.254.1"
push "route 192.168.1.0 255.255.255.0 192.168.254.1"

# роутинг на сеть первого офиса
push "route 192.168.3.0 255.255.255.0 192.168.254.101"

Клиент Mikrotik 1 филиал

name="ovpn-out1" mac-address=02:41:A8:A1:6C:A8 max-mtu=1500 connect-to=93.123.171.252 port=1194 mode=ethernet user="nobody" password="" profile=default certificate=cert1 auth=sha1 cipher=none add-default-route=no

Iptables на сервере:

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -I POSTROUTING -o tap0 -j MASQUERADE

iptables -F FORWARD
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tap0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o tap0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -j REJECT

iptables -F INPUT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --source-port 80 -j ACCEPT
iptables -A INPUT -p tcp --source-port 21 -j ACCEPT
iptables -A INPUT -p tcp --source-port 22 -j ACCEPT

+ не забываем про Fail2ban на серв.

Firewall на Mikrotik 1 филиала

Filter:

;;; OpenVPN
     chain=input action=accept protocol=tcp dst-port=1194 

 9   chain=input action=accept protocol=tcp in-interface=ovpn-out1 

10   chain=forward action=accept src-address=192.168.0.0/24 dst-address=192.168.3.0/24 

11   chain=forward action=accept src-address=192.168.3.0/24 dst-address=192.168.0.0/24 

12   chain=forward action=accept protocol=icmp 

13   ;;; drop ssh brute forcers
     chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=22 

14   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist 
     address-list-timeout=1w3d dst-port=22 

15   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3 
     address-list-timeout=1m dst-port=22 

16   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2 
     address-list-timeout=1m dst-port=22 

17   chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22

Nat:

chain=srcnat action=masquerade src-address=192.168.3.0/24

Также подкладываем файлы сертификатов

[root@MikroTik_Mercedes] > certificate print
Flags: K - decrypted-private-key, Q - private-key, R - rsa, D - dsa 
 0 KR name="cert1" subject=C=RU,ST=MOSCOW,L=MOSCOW,O=XXX,CN=office-1,name=office-1,emailAddress=xxx@GMAIL.COM 
      issuer=C=RU,ST=MOSCOW,L=MOSCOW,O=XXX,CN=srv-vpn,name=srv-vpn,emailAddress=xxx@GMAIL.COM serial-number="02" email=xxx@GMAIL.COM 
      invalid-before=jul/07/2013 08:09:59 invalid-after=jul/05/2023 08:09:59 ca=yes 

 1    name="cert2" subject=C=RU,ST=MOSCOW,L=MOSCOW,O=XXX,CN=srv-vpn,name=srv-vpn,emailAddress=xxx@GMAIL.COM 
      issuer=C=RU,ST=MOSCOW,L=MOSCOW,O=XXX,CN=srv-vpn,name=srv-vpn,emailAddress=xxx@GMAIL.COM serial-number="D15C8FD9479AE615" 
      email=xxx@GMAIL.COM invalid-before=jul/07/2013 07:53:38 invalid-after=jul/05/2023 07:53:38 ca=yes

 

 

https://terrty.net/2014/softether-vpn-ubuntu/ — softether