По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Router-on-a-stick (роутер на палочке) - это термин, часто используемый для описания схемы, состоящей из маршрутизатора и коммутатора, которые соединены с использованием одного канала Ethernet, настроенного как 802.1Q транк. Стандарт 802.1Q используется для тегирования трафика, для передачи информации о принадлежности к VLAN. В этой схеме на коммутаторе настроено несколько VLAN и маршрутизатор выполняет всю маршрутизацию между различными сетями или VLAN (Inter-VLAN routing). /p> Хотя некоторые считают, что термин «маршрутизатор на палочке» звучит немного глупо, это очень популярный термин, который широко используется в сетях, где нет коммутатора 3-го уровня. Также такую схему иногда называют “леденец” – lollypop. Находите некоторое сходство? Пример Наш пример основан на сценарии, с которым вы, скорее всего, столкнетесь при работе с сетями VoIP. Поскольку реализации VoIP требуют разделения сети передачи данных и сети голоса для маршрутизации пакетов между ними, вам необходим либо коммутатор 3-го уровня, либо маршрутизатор. Эта конфигурация обеспечивает доступность и стабильность VoIP, особенно в часы пик трафика в вашей сети. Пакеты, передающиеся между VLAN маршрутизируются через один роутер, подключенный к коммутатору, используя один физический порт, настроенный как транк на обоих концах (коммутатор и маршрутизатор). Этот пример покажет вам, как настроить маршрутизатор и коммутатор Cisco для создания между ними 802.1Q транка и маршрутизации пакетов между вашими VLAN. Шаг 1 – Настройка коммутатора Первым шагом является создание необходимых двух VLAN на нашем коммутаторе Cisco и настройка их с IP-адресом. Поскольку все коммутаторы Cisco содержат VLAN1 (VLAN по умолчанию), нам нужно только создать VLAN2. Switch# configure terminal Switch(config)# vlan2 Switch(config-vlan)# name voice Switch(config-vlan)# exit Switch(config)# interface vlan1 Switch(config-if)# ip address 192.168.10.2 255.255.255.0 Switch(config-if)# exit Switch(config)# interface vlan2 Switch(config-if)# ip address 192.168.20.2 255.255.255.0 Switch(config-if)# exit Далее, нам нужно создать транк порт, который будет соединятся с маршрутизатором. Для этой цели мы выберем порт GigabitEthernet 0/1 Switch# configure terminal Switch(config)# interface gigabitethernet 0/1 Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# spanning-tree portfast trunk При помощи данных команд мы определили, что транк будет использовать инкапсуляцию 802.1Q, установили порт в режим транка и включили функцию portfast trunk spanning-tree, чтобы гарантировать, что порт будет пересылать пакеты немедленно при подключении к устройству, например, маршрутизатору. Внимание: команда spanning-tree portfast trunk не должна использоваться на портах, которые подключаются к другому коммутатору, чтобы избежать петель в сети. Шаг 2 – Настройка маршрутизатора Мы закончили с коммутатором и можем переходить к настройке конфигурации нашего маршрутизатора, чтобы обеспечить связь с нашим коммутатором и позволить всему трафику VLAN проходить и маршрутизироваться по мере необходимости. Создание транка на порте маршрутизатора не сильно отличается от процесса, описанного выше - хотя мы транк на одном физическом интерфейсе, мы должны создать под-интерфейс (sub-interface) для каждого VLAN. Router# configure terminal Router(config)# interface gigabitethernet0/1 Router(config-if)# no ip address Router(config-if)# duplex auto Router(config-if)# speed auto Router(config-if)# interface gigabitethernet0/1.1 Router(config-subif)# encapsulation dot1q 1 native Router(config-subif)# ip address 192.168.10.1 255.255.255.0 Router(config-subif)# interface gigabitethernet0/1.2 Router(config-subif)# encapsulation dot1q 2 Router(config-subif)# ip address 192.168.20.1 255.255.255.0 Чтобы сформировать транк с нашим коммутатором, необходимо создать один под-интерфейс для каждого VLAN, сконфигурированного на нашем коммутаторе. После создания под-интерфейса мы назначаем ему IP-адрес и устанавливаем тип инкапсуляции 802.1Q и указываем номер VLAN, к которому принадлежит под-интерфейс. Например, команда encapsulation dot1q 2 определяет инкапсуляцию 802.1Q и устанавливает под-интерфейс на VLAN 2. Параметр native который мы использовали для под-интерфейса gigabitethernet0/1.1, сообщает маршрутизатору, что нативный vlan - это VLAN 1. Это параметр по умолчанию на каждом коммутаторе Cisco и поэтому должен совпадать с маршрутизатором. Для проверки можно использовать на роутере команду show vlans, где будут отображены созданные нами под-интерфейсы, а также при помощи команды show ip route в таблице маршрутизации мы должны увидеть наши под-интерфейсы. Готово! Теперь при помощи роутера мы можем маршрутизировать файлы между разными VLAN.
img
Одной из основных составляющих IP – PBX на базе Asterisk являются SIP – транки в сторону провайдера и оконечные телефонные аппараты, или как их принято называть «пиры» (peers). Сегодня мы расскажем о способе автоматизации мониторинга состояния транков и пиров, с отправлением на почту системного администратора. Мониторинг пиров Итак, начнем с мониторинга состояния пиров. Для этого мы напишем небольшой bash – скрипт. Предположим, что у нас есть 3 площадки, А, B и C. АТС Asterisk находится на площадке A. Предварительно, перед началом работы, создадим 2 файлы: первый – для логов нашего скрипта, а второй, будет служебным, и будет использоваться только в рамках исполнения скрипта. Внутри каждого скрипта, мы будем писать комментарии к каждой из его строк. Скачать скрипт мониторинга пиров вы можете по ссылке ниже: Скачать скрипт мониторинга пиров [root@asteriskpbx]# touch /home/admin/log_mail.txt [root@asteriskpbx]# touch /home/admin/message.txt Далее, создаем переменные для нашего скрипта: #!/bin/sh LOGSIZE=`ls -l /home/admin/log_mail.txt | awk '{ print $5 }'` //проверяем размер файла с логами problempeers=`/usr/sbin/asterisk -rx 'sip show peers' | grep UNKNOWN` //выводим командой 'sip show peers' через консоль Asterisk, и затем, с помощью команды grep UNKNOWN фильтруем пиры, чтобы отобразить только те, состояние которых является UNKNOWN GWB=`ping -c4 11.22.33.44 | grep 'received' | awk -F',' '{ print $2}' | awk '{ print $1}'` //по протоколу ICMP, пингуем IP – адрес шлюза на удаленной площадке четырьмя пакетами. Если все ОК, и шлюз доступен, до значение переменной будет равно 4. В противном случае, оно будет равно 0. GWC=`ping -c4 44.33.22.11 | grep 'received' | awk -F',' '{ print $2}' | awk '{ print $1}'` //аналогичным образом пингуем шлюз на площадке C ResultB="" //служебная переменная ResultC="" //служебная переменная FILENAME=/home/admin/message.txt //записываем в переменную путь к лог- файлам LOGFILE=/home/admin/log_mail.txt DATE="`date +%d.%m.%Y" "%H:%M:%S`" //выводим текущую дату и время в формате дд.мм.гггг чч:мм:сс echo "$problempeers" > /home/admin/message.txt //записываем содержимое переменной problempeers в служебный файл. В этой переменной содержится результат вывода команды по статусу пиров. FILESIZE=$(stat -c%s "$FILENAME") //проверяем размер служебного файла message.txt. Если в нем есть какая-либо информация, значит есть проблемы с пирами (имеются в статусе UNKNOWN), если он пустой, то все ОК. На этом этапе, мы сформировали все необходимые переменные и у нас имеются все необходимые для формирования письма (если надо) на email системному администратору. Перейдем к исполнительной части скрипта: if [ $GWB -eq 0 ]; then //если число ответов шлюза на площадке B на пинг равно 0, то запускаем процесс формирования письма ResultB ="на площадке B НЕ ДОСТУПЕН!" //формируем часть текста. Мы ее включим в заголовок письма else ResultB ="" //если все таки шлюз ответил на пинг, то оставляем переменную пустой fi if [ $GWС -eq 0 ]; then //если число ответов шлюза на площадке С на пинг равно 0, то запускаем процесс формирования письма ResultС="на площадке С НЕ ДОСТУПЕН!" //по аналогии. Указываем в заголовок, что роутер C недоступен else ResultС ="" //если все ОК, то оставляем переменную пустой fi if [ $FILESIZE -ne 1 ]; then //если наш служебный файл message.txt не пустой, то проверяем следующее условие if [ $GWB -eq 0 ] || [ $GWC -eq 0 ]; then //если хотябы один из роутеров недоступен по пинг, то переходим к следующему пункту скрипта echo "$problempeers"| mailx -s "Проблемы с SIP пирами | Роутер $ResultB $ResultC!" -r "info@merionet.ru" youremail@some.ru </home/admin/message.txt && //отправляем на почту письмо, где указываем, что у нас есть проблемы с пирами, и, если какой-то из роутеров не доступен, указываем это. В теле письма мы отправляем вывод недоступных пиров. echo "FAIL :: $DATE :: Some problems with phones" >> "$LOGFILE" //параллельно с отправкой письма, записываем в лог файл запись, что у нас есть проблемы с пирами (в вывод так же можно добавить с какими именно) else echo "$problempeers"| mailx -s "Проблемы с SIP пирами | Роутеры ДОСТУПНЫ!" -r "info@merionet.ru" youremail@some.ru < /home/admin/message.txt && //если оба наших роутера доступны, то мы просто формируем письмо, в котором указываем перечень недоступных пиров. echo "FAIL :: $DATE :: Some problems with phones" >> "$LOGFILE" //аналогично вносим запись в лог – файл. fi else echo "OK :: $DATE :: all phones are OK" >> "$LOGFILE" //если служебный файл пустой, то мы вносим запись в лог – файл что все хорошо и проверка успешно прошла. fi if [ $LOGSIZE -ge 150000 ]; then //елси размер нашего лог – файла больше или равен 150 КБ, то мы очищаем этого (можете подкрутить эту величину, как вам угодно.) cat /dev/null > /home/admin/log_mail.txt fi cat /dev/null > /home/admin/message.txt //на выходе чисти служебный файл message.txt, для последующего использования Теперь давайте проверим, что приходит нам на почту в случае, если несколько пиров стали недоступны, но все роутеры доступны: Мониторинг транков Отлично, перейдем к формированию скрипта по мониторингу транков. Здесь все несколько проще, и мы просто будем сравнивать общее количество транков, и количество зарегистрированных транков: Скачать сам скрипт можете ниже: Скачать скрипт мониторинга транков #!/bin/bash ALLTRUNKSMINIMUM="`/usr/sbin/asterisk -rx "sip show registry"`" //выводим регистрации по протоколу SIP ALLTRUNKS=`echo "$ALLTRUNKSMINIMUM" |grep "SIP registrations" |awk '{print $1}'` //численное обозначение всех имеющихся транков REGTRUNKS=`/usr/sbin/asterisk -rx "sip show registry" |grep Registered |wc -l` //численное обозначение всех зарегистрированных транков DATE="`date +%d.%m.%Y" "%H:%M:%S`" //формируем текущую дату, для логов LOGFILE=/home/admin/log_mail.txt //для лог – файла, указываем тот же файл, что и для скрипта по мониторингу пиров if [ "$REGTRUNKS" -lt "$ALLTRUNKS" ]; then //если число зарегистрированных транков меньше чем число всех транков sleep 5 //ждем 5 секунд echo `/usr/sbin/asterisk -rx "sip reload"` \ перезагружаем модуль SIP, в целях перерегистрации. Эта команда автоматически перерегистрирует транк на оборудовании провайдера, после чего, он, зачастую, начинает работать. sleep 5 //ждем еще 5 секунд VAR=`/usr/sbin/asterisk -rx "sip show registry"` //после перезагрузки SIP модуля, снова смотрим SIP –регистрации. Если данная команда не дала своих результатов, то в переменной VAR будет записаны не работающие транки. Если она помогла, то на email админу придет рабочий вывод всех зарегистрированных транков. Это весьма удобно. echo "$VAR"| mailx -s "Мониторинг транков" -r "info@merionet.ru" youremail@some.ru // отправляем письмо на почту системного администратора, с выводом SIP регистраций после перезагрузки модуля else echo "OK :: $DATE :: all trunks are OK" >> "$LOGFILE" //если число зарегистрированных транков, равно общему числу, то записываем в лога файл соответствующую запись. fi Теперь, когда мы автоматизировали процессы мониторинга состояния на Asterisk, сделаем выполнение этих скриптов регулярным. Сохраним наши скрипты в формате .sh, можно сделать это, например, в Notepad ++. Сделаем выполнение мониторинг транков раз в 2 минуты, а выполнение мониторинга пиров раз в 10 минут. Перед загрузкой скриптов на сервер, дадим им необходимые права и, что очень важно, преобразуем скрипт в Linux формат: [root@asteriskpbx]# dos2unix peer.sh //преобразуем скрипт для мониторинга пиров [root@asteriskpbx]# dos2unix trunk.sh //преобразуем скрипт для мониторинга транков [root@asteriskpbx]# chmod 777 peer.sh //дадим необходимые права обоим скриптам [root@asteriskpbx]# chmod 777 trunk.sh [root@asteriskpbx]# crontab -e В открывшемся cron, задаем задачи для выполнения наших скриптов: */10 * * * * /bin/bash /home/peer.sh >/dev/null //исполнять файл раз в 10 минут */2 * * * * /bin/bash /home/trunk.sh >/dev/null //исполнять файл раз в 2 минуты Вот и все. Теперь мы имеет достаточно простой, но порой очень нужный и эффективный мониторинг состояния транков и пиров на нашем Asterisk
img
В Linux скрытые файлы - это файлы, которые не отображаются напрямую при выполнении стандартного списка каталогов ls. Скрытые файлы, также называемые dotfiles в операционных системах Unix, - это файлы, используемые для выполнения некоторых сценариев или для хранения конфигурации некоторых служб на вашем хосте.Некоторым популярным примером скрытых файлов являются файлы, содержащиеся в домашнем каталоге пользователя: .bashrc, в котором хранятся сценарии инициализации пользователя, или .bash_logout, который выполняется всякий раз, когда вы выходите из сеанса bash. В некоторых случаях вам необходимо иметь возможность легко находить скрытые файлы для настройки параметров конфигурации по умолчанию. Мы рассмотрим все методы, используемые для отображения скрытых файлов в Linux. Показать скрытые файлы в Linux с помощью ls Самый простой способ показать скрытые файлы в Linux - это использовать команду ls с опцией -a, что значит all. $ ls -a [path] Например, чтобы показать скрытые файлы в домашнем каталоге пользователя, вы должны выполнить эту команду. Кроме того, вы можете использовать флаг -A для отображения скрытых файлов в Linux. При использовании A подразумеваемые файлы не будут отображаться (например, предыдущая папка также называется .) $ ls -al ~ total 356 drwxr-xr-x 14 schkn schkn 4096 Oct 26 06:08 . --- Не показано с -A drwxr-xr-x 3 root root 4096 Jan 5 2019 .. --- Не показано с -A -rw------- 1 schkn schkn 43436 Oct 26 06:08 .bash_history -rw-r--r-- 1 schkn schkn 220 Apr 4 2018 .bash_logout -rw-r--r-- 1 schkn schkn 3771 Apr 4 2018 .bashrc drwx------ 2 schkn schkn 4096 Jan 5 2019 .cache $ ls -A ~ total 348 -rw------- 1 schkn schkn 43436 Oct 26 06:08 .bash_history -rw-r--r-- 1 schkn schkn 220 Apr 4 2018 .bash_logout -rw-r--r-- 1 schkn schkn 3771 Apr 4 2018 .bashrc drwx------ 2 schkn schkn 4096 Jan 5 2019 .cache В этом случае скрытыми файлами являются файлы bash_history, bash_logout, bashrc и файлы кэша. Показать исключительно скрытые файлы с помощью ls В некоторых случаях вас могут не интересовать другие файлы, кроме тех которые скрыты. Чтобы показать исключительно скрытые файлы в Linux, используйте команду ls со специальным регулярным выражением. $ ls -dl .[^.]* [path] Например, используя пример, который мы описали ранее, мы получили бы следующий результат. $ ls -dl .[^.]* ~ -rw------- 1 schkn schkn 43436 Oct 26 06:08 .bash_history -rw-r--r-- 1 schkn schkn 220 Apr 4 2018 .bash_logout -rw-r--r-- 1 schkn schkn 3771 Apr 4 2018 .bashrc drwx------ 2 schkn schkn 4096 Jan 5 2019 .cache drwx------ 5 schkn schkn 4096 Jan 5 2019 .config Показать скрытые файлы в Linux, используя find Еще один эффективный способ найти скрытые файлы во всей вашей системе - использовать команду find. Чтобы показать все скрытые файлы в вашей системе, запустите find с опцией name. $ find / -name ".*" 2> /dev/null Обратите внимание, что выходные данные команды перенаправляются в /dev/null, чтобы не отображаться в каталогах, к которым у вас нет доступа. /dev/null - специальный файл в системах UNIX, представляющий собой так называемое "пустое устройство", в которое всегда успешно происходит запись. Обычно используется для того чтобы туда отправлять ненужный вывод программы. Чтобы показать скрытые файлы в текущем рабочем каталоге, запустите find с параметром maxdepth. $ find . -name ".*" -maxdepth 1 2> /dev/null Показать скрытые каталоги используя find Чтобы показать скрытые каталоги в текущем рабочем каталоге, без рекурсивного поиска, используйте команду find и укажите тип d. $ find . -name ".*" -maxdepth 1 -type d 2> /dev/null Показать скрытые файлы в Linux, используя dir Команда dir - это команда, близкая к команде ls в Linux: она отображает содержимое каталога в вашей системе. Подобно команде ls, ее можно использовать для отображения скрытых файлов в каталоге. Чтобы показать скрытые файлы, выполните команду dir с опцией -a или -A. $ dir -a [path] $ dir -A [path] Например, чтобы показать скрытые файлы в вашем домашнем каталоге, вы должны выполнить: $ dir -A ~ .bash_history .dbshell .mongorc.js .viminfo scripts Обратите внимание, что команда dir также показывает скрытые каталоги, которые могут находиться в пути, который вы ищете. Подобно команде ls, вы можете выбрать отображение скрытых файлов исключительно в папке, чтобы не беспокоиться обо всех остальных файлах. $ dir -dl .[^.]* [path] Например, в домашнем каталоге это даст такой вывод: $ dir -dl .[^.]* ~ -rw------- 1 schkn schkn 43436 Oct 26 06:08 .bash_history -rw-r--r-- 1 schkn schkn 220 Apr 4 2018 .bash_logout -rw-r--r-- 1 schkn schkn 3771 Apr 4 2018 .bashrc drwx------ 2 schkn schkn 4096 Jan 5 2019 .cache Отображение скрытых файлов в среде рабочего стола GNOME Наконец, для тех, кто работает в среде рабочего стола GNOME, вы также можете показывать скрытые файлы, когда просматриваете систему с помощью проводника. Чтобы отобразить скрытые файлы через интерфейс GNOME, нажмите небольшую стрелку вниз, расположенную в верхнем правом углу экрана. При появлении небольшого выпадающего меню обязательно установите флажок «Показать скрытые файлы» (Show Hidden Files). Как следствие, скрытые файлы и папки будут видны в проводнике. Вывод В этом руководстве вы увидели все способы отображения скрытых файлов в Linux: с помощью команды ls, но у вас также есть команда find и dir. Если вы используете среду рабочего стола GNOME, есть возможность легко их отобразить с помощью небольшой опции.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59