Архив автора: admin

Основы сетевой маршрутизации

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

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

  • Счетчик прыжков
  • Пропускная способность
  • Метрика
  • Длина префикса
  • Задержка

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

Одноадресная маршуртизация

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

Широковещательная маршрутизация

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

Маршрутизация вещания может быть выполнена двумя способами (алгоритмом):

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



    Обратная переадресация — это метод, в котором маршрутизатор заранее знает о своем предшественнике, откуда он должен получать трансляцию. Этот метод используется для обнаружения и удаления дубликатов.

Многоадресная маршрутизация

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

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

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

Anycast маршрутизация

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

Маршрутизация Anycast выполняется с помощью DNS-сервера. Всякий раз, когда принимается пакет Anycast, он запрашивает DNS для отправки. DNS предоставляет IP-адрес, который является ближайшим к нему IP-адресом.

Одноадресные протоколы маршрутизации

Существует два типа протоколов маршрутизации для маршрутизации одноадресных пакетов:

  • Протокол маршрутизации с дистанционным вектором

    Distance Vector — это простой протокол маршрутизации, который принимает решение о маршрутизации количества переходов между источником и получателем. Лучшим маршрутом считается маршрут с меньшим количеством перелетов. Каждый маршрутизатор рекламирует свои лучшие маршруты для других маршрутизаторов. В конечном счете, все маршрутизаторы создают свою топологию сети на основе рекламы своих одноранговых маршрутизаторов. Например, протокол маршрутизации информации (RIP).
  • Протокол маршрутизации состояния канала

    Протокол состояния канала — это несколько сложный протокол, чем «Вектор расстояния». Он учитывает состояния ссылок всех маршрутизаторов в сети. Этот метод помогает маршрутам строить общий график всей сети. Затем все маршрутизаторы рассчитывают наилучший путь для маршрутизации. Например, Open Shortest Path First (OSPF) и промежуточная система для промежуточной системы (ISIS).

Протоколы многоадресной маршрутизации

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

  • DVMRP — Протокол маршрутизации многоадресной передачи расстояния
  • MOSPF — Открытый многоадресный маршрут
  • CBT — базовое дерево
  • PIM — независимая от протокола многоадресная рассылка

Протокол Независимой Многоадресной рассылки (PIM) используется сейчас. Он имеет два вида:

  • Режим PIM Dense

    В этом режиме используются деревья на основе источника. Он используется в плотной среде, такой как LAN.
  • PIM разреженный режим

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

Алгоритмы маршрутизации

Flooding

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

Time to Live (TTL) можно использовать, чтобы избежать бесконечного цикла пакетов. Существует еще один подход к наводнению, который называется выборочным наводнением для снижения накладных расходов в сети. В этом методе маршрутизатор не реализуется на всех интерфейсах, а выборочно.

Shortest Path

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

Общими алгоритмами кратчайшего пути являются:

  • Алгоритм Дейкстры
  • Алгоритм Беллмана Форда
  • Алгоритм Флойда Варшалла



2018-09-25T10:36:24
Вопросы читателей

Защитите себя от писем c приложениями Malware

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

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

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

Как защитить себя от вредоносных программ по почте

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

Когда вредоносный документ попадет в ваш почтовый ящик, вероятность очень высока если:

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

Поэтому, когда вы получаете zip-файл, которому нужен пароль:

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

 



2018-09-25T10:14:08
Закрытие уязвимостей

Как установить Nextcloud 14 на Debian 9

Nextcloud — это автономное приложение для совместного использования файлов, которое позволяет хранить ваши данные, такие как файлы, контакты, изображения, календари, новости и многое другое. Использование Nextcloud для хранения ваших документов может устранить необходимость использования стороннего хостинга, такого как Dropbox, Google Drive, iCloud. В этой статье мы установим Nextcloud 14 на Debian 9 с веб-сервером Apache, MariaDB и PHP 7.0.

Требования:

  • доступ root через SSH к вашему VPS;
  • MySQL или MariaDB 5.5+ или PostgreSQL версии 9 или 10;
  • PHP версии 7.0 или выше;
  • Apache версии 2.4 с веб-сервером mod_php или Nginx (php-fpm);

Войдите в систему через SSH и обновите свою систему

Войдите на свой Debian 9 VPS через SSH как пользователь root

ssh root@Server_IP_Address -p Port_Number

 

Используя следующую команду, все установленные пакеты будут обновлены:

apt update && apt upgrade -y

 

Установка веб-сервера Apache

Во-первых, вам нужно установить веб-сервер для запуска Nextcloud. Выполняя следующую команду, вы установите веб-сервер Apache на свой VPS.

apt-get install apache2

 

Вы можете запустить Apache, а также включить запуск при загрузке сервера с помощью этих команд:

systemctl start apache2

systemctl enable apache2

 

Установка PHP

Установите PHP вместе с некоторыми модулями PHP, которые требуются Nextcloud.

apt install php7.0 libapache2-mod-php7.0 php7.0-common php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring php7.0-intl php7.0-mcrypt php7.0-imagick php7.0-xml php7.0-zip

 

Установите MariaDB и создайте базу данных

Как указано в требованиях, для запуска NextCloud требуется сервер базы данных. Мы установим сервер MariaDB с помощью команды:

apt-get -y install mariadb-server

 

После установки запустите сервер базы данных и включите его при загрузке сервера.

systemctl start mariadb

systemctl enable mariadb

 

Вы можете запустить mysql_secure_installation, который является сценарием после установки, который используется для повышения безопасности вашего сервера MariaDB и установки пароля «root». Вы можете использовать параметры ниже

mysql_secure_installation

Set root password? [Y/n] Y

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

 

Следующим шагом является вход на сервер MariaDB как пользователь root и создание базы данных и пользователя для Nextcloud.

mysql -u root -p

MariaDB [(none)]> CREATE DATABASE nextcloud;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'Пароль';

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> exit;

 

Рекомендуется заменить «Пароль» на надежный пароль, который будет представлять собой комбинацию букв и цифр и не менее 10 символов.

Загрузите и установите Nextcloud

Перейдите на официальный сайт Nextcloud и загрузите Nextcloud 14 на свой Debian 9 VPS. В настоящее время последняя стабильная версия — 14.0.0

wget https://download.nextcloud.com/server/releases/nextcloud-14.0.0.zip

 

Извлеките загруженный ZIP-архив Nextcloud-14.0.0.zip в каталог, к которому имеет доступ Apache, и измените право собственности на каталог Nextcloud на пользователя веб-сервера.

unzip nextcloud-14.0.0.zip -d /var/www/html/

chown -R www-data:www-data /var/www/html/nextcloud/

 

Как установить Nextcloud 14 на Debian 9Как только все предварительные условия Nextcloud будут выполнены, мы можем завершить установку двумя способами: с помощью мастера установки на экране или с помощью командной строки. В этом случае мы будем использовать установку через командную строку. Мы изменим текущий рабочий каталог с помощью этой команды:

cd /var/www/html/nextcloud

 

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

sudo -u www-data php occ maintenance:install --database "mysql" --database-name "nextcloud" --database-user "nextcloud_user" --database-pass "Password" --admin-user "admin" --admin-pass "Password"

 

Вы должны использовать информацию базы данных, которую мы создали ранее в этой статье, и заменить «Пароль» на сильный пароль для пользователя admin «Nextcloud».

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

Nextcloud was successfully installed

 

Добавьте ваш_домен.ру, отредактировав файл config / config.php

nano config/config.php

'trusted_domains' =>

array (

0 => 'localhost',

1 => 'ваш_домен.ру',

),

 

Создание виртуального хоста Apache

Чтобы получить доступ к Nextcloud с доменным именем, вам необходимо создать виртуальный хост. Создайте следующий файл с помощью этой команды:

nano /etc/apache2/sites-available/ваш_домен.ру.conf

 

Не забудьте изменить ваш_домен.ру на требуемый домен

<VirtualHost *:80>



ServerAdmin admin@ваш_домен.ру

DocumentRoot /var/www/html/nextcloud

ServerName ваш_домен.ру

ServerAlias www.ваш_домен.ру



Alias /nextcloud “/var/www/html/nextcloud/”



<Directory /var/www/html/nextcloud>

Options +FollowSymlinks

AllowOverride All



<IfModule mod_dav.c>

Dav off

</IfModule>



SetEnv HOME /var/www/html/nextcloud

SetEnv HTTP_HOME /var/www/html/nextcloud

</Directory>



ErrorLog /var/log/apache2/nextcloud-error_log

CustomLog /var/log/apache2/nextcloud-access_log common



</VirtualHost>

 

Сохраните файл.

Включить только что созданный виртуальный хост:

a2ensite ваш_домен.ру.conf

 

Чтобы завершить и активировать вновь созданную конфигурацию, вам необходимо перезагрузить веб-сервер Apache.

systemctl reload apache2

 

Поздравляем, установка Nextcloud 14 завершена. Теперь вы можете выбрать свой любимый браузер и посетить http://ваш_домен.ру и войти в свой экземпляр Nextcloud, используя учетные данные, указанные в приведенной выше инструкции по установке.



2018-09-24T16:16:25
Установка ПО на Debian

Что такое TCP и как он работает?

Протокол управления передачей (TCP) является одним из самых важных протоколов пакета Internet Protocols. Это наиболее широко используемый протокол для передачи данных в сети связи, такой как Интернет. Читать

Защита OpenVPN с помощью Fail2Ban

В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер.

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

Определение модели «клиент — сервер»

Два процесса удаленного приложения могут взаимодействовать в основном в двух разных моделях:

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

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

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

Коммуникация

Два процесса в клиент-серверной модели могут взаимодействовать различными способами:

  • Сокеты
  • Удаленные вызовы процедур (RPC)

Сокеты

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

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

Удаленный вызов процедур

Это механизм, при котором один процесс взаимодействует с другим посредством вызовов процедур. Один процесс (клиент) вызывает процедуру, лежащую на удаленном хосте. Процесс на удаленном хосте считается сервером. Оба процесса выделяют заглушки. Это сообщение происходит следующим образом:

  • Клиентский процесс вызывает клик-заглушку. Он передает все параметры, относящиеся к локальной программе.
  • Затем все параметры упаковываются (сортируются) и выполняется системный вызов для отправки их на другую сторону сети.
  • Ядро отправляет данные по сети, а другой — получает.
  • Удаленный хост передает данные на заглушку сервера, где он не привязан.
  • Параметры передаются процедуре, и процедура выполняется.
  • Результат отправляется клиенту таким же образом.



2018-09-21T10:52:38
Вопросы читателей