Digital tunnel

Корисні сніпети ssh

Тунель на мережевий ssh-хост з інтернету

Для підключення до віддаленого мережевого ssh-серверу, який не має доступу до мережі інтернет, через ssh-сервер в віддаленій мережі котрий досяжний з інтернету

Наприклад:

Після виконання цієї команди ssh двічі спитає пароль (якщо не налаштований вхід за допомогою ключів). Та ви отримаєте ssh-сесію на віддаленому сервері

Тунель на мережевий хост з інтернету

Будуємо тунель на віддалений мережевий хост, який не має доступу до мережі інтернет, через ssh-сервер в віддаленій мережі котрий досяжний з інтернету

Наприклад:

тунель для веб-серверу (80-порт) який має ip-адресу в локальній мережі 192.168.0.10, через досяжний з інтернету ssh-сервер з адресою 99.77.55.33.

Тепер на локальному хості достатньо в переглядачі тенет перейти за адресою http://localhost

 

fo

Телефоні коди мобільних операторів України

synthing

Встановлення та налаштування Syncthing для синхронізації тек в Ubuntu 14.04

Вступ

Існує багато програм, які здатні підтримувати синхронізовані файли між різними комп’ютерами. Syncthing – є доволі переконливим варіантом, який крос-платформний, повністю з відкритим вихідним кодом, дуже гнучкий та легкий у використанні.

Тож нижче буде наведено інструкцію з встановлення та налаштування Syncthing для синхронізації даних на Ubuntu Server 14.04

Встановлення

Додаємо ключі Syncthing репозиторія:

Додаємо репозиторій до APT джерел:

Оновимо список пакунків та встановимо Syncthing:

Зміна параметрів GUI задля віддаленого перегляду

Типово веб-інтерфейс Syncthing доступний лише для з’єднань з поточного комп’ютера. На віддаленому сервері така конфігурація не буде працювати.

Щоб виправити це, необхідно змінити рядок у файлі конфігурації Syncthing. Але ж, файл конфігурації ще не було створено. Дамо Syncthing створити файл автоматично. Для цього ми маємо запустити службу власноруч:

Процес syncthing не є демоном, це означає, що він працює в поточній сесії оболонки. Перший запуск має створити деякі необхідні файли та файл з типовою конфігурацією.

Через деякий час, ви побачите інформаційне повідомлення про ваш Node ID, який виглядає так:

Коли ви це побачите – тож процес ініціалізовано правильно. Тепер ми можемо зупинити його, натиснувши:

Це зупинить процес і поверне нам контроль над терміналом знову.

Тепер ми можемо відредагувати файл конфігурації, який було створено. Відкрийте файл у текстовому редакторі:

Шукаємо секцію, яка розпочинається з gui. Це має виглядати так:

Маємо зробити лише єдину зміну: адресу localhost (127.0.0.1) замінюємо на 0.0.0.0, яка представляє всі мережеві інтерфейси.

Створення Upstart скрипту для автоматичного запуску Syncthing в якості служби

Далі, ми створимо Upstart скрипт для управління процесом запуску. Це дозволить нам автоматично запускати процес Syncthing при завантаженні серверу. Він також дозволить нам запустити Syncthing в якості служби, не забираючи контроль нашої сесії.

Створюємо та відкриваємо Upstart файл з привілеями суперкористувача в редакторі за допомогою команди:

В який додаємо наступні рядки:

Давайте розглянемо, що це означає.

Спочатку загальний опис сервісу. Далі, ми визначаємо, коли служба повинна запускатися та зупинятися. Вказуємо що вона повинна бути запущена після файлової системи та мережеві інтерфейси мають бути підняті. Зупинена служба буде, коли система виходить з нормальних рівнів виконання.

Далі встановимо зміні оточення, що вказує Syncthing не перезавантажуватися, використовуючи свої власні механізми. Це тому, що він насправді породжує новий процес кожного разу без очищення старого. Щоб уникнути цього, ми реалізуємо можливість перезапуску в Upstart сценарії далі.

Наступна змінна середовища встановлює домашню теку, яка буде використовуватися Syncthing. В цій теці будуть шукатися файли конфігурації. Також вказуємо користувача і групу використовуючи setuid  та setgid  параметри відповідно. Маєте замінити user  в усіх 3-х значення на ім’я власного користувача.

Вказуємо шлях до реальної команди, яку ми збираємося виконати. Нарешті, ми використовуємо respawn для того, щоб Upstart автоматично перезапускав процес, якщо він був зупинений передчасно. Також це використовується для автоматичного перезапуску процесу, коли Syncthing намагається перезапустити сам себе.

Запускаємо службу, виконавши:

Веб-інтерфейс

Тепер ми маємо змогу підключитися віддалено до веб-інтерфейсу.

В переглядачі тенет введіть:
http://server_public_IP:8384

screen

Встановлення обкладинки для каталогу

Теки з музичними альбомами у Dolphin виглядають досить похмуро:
screen1

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

Тож, щоб для каталогу відобразити довільне зображення, достатньо створити в ньому файл .directory з таким змістом:

За допомогою додавання дії до mc-меню, можна дещо спростити собі життя:

Встановлення обкладинки для каталогу зводиться до декількох кроків:

  • зберігаємо зображення до теки, якій ми маємо змінити відображення
  • обираємо в файл зображення, тиснемо F2 -> f

Після цього цей невеличкий скрипт перейменує зображення на .cover.{ext} та створить файл .directory.

Зображення обкладинки .cover.{ext} та файл .directory – приховані файли, тож зазвичай у Dolphin вони не будуть відображені.

302LS86

Дружба Єсеніна з доберманом Качалова

Що ж це за загадкова собака Джим, з якою вітається і розмовляє поет, як з самим близьким другом? Як виявляється, це собака гарного знайомого Сергія Єсеніна – досить відомого в той час актора Василя Івановича Качалова. Познайомився поет з ним навесні 1925 року, та разом з дружбою актора від здобув і знайомство з його собакою. Джим – гарний й благородний пес породи доберман – відразу ж дуже прив’язався до Єсеніна, ще й так що не лише радісно зустрічав поета, коли той приходив у гості до Качалова, а й не бажав відпускати. Кожен раз коли Єсенін вже йшов від Качалова супроводжувався довгим прощанням біля дверей в передпокої з його собакою.

(більше…)

Кекс у мікрохвильовій печі (за 3 хвилини)

4 столові ложки (ст.л.) борошна, 6 ст.л. цукру, 2 ст.л. какао, щіпка ванілі – змішуємо в тарілці.

1 яйце збити і додати у тарілку, перемішати.

3 ст.л. молока, 3 ст.л. олії налити в тарілку та перемішати. Консистенція тіста схожа на сметану.

Додати 1/3 чайної ложки соди погашеної оцтом.

Встигнути відігнати добермана від тарілки. 🙂

Розлити в силіконові форми (на половину форми!)

та поставити на 3 хвилини до мікрохвильової печі, потім на хвилинку можна залишити остигати. В процесі випічки кекс гарно підніметься,

і коли буде остигати, може дещо осісти. Із силіконових форм досить легко виймається.

А якщо випікати в чашці, то ймовірніше за все кекс доведеться їсти прямо з неї. Отримуємо 6 маленьких кексів.

Приємного приготування та смачного!

l_46000142

Об’єднання мережевих інтерфейсів в Ubuntu/Debian за допомогою «bonding»

Для цього в Linux існує модуль bonding та утиліти ifenslave. Усі настроювання будуть приведені на прикладі Ubuntu Server 11.04, але для інших версій Ubuntu або Debian вони тотожні.

Налаштування об’єднаних мережевих інтерфейсів

Утиліта ifenslave копіює параметри першого інтерфейсу на всі наступні додадаткові інтерфейси.

Тож встановимо необхідні пакунки:

Тепер необхідно додати модуль bonding до автозавантаження, прописав також й опції для його запуску. Створимо мережевий пристрій bond0:

Завантажимо модуль bonding:

Далі необхідно налаштувати параметри мережевого інтерфейсу bonding, для цього необхідно відредагувати файл налаштувань мережевих інтерфейсів /etc/network/interfaces.

Взагалі то додавати рядок запуску bonding «options bonding mode=0 miimon=100» до modprobe не обов’язково, достатньо запису в /etc/network/interfaces, але іноді bonding не завжди стартує через /etc/network/interfaces. То ж можна продублювати і там і там.

Лишилось перестартувати мережеві інтерфейси:

Список режимів для bonding

mode=0 (balance-rr)
Послідовно надсилає пакети з першого по останній інтерфейс.

mode=1 (active-backup)
Один з мережевих інтерфейсів активний, інші знаходяться в режимі очікування, якщо активний мережевий інтерфейс виходить з ладу, то інший інтерфейс стає активним (привласнив MAC-адресу), замінюючи пошкоджений. Не потребує додаткового налаштування комутатора.

mode=2 (balance-xor)
Передача за схемою [(джерельна MAC-адреса → XOR → MAC-адреса отримувача) %кількість інтерфейсів]. За цією схемою для кожного отримувача обирається певний інтерфейс в відповідності до MAC-адреси. Режим забезпечує балансування навантаження та відмовостійкість.

mode=3 (broadcast)
Усі пакети на всі інтерфейси. Режим забезпечує відмовостійкість.

mode=4 (802.3ad)
IEEE 802.3ad Dynamic Link aggregation (динамічне об’єднання каналів). Створює агрегації груп, що мають одні і ті ж швидкості та дуплексні налаштування. Використовує всі включені інтерфейси в активному зібранні згідно специфікації 802.3ad.
Необхідний комутатор з підтримкою IEEE 802.3ad Dynamic Link aggregation. Більшість параметрів потребує конфігурації для режиму 802.3ad.

mode=5 (balance-tlb)
Адаптивне балансування переданого навантаження: канал зв’язку не вимагає будь-якого спеціального налаштування. Вихідний трафік розподіляється відповідно до поточного навантаження (обчислюється за швидкостями) для кожного інтерфейсу. Вхідний трафік приймається поточним інтерфейсом. Якщо приймаючий інтерфейс виходить з ладу, то наступний займає його місце привласнивши його MAC-адресу.

mode=6 (balance-alb)
Адаптивний перерозподіл навантаження: включає balance-tlb плюс receive load balancing (rlb) для трафіку IPv4 і не вимагає спеціального налаштування. Тобто все так само, як і при mode = 5, тільки і вхідний трафік балансується між інтерфейсами.

Âàëú Øâåäñêîé ïóøêè

Старовинні світлини Чернігова

network_2

Визначення MAC-адреси мережевих інтерфейсів

Щоб подивитись MAC-адресу мережевого інтерфейсу в ОС Windows зазвичай користуються командою IPCONFIG /ALL, котра відображує повну інформацію про мережеві інтерфейси. Але для визначення лише MAC-адреси користуватися нею не досить зручно, тому що виводиться багато зайвої інформації, тим паче якщо комп’ютер має декілька мережевих інтерфейсів. Також за допомогою IPCONFIG немає можливості визначити MAC-адресу віддаленого комп’ютеру.
(більше…)

Безпарольний вхід по ssh

Для того, щоб ssh-сервер кожного разу не запитував пароль користувача, необхідно налаштувати автентифікацію за допомогою відкритого ключа. Наприклад, вам необхідно входити на сервер remote.host під користувачем user.

Примітка: якщо ім’я локального користувача співпадає з ім’ям віддаленого, то user@ можна не вводити

1. Спочатку необхідно створити пару ключів (відкритий та закритий) для локальної системи:

ключ -b вказує на довжину ключа в бітах, типове значення 1024 біт
2. Після створення ключів необхідно передати відкритий ключ до віддаленого серверу:

необхідно буде ввести пароль користувача user на віддаленому сервері

3. Підключаємося до віддаленого серверу, не використовуючи пароль користувача:

Безпарольний вхід для root

Для надання можливості безпарольного входу для root-а, необхідно перевірити на віддаленій системі налаштування ssh-серверу. На віддаленому сервері відкрийте файл налаштувань ssh-серверу та знайдіть рядок:

Цей параметр може мати три значення: yes – дозволити вхід користувачу root, no – заборонити вхід користувачу root, without-password – дозволити вхід лише за допомогою сертифікатів.

1. Підготовка віддаленого ssh-серверу, для отримання ключів за допомогою парольного ssh-доступу:

Встановлюємо значення:

Перезавантажуємо ssh-сервер на віддаленій системі:

2. Передаємо відкритий ключ до віддаленого серверу:

необхідно буде ввести пароль root-а віддаленої системи.

3. Встановлюємо значення:

та знову перезавантажуємо ssh-сервер:

Тепер до віддаленої систему буде можливий доступ за допомогою ssh лише при наявності ключа. Якщо необхідно лишити можливість доступу з правами root і за допомогою паролю, то 3-й пункт виконувати не потрібно.