субота, 12 травня 2012 р.

PPTP VPN на Ubuntu: архівна конфігурація 2012 року та її обмеження

Цей запис зберігає приклад налаштування PPTP-сервера на Ubuntu з травня 2012 року. Його не слід використовувати як готову безпечну конфігурацію для нового робочого сервера: у прикладі вимогу MPPE-шифрування було закоментовано, а MS-CHAP v2/PPTP має відомі обмеження безпеки.

Microsoft попереджає про потенційно небезпечну конфігурацію MS-CHAP v2 без додаткової інкапсуляції в PPTP. Для нового розгортання на підтримуваній Ubuntu доцільно оцінити сучасне VPN-рішення; приклад окремого напряму — офіційні матеріали Ubuntu про WireGuard.

Встановлення й перевірка у старому прикладі

apt-get install ppp pptpd
netstat -ap | grep pptp

У первинному записі очікуваний результат було скорочено до:

1723 LISTENED

Це умовний запис, а не точний рядок виводу netstat. Відкритий TCP-порт 1723 сам по собі не підтверджує працездатність VPN: PPTP також використовує GRE для перенесення пакетів, як описано в RFC 2637.

Файли конфігурації з нотатки

/etc/pptpd.conf:

option /etc/ppp/pptpd-options
logwtmp
localip 10.1.1.1 # адрес сервера в создаваемой виртуальной сети
remoteip 10.1.1.50-59 # адреса, раздаваемые клиентам

Діапазони VPN не мають конфліктувати з мережами клієнтів або іншими маршрутами. Самого вибору адрес недостатньо для налаштування маршрутизації та правил доступу.

/etc/ppp/pptpd-options:

lock
name pptpd
nodefaultroute
refuse-pap
refuse-mschap
require-mschap-v2
#require-mppe-128 # шифрование. В теории должно работать, на практике у меня не вышло его завести
proxyarp
nodefaultroute

Закоментований рядок require-mppe-128 означає, що цей приклад не вимагає MPPE-128. Дубль nodefaultroute залишено як частину первинного фрагмента. Ці налаштування не є підтвердженням захищеного каналу.

Приклад /etc/ppp/chap-secrets:

# Secrets for authentication using CHAP
# client    server    secret            IP addresses
user          pptpd     password        *
user2        pptpd     password2    10.1.1.54

Назви користувачів і паролі тут демонстраційні. У первинній схемі останній стовпець задавав довільну або визначену адресу клієнта. Реальні секрети не слід публікувати чи залишати доступними стороннім.

Наприкінці нотатки службу перезапускали так:

sudo /etc/init.d/pptpd restart

Історичне джерело конфігурації: нотатка про pptpd, Ubuntu та Windows. Наведені команди збережено для розуміння старого середовища.

DataSnap у Delphi: багатоланкові застосунки та добірка матеріалів

У пошуку альтернативи DCOM мене цікавив спосіб будувати багатоланкові застосунки з меншою залежністю від COM та технологій Microsoft. Таким варіантом стала архітектура DataSnap, описана в матеріалах епохи Delphi XE.

Важливе уточнення: назва DataSnap охоплює різні покоління технології. Embarcadero описує перехід від віддаленої роботи через COM/DCOM до відкритішої взаємодії на основі TCP/IP. Тому формулювання «DataSnap взагалі не використовує COM» без указання архітектури та версії було б неточним.

У власних тодішніх тестах мені вдалося запускати відповідний Windows-застосунок під Wine. Це результат перевірки конкретного застосунку й середовища, а не гарантія нативної підтримки всіх операційних систем або сумісності будь-якого сервера та клієнта DataSnap.

Матеріали з початкової добірки

Нижче збережено адреси історичних навчальних матеріалів. Приклади XE слід читати у контексті відповідної версії:

  • Вступ до DataSnap — http://echmel.ru/2011/07/essential-to-datasnap/.
  • Багатоланкова архітектура DataSnap XE для баз даних — http://www.interface.ru/home.asp?artId=26212.
  • Звичайні об’єкти як параметри DataSnap XE — http://www.interface.ru/home.asp?artId=26210.
  • Життєвий цикл серверних методів — http://www.interface.ru/home.asp?artId=26211.
  • Простий сервіс DataSnap XE: калькулятор — http://www.interface.ru/home.asp?artId=25687.
  • Callbacks: механізми зворотного виклику — http://www.interface.ru/home.asp?artId=26208.
  • DataSnap Server Wizard.
  • Створення SSL-сертифікатів для Apache та mod_ssl — http://www.opennet.ru/base/dev/apache_mod_ssl.txt.html.
  • Використання OpenSSL.

Останні два посилання стосуються SSL та OpenSSL. Їхні старі команди й параметри не варто переносити в сучасну конфігурацію TLS без перевірки документації встановлених версій.

Пояснення розвитку архітектури від виробника: Developing DataSnap Applications.

VMware Workstation 8 після оновлення до Ubuntu 12.04: історія виправлення

Ubuntu 12.04 вийшла за планом і запропонувала оновитися. Я натиснув кнопку, забувши про звичні пригоди після оновлень, і… VMware перестала запускатися. Я знайшов сторонній опис виправлення й застосував патч модулів для тодішнього ядра. Нижче збережено параметри та послідовність саме того випадку.

Ubuntu 12.04 давно завершила загальну підтримку; це підтверджує оголошення Ubuntu. Старий патч не є рекомендацією для сучасної інсталяції.

Знімок екрана помилки або запуску VMware Workstation 8 на Ubuntu 12.04
Знімок екрана помилки або запуску VMware Workstation 8 на Ubuntu 12.04
Знімок екрана помилки або запуску VMware Workstation 8 на Ubuntu 12.04
Знімок екрана помилки або запуску VMware Workstation 8 на Ubuntu 12.04
Знімок екрана помилки або запуску VMware Workstation 8 на Ubuntu 12.04
Знімок екрана помилки або запуску VMware Workstation 8 на Ubuntu 12.04

Перевірка версій із початкової нотатки

cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"

uname -r
3.2.0-23-generic-pae

toor@toor-ls:~$ vmware-installer -l
Product Name          Product Version
==================== ====================
vmware-workstation   8.0.2.591240
toor@toor-ls:~$

Історичні команди патча

Джерелом тоді був http://xaxatyxa.ru/_ubuntu/zapuskaetsya-vmware-workstation-ubuntu-12-04.html. У нотатці наведено:

wget http://xaxatyxa.ru/download/vmware802fixlinux320.tar.gz
tar xpvf vmware802fixlinux320.tar.gz
sudo ./patch-modules_3.2.0.sh

Походження й вміст цього старого архіву зараз не підтверджені. Команда sudo виконує сторонній код із правами адміністратора, а адреса HTTP не захищає завантаження. Команди залишено для історичної точності; запускати цей архів без перевірки не слід.

У моєму тодішньому випадку після патча VMware знову запускалася й показувала ліцензійну угоду. Знімки екрана збережено. Для поточної системи потрібно перевіряти сумісність версії VMware з дистрибутивом та ядром і використовувати підтримувані засоби постачальника.

Wine на Ubuntu 12.04: архівні команди, драйвери та приклад PlayOnLinux

У травні 2012 року я зібрав нотатки про встановлення Wine на Ubuntu 12.04, проблеми 3D-графіки та окреме середовище для гри Perfect World у PlayOnLinux. Нижче збережено команди й послідовність того часу з поясненням, чому їх не можна механічно переносити на сучасну систему.

1. Старий приклад встановлення Wine

Після відкриття термінала комбінацією Ctrl+Alt+T пропонувалося виконати:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.5

Wine 1.5 і наведений PPA належать до старого середовища. Нові випуски можуть виправляти старі проблеми сумісності, а можуть і додавати нові — з Wine траплялося й таке :). Потрібну версію слід визначати за конкретним застосунком; актуальні матеріали проєкту доступні на WineHQ.

Історичне джерело цього фрагмента: інструкція для Wine 1.5.2 та Ubuntu 12.04.

2. Графічний драйвер

У тому середовищі виникали проблеми відображення 3D. Оновлення драйвера могло частково допомогти, як і вимкнення окремих ефектів 3D. Проте мій досвід із тодішніми драйверами ATI та NVIDIA не дає підстав однаково оцінювати всі моделі й версії Linux. Причину потрібно шукати в конкретному поєднанні GPU, драйвера, Wine та програми.

Тодішній приклад для NVIDIA:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current=295.33-0ubuntu1~precise~xup1

Це фіксована версія для старого випуску, а не спосіб установити «найновіший драйвер» сьогодні. Для підтримуваної Ubuntu використовуйте інструкцію Ubuntu щодо NVIDIA: вона рекомендує пакети дистрибутива та керування через ubuntu-drivers або «Додаткові драйвери».

3. PlayOnLinux і різні версії Wine

PlayOnLinux допомагає керувати окремими віртуальними дисками та версіями Wine для різних програм. Це описано в його документації. Така організація полегшує перевірку сумісності, але не гарантує запуску будь-якого Windows-застосунку.

У первинному матеріалі наводився такий старий спосіб встановлення:

wget -q "http://deb.playonlinux.com/public.gpg" -O - | sudo apt-key add -
sudo wget http://forum.pwonline.ru/fredirect.php?url=http://deb.playonlinux.com/playonlinux_maverick.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux

У другому рядку початкового HTML адреса відображалася скорочено, а посилання вело через форумний редирект; тут показано адресу з його href. Назва maverick стосується іншого старого випуску Ubuntu й не узгоджується з Precise 12.04. Крім того, apt-key є застарілим засобом. Цей блок збережено для історії, а не для виконання на чинній системі.

4. Приклад Perfect World у тодішньому інтерфейсі

Опис із форумної теми пропонував такі дії:

  1. У PlayOnLinux відкрити «Утиліти → Керування версіями Wine» та встановити Wine 1.2.3.
  2. Натиснути «Установка», вибрати встановлення програми, відсутньої у списку, і перейти до Manual Installation.
  3. Створити новий віртуальний диск через Install a program in a new virtual drive та назвати його, наприклад, pw.
  4. Вибрати Use another version of Wine та Install some libraries, а далі — Wine 1.2.3 замість System.
  5. Додати компоненти POL_Install_d3dx9, POL_Install_directx9, POL_Install_ie6 та POL_Install_vbrun6.
  6. Вибрати PW_Setup.exe. Файли PW_Setup-1.bin, PW_Setup-2.bin та PW_Setup-3.bin мали лежати поруч.
  7. Після встановлення за потреби створити ярлик патчера.

Вимога «тільки Wine 1.2.3» та набір бібліотек стосувалися тогочасної гри. Не потрібно безумовно встановлювати всі старі компоненти чи погоджуватися з кожним діалогом. Для іншого випуску програми спочатку перевірте сумісність і потрібні залежності; довідка PlayOnLinux також радить враховувати результати тестів Wine.

Оригінальні знімки

Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року Wine і PlayOnLinux на Ubuntu 12.04: знімок інструкції 2012 року

Прогноз цены на недвижимость в 2012 году

Приближается Евро 2012. Застройщики и риэлторы так и не получили рост покупательной способности к данному событию. И сегодня, после кратко-временного и не значительного увеличения цен на недвижимость, цены пошли вниз.
Предполагаю, что после Евро 2012 цены на недвижимость резко упадут.
Этому будет способствовать:
- разочарованность в доходности мероприятия 2012 года (цены держали в надежде, что на Евро 2012 помещения продадутся);
- очень низкий уровень покупательской способности населения;
- переизбыток предложений на рынке недвижимости;
- цена на недвижимость в Украине  остается очень завышенной (как известно, за стоимость квартиры без отделки и с плохим видом в Киеве можно купить в такого же размера квартиру в Турции с евроремонтом и возле побережья);
-  кризис в Европе постепенно дойдет и до Украины;
- ипотечных кредитов практически не выдает, а это значит, что люди покупают квартиры "по средствам";
- разрешительная система значительно упростилась.

Прикладываю графики статистики средних цен на недвижимость (взято с http://www.domik.net/nedvizhimost/ceny-kiev.html).

2 последних месяца:

3 года


5 лет

все время


В этом году получим очередной виток цены вниз, как это было когда дошел до Украины кризис (2008 год). Цены упадут еще вниз, скатившись к более разумным, конкурирующим ценам с недвижимостью в других странах. Разумная цена для недвижимости в таком виде, как она сейчас продается (без отделки) в Киеве - это 500$/кв. м.. Т.е. все, что завышено - это исторически сложившаяся спекулятивная цена.

Даже сейчас уже на рынке встречаются преценденты, когда продавцы спускаются до сравнительно разумных цен. Так, например, в Киеве появляются временами в продаже (и сравнительно быстро раскупаются) предложения на офисы  в Киеве с евро-ремонтом по стоимости в 650-850$/кв. м. За такую цену продают те продавцы, которые не готовы ждать годами, пока помещения продадутся и которые хотят продать их в ближайшее время.

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

Як зберегти термінальну сесію після від’єднання SSH: GNU Screen

Фоновий запуск із символом &

Фоновий запуск і збереження процесу після завершення SSH-сеансу — різні завдання. У старій нотатці пропонувалося:

rar a -r ppp.rar arh_papka &

Символ & запускає команду у фоні, але сам по собі не гарантує, що процес переживе закриття термінала: це залежить від оболонки, сигналів та потоків вводу-виводу.

Сесія GNU Screen та повернення до неї

Для роботи з від’єднуваною сесією можна використати GNU Screen:

screen Ваша_команда
screen -r

Замініть заповнювач реальною командою. Щоб від’єднатися від типової сесії Screen, натисніть Ctrl+A, потім D. Для повернення використовується screen -r; за кількох сесій потрібно вибрати потрібну.

Що відбувається за розриву з’єднання

За типової увімкненої autodetach сесія від’єднується при розриві термінала. Це не захищає від перезавантаження сервера чи помилок самої програми. Див. GNU Screen: Detach.

Перевірка мережевої швидкості сервера через iperf: практичний випадок

У цьому випадку я помітив, що передавання із сервера було значно повільнішим за очікувані 100 Мбіт/с. Між сервером і моїм комп'ютером швидкість становила приблизно 0,8–2 Мбіт/с, хоча локальний канал декларувався як 80 Мбіт/с.

Перевірка через Speedtest показувала близько 20–40 Мбіт/с. Вона використовувала інший маршрут і сервер, тому сама по собі не пояснювала вузьке місце. Як же перевірити саме сервер? Для перевірки потрібного з'єднання я використав iperf.

Команди з початкової нотатки

apt-get install iperf
iperf -s
iperf -c НазваниеВашегоСервера -P 20

У цьому прикладі -s запускає сервер, -c задає його адресу, а -P 20 створює 20 паралельних потоків. Тест потрібно погоджувати з власниками обох вузлів: він навантажує канал і потребує доступу до відповідного порту.

Для Windows тоді наводився архів JPerf: http://iperf.ru/wp-content/uploads/2009/07/jperf-2.0.0.zip. Адресу збережено як історичну; вона не є перевіреним сучасним джерелом встановлення.

Перший вимір

------------------------------------------------------------

Client connecting to corp2.net, TCP port 5001

TCP window size: 8.00 KByte (default)

------------------------------------------------------------

[1760] local 192.168.0.99 port 27951 connected with 77.88.252.136 port 5001

[1696] local 192.168.0.99 port 27955 connected with 77.88.252.136 port 5001

[1664] local 192.168.0.99 port 27957 connected with 77.88.252.136 port 5001

[1808] local 192.168.0.99 port 27948 connected with 77.88.252.136 port 5001

[1792] local 192.168.0.99 port 27949 connected with 77.88.252.136 port 5001

[1632] local 192.168.0.99 port 27959 connected with 77.88.252.136 port 5001

[1840] local 192.168.0.99 port 27946 connected with 77.88.252.136 port 5001

[1776] local 192.168.0.99 port 27950 connected with 77.88.252.136 port 5001

[1600] local 192.168.0.99 port 27961 connected with 77.88.252.136 port 5001

[1552] local 192.168.0.99 port 27964 connected with 77.88.252.136 port 5001

[1728] local 192.168.0.99 port 27953 connected with 77.88.252.136 port 5001

[1568] local 192.168.0.99 port 27963 connected with 77.88.252.136 port 5001

[1744] local 192.168.0.99 port 27952 connected with 77.88.252.136 port 5001

[1712] local 192.168.0.99 port 27954 connected with 77.88.252.136 port 5001

[1680] local 192.168.0.99 port 27956 connected with 77.88.252.136 port 5001

[1648] local 192.168.0.99 port 27958 connected with 77.88.252.136 port 5001

[1616] local 192.168.0.99 port 27960 connected with 77.88.252.136 port 5001

[1856] local 192.168.0.99 port 27945 connected with 77.88.252.136 port 5001

[1824] local 192.168.0.99 port 27947 connected with 77.88.252.136 port 5001

[1584] local 192.168.0.99 port 27962 connected with 77.88.252.136 port 5001

[ ID] Interval       Transfer     Bandwidth

[1792]  0.0-10.0 sec   120 KBytes  98.1 Kbits/sec

[1824]  0.0-10.0 sec   360 KBytes   294 Kbits/sec

[1696]  0.0-10.1 sec   184 KBytes   149 Kbits/sec

[1664]  0.0-10.2 sec   152 KBytes   123 Kbits/sec

[1712]  0.0-10.2 sec  48.0 KBytes  38.6 Kbits/sec

[1808]  0.0-10.3 sec   696 KBytes   556 Kbits/sec

[1616]  0.0-10.3 sec  40.0 KBytes  31.8 Kbits/sec

[1760]  0.0-10.7 sec   448 KBytes   342 Kbits/sec

[1584]  0.0-10.7 sec   320 KBytes   245 Kbits/sec

[1776]  0.0-14.1 sec  32.0 KBytes  18.5 Kbits/sec

[1600]  0.0-14.1 sec  32.0 KBytes  18.5 Kbits/sec

[1840]  0.0-14.2 sec  48.0 KBytes  27.8 Kbits/sec

[1552]  0.0-14.1 sec  32.0 KBytes  18.5 Kbits/sec

[1632]  0.0-15.2 sec  56.0 KBytes  30.3 Kbits/sec

[1648]  0.0-18.1 sec  40.0 KBytes  18.2 Kbits/sec

[1568]  0.0-18.1 sec  32.0 KBytes  14.5 Kbits/sec

[1856]  0.0-18.1 sec  40.0 KBytes  18.1 Kbits/sec

[1680]  0.0-23.0 sec  40.0 KBytes  14.3 Kbits/sec

[1728]  0.0-23.1 sec  40.0 KBytes  14.2 Kbits/sec

[1744]  0.0-23.1 sec  40.0 KBytes  14.2 Kbits/sec

[ ID] Interval       Transfer     Bandwidth

[SUM]  0.0-23.1 sec  2.73 MBytes   993 Kbits/sec

Сумарний результат — 993 Кбіт/с — справді був далеким від очікуваного. Висновок стосувався конкретного маршруту, часу й параметрів цього тесту.

Після перевірки провайдером

За моїм тодішнім описом, провайдер повідомив про некоректне спрацювання шейпера. Після зміни обмеження результат покращився:

------------------------------------------------------------

Client connecting to srv1.corp2.net, TCP port 5001

TCP window size: 8.00 KByte (default)

------------------------------------------------------------

[1824] local 192.168.0.99 port 28769 connected with 77.88.252.135 port 5001

[1552] local 192.168.0.99 port 28786 connected with 77.88.252.135 port 5001

[1840] local 192.168.0.99 port 28768 connected with 77.88.252.135 port 5001

[1856] local 192.168.0.99 port 28767 connected with 77.88.252.135 port 5001

[1808] local 192.168.0.99 port 28770 connected with 77.88.252.135 port 5001

[1632] local 192.168.0.99 port 28781 connected with 77.88.252.135 port 5001

[1776] local 192.168.0.99 port 28772 connected with 77.88.252.135 port 5001

[1760] local 192.168.0.99 port 28773 connected with 77.88.252.135 port 5001

[1744] local 192.168.0.99 port 28774 connected with 77.88.252.135 port 5001

[1792] local 192.168.0.99 port 28771 connected with 77.88.252.135 port 5001

[1712] local 192.168.0.99 port 28776 connected with 77.88.252.135 port 5001

[1728] local 192.168.0.99 port 28775 connected with 77.88.252.135 port 5001

[1696] local 192.168.0.99 port 28777 connected with 77.88.252.135 port 5001

[1664] local 192.168.0.99 port 28779 connected with 77.88.252.135 port 5001

[1600] local 192.168.0.99 port 28783 connected with 77.88.252.135 port 5001

[1680] local 192.168.0.99 port 28778 connected with 77.88.252.135 port 5001

[1648] local 192.168.0.99 port 28780 connected with 77.88.252.135 port 5001

[1568] local 192.168.0.99 port 28785 connected with 77.88.252.135 port 5001

[1616] local 192.168.0.99 port 28782 connected with 77.88.252.135 port 5001

[1584] local 192.168.0.99 port 28784 connected with 77.88.252.135 port 5001

[ ID] Interval       Transfer     Bandwidth

[1568]  0.0-10.1 sec  1.77 MBytes  1.47 Mbits/sec

[1744]  0.0-10.1 sec  1.08 MBytes   893 Kbits/sec

[1616]  0.0-10.2 sec  1.55 MBytes  1.27 Mbits/sec

[1680]  0.0-10.2 sec   704 KBytes   564 Kbits/sec

[1584]  0.0-10.2 sec  1.91 MBytes  1.57 Mbits/sec

[1856]  0.0-10.2 sec  1.20 MBytes   981 Kbits/sec

[1552]  0.0-10.2 sec   904 KBytes   723 Kbits/sec

[1760]  0.0-10.2 sec  1.51 MBytes  1.24 Mbits/sec

[1792]  0.0-10.2 sec  1.26 MBytes  1.03 Mbits/sec

[1712]  0.0-10.2 sec  1.70 MBytes  1.39 Mbits/sec

[1776]  0.0-10.2 sec  1.26 MBytes  1.03 Mbits/sec

[1648]  0.0-10.2 sec  1.14 MBytes   938 Kbits/sec

[1728]  0.0-10.2 sec  1.32 MBytes  1.08 Mbits/sec

[1808]  0.0-10.2 sec  1.05 MBytes   858 Kbits/sec

[1824]  0.0-10.3 sec  1.51 MBytes  1.23 Mbits/sec

[1696]  0.0-10.3 sec  1.70 MBytes  1.39 Mbits/sec

[1600]  0.0-10.3 sec  1.75 MBytes  1.43 Mbits/sec

[1840]  0.0-10.3 sec  1.44 MBytes  1.17 Mbits/sec

[1664]  0.0-10.3 sec  1.34 MBytes  1.09 Mbits/sec

[1632]  0.0-11.4 sec  1.67 MBytes  1.23 Mbits/sec

[ ID] Interval       Transfer     Bandwidth

[SUM]  0.0-11.4 sec  27.7 MBytes  20.4 Mbits/sec

У журналах перший тест звертається до corp2.net (77.88.252.136), а наступний — до srv1.corp2.net (77.88.252.135). Це різні кінцеві вузли, тому наведені числа не є контрольованим порівнянням одного й того самого маршруту до та після зміни шейпера. Пояснення провайдера наведене з мого тодішнього опису.

Отримано 20,4 Мбіт/с. Окреме вимірювання між серверами всередині мережі провайдера дало вищий результат:

iperf -c srv1.corp2.net -P 20
------------------------------------------------------------

Client connecting to srv1.corp2.net, TCP port 5001

TCP window size: 16.0 KByte (default)

------------------------------------------------------------

[ 19] local 77.88.252.136 port 42503 connected with 77.88.252.135 port 5001

[  8] local 77.88.252.136 port 42485 connected with 77.88.252.135 port 5001

[  9] local 77.88.252.136 port 42484 connected with 77.88.252.135 port 5001

[  3] local 77.88.252.136 port 42487 connected with 77.88.252.135 port 5001

[  6] local 77.88.252.136 port 42486 connected with 77.88.252.135 port 5001

[  5] local 77.88.252.136 port 42488 connected with 77.88.252.135 port 5001

[  7] local 77.88.252.136 port 42489 connected with 77.88.252.135 port 5001

[ 10] local 77.88.252.136 port 42490 connected with 77.88.252.135 port 5001

[  4] local 77.88.252.136 port 42492 connected with 77.88.252.135 port 5001

[ 13] local 77.88.252.136 port 42491 connected with 77.88.252.135 port 5001

[ 11] local 77.88.252.136 port 42493 connected with 77.88.252.135 port 5001

[ 14] local 77.88.252.136 port 42494 connected with 77.88.252.135 port 5001

[ 12] local 77.88.252.136 port 42495 connected with 77.88.252.135 port 5001

[ 16] local 77.88.252.136 port 42496 connected with 77.88.252.135 port 5001

[ 15] local 77.88.252.136 port 42498 connected with 77.88.252.135 port 5001

[ 18] local 77.88.252.136 port 42497 connected with 77.88.252.135 port 5001

[ 17] local 77.88.252.136 port 42499 connected with 77.88.252.135 port 5001

[ 21] local 77.88.252.136 port 42500 connected with 77.88.252.135 port 5001

[ 22] local 77.88.252.136 port 42501 connected with 77.88.252.135 port 5001

[ 20] local 77.88.252.136 port 42502 connected with 77.88.252.135 port 5001

[ ID] Interval       Transfer     Bandwidth

[  4]  0.0-10.0 sec  7.79 MBytes  6.53 Mbits/sec

[ 10]  0.0-10.0 sec  8.04 MBytes  6.73 Mbits/sec

[ 14]  0.0-10.0 sec  6.90 MBytes  5.77 Mbits/sec

[ 13]  0.0-10.0 sec  8.16 MBytes  6.81 Mbits/sec

[ 15]  0.0-10.0 sec  7.19 MBytes  6.00 Mbits/sec

[ 18]  0.0-10.1 sec  7.20 MBytes  6.00 Mbits/sec

[ 21]  0.0-10.1 sec  7.34 MBytes  6.12 Mbits/sec

[  7]  0.0-10.1 sec  2.73 MBytes  2.27 Mbits/sec

[ 11]  0.0-10.1 sec  7.27 MBytes  6.04 Mbits/sec

[  3]  0.0-10.1 sec  10.6 MBytes  8.83 Mbits/sec

[  5]  0.0-10.1 sec  2.95 MBytes  2.45 Mbits/sec

[ 17]  0.0-10.1 sec  7.20 MBytes  5.96 Mbits/sec

[  6]  0.0-10.2 sec  9.50 MBytes  7.85 Mbits/sec

[ 20]  0.0-10.2 sec  2.42 MBytes  1.99 Mbits/sec

[ 12]  0.0-10.2 sec  7.15 MBytes  5.88 Mbits/sec

[ 22]  0.0-10.2 sec  2.22 MBytes  1.82 Mbits/sec

[  8]  0.0-10.3 sec  2.37 MBytes  1.93 Mbits/sec

[  9]  0.0-10.3 sec  3.23 MBytes  2.62 Mbits/sec

[ 16]  0.0-10.4 sec  4.59 MBytes  3.69 Mbits/sec

[ 19]  0.0-10.4 sec  2.66 MBytes  2.13 Mbits/sec

[SUM]  0.0-10.4 sec    118 MBytes  94.4 Mbits/sec

94,4 Мбіт/с були близькими до номінальних 100 Мбіт/с для цього тесту. Початкові журнали й адреси збережено як історичні дані, а не як запрошення тестувати ці сервери сьогодні.

Як інтерпретувати вимірювання

Паралельні потоки, затримка, втрата пакетів, навантаження вузлів і напрям передавання впливають на результат. 20 потоків не описують продуктивність кожного окремого застосунку.

Старий приклад використовує iperf 2 і порт 5001. iperf3 — інша реалізація: її сервер і клієнт слід використовувати узгоджено. Для сучасного тесту звіряйте параметри з документацією ESnet iperf3, а для старого сценарію — з документацією iperf 2.

K2 відкрила курс з ERP: 61 урок, практика й сертифікат

Перший день у новій ERP часто починається з пошуку потрібної кнопки. Наступний виклик складніший: зрозуміти, що зміниться після натискання. ...