По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет! В сегодняшней статье я опишу как «расшарить» папку на CentOS сервере – то есть предоставить ей общий доступ без указания пароля. Сделать это возможно с помощью установки сервера Samba и нескольких дополнительных манипуляций. Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System Установка Перед установкой необходимо понять, в каком статусе у вас находится SELinux – для этого нужно выполнить команду selinuxenables && echo enabled || echo disabled. В случае если результат такой же, как на скриншоте ниже – можете смело приступать непосредственно к самому процессу установки (ниже): В противном случае, вам необходимо будет его отключить – для этого откройте конфигурационный файл по пути /etc/selinux/config любым текстовым редактором – например, Vi - vi /etc/selinux/config и поставьте значение SELINUX в положение disabled и выполните перезагрузку системы командой reboot SELinux – дополнение к стандартной системе контроля доступа Linux, но его настройка довольна трудоёмка и оно включено по умолчанию. Без каких-либо манипуляций SELinux часто может блокировать изменения, вызываемые при запуске различных служб или программ. Далее приступаем к установке Samba сервера. Для этого нужно выполнить команду: yum install samba samba-common cups-libs samba-client Теперь создадим папку – вводим команду mkdir –p /root/SHAREDFOLDER (имя папки и директория, соответственно, могут быть произвольными). Далее устанавливаем на неё права: chown –R root:users /root/SHAREDFOLDER chmod –R 775 /root/SHAREDFOLDER Конфигурация Открываем текстовым редактором основный файл конфигурации Samba – воспользуемся Vi: vi /etc/samba/smb.conf. В данном файле необходимо проверить чтобы в секции global присутствовали следующие строки: [global] security = user passdb backend = tdbsam workgroup = MYGROUP map to guest = Bad User server string = Samba Server Version %v Затем закомментируйте (проставьте точку с запятой) перед аргументами в разделах [homes] (доступ к гостевым директориям) и в [printers] (доступ к принтерам). Теперь добавьте конфиг для вашей созданной папке, выглядеть это должно следующим образом: [SHAREDFOLDER] comment = Everybody has access path = /root/SHAREDFOLDER force group = users create mask = 0666 directory mask = 0777 writable = yes guest ok = yes browseable = yes Наконец, сохраним файл конфигурации и настроим автозапуск службы samba – для этого необходимо выполнить следующую команду: chkconfig –levels 235 smb on /etc/init.d/smb restart Помните – Samba использует порты 137, 138, 139 и 445. Эта информация вам может понадобится при пробросе портов и настройке iptables. Благодаря вышеописанной процедуре, вы сможете легко передавать файлы с сервера на рабочие машины в вашей сети, и, более того, решать многие прикладные задачи – к примеру, расшарить папку с записями разговоров, чтобы непосредственно иметь к ним доступ.
img
При изучении принципов написания программного кода вы, вероятно, встречались с термином AJAX и задавались вопросом, что же он значит. Что это – язык программирования, платформа или приложение? На самом деле ничего из перечисленного, но к концу прочтения этой статьи вы будете знать, что же такое AJAX (Asynchronous Javascript and XML - асинхронные сценарии JavaScript и XML). История AJAX До конца 1990-х годов большинство веб-сайтов могли выдавать в качестве результата только полные веб-страницы при посещении страницы на сайте. Иначе говоря, для того, чтобы перезагрузить какие-либо отдельные данные, вам необходимо было перезагрузить всю страницу. Это был не самый эффективный способ предоставления информации пользователям, и, соответственно, не очень хорошо сказывалось на впечатлениях пользователей от взаимодействия с сайтом. Также это увеличивало нагрузку на серверы и пропускную способность, необходимую для обслуживания данных. В 1996 году Microsoft представила тег iframe для Internet Explorer, который позволял браузеру асинхронно извлекать данные в фоновом режиме. Это был шаг в верном направлении на пути к современным веб-приложения. В 2004 году Google добавила в Gmail функцию, позволяющую получать данные в фоновом режиме, а в 2005 году они сделали то же самое и для Google Maps. Технологии Google и Microsoft позволяли разработчикам получать данные с веб-сервера с помощью JavaScript без необходимости перезагружать страницу. В 2005 году Джесси Джеймсон Гарретт в своей статье (о том, как Google добились такого результата) назвал эту технологию AJAX. Эта технология быстро стала одним из самых популярных способов создания веб-приложений. А теперь, когда вы узнали немного из истории AJAX, давайте посмотрим, как это работает. Как работает AJAX? Что делает работу AJAX возможной, так это встроенный в веб-браузер объект XMLHttpRequests (XHR). Этот объект поддерживают все современные браузеры, включая: Chrome Firefox IE7+ Safari Opera Большинство библиотек JavaScript, которые используют AJAX, помещают этот объект в пользовательский код для того, чтобы упростить его использование разработчиками, но мы рассмотрим, как AJAX работает в обычном JavaScript. Первый шаг – создать переменную, которая будет создавать для вас экземпляр объекта XMLHttpReaquests в JavaScript. Ниже приведен пример: const request = new XMLHttpRequest(); Поскольку мы хотим использовать эти данные в дальнейшем, например, хотим распечатать их на веб-странице, то мы добавим к этому запросу получатель запроса, который сообщит нам, когда наш запрос закончит обрабатываться и получит нужные данные. Как можно понять из самого термина, запросы AJAX выполняются асинхронно. Это значит, что код JavaScript продолжает работать после отправки запроса и не ждет ответа. Прикрепив получатель запросов, мы можем перехватить ответ, когда он будет готов. Сделаем мы это вот так: function requestListener() { console.log(this.responseText); } request.addEventListener("load", requestListener); Выше у нас есть функция, которая выводит ответ на консоль JavaScript, которую мы можем получить из атрибута responseText объекта XMLHttpRequests. Затем мы присоединяем эту функцию к событию load нашего запроса. Следующий шаг – используем этот объект для отправки запроса к серверу с помощью метода open объекта XMLHttpRequests. Метод open принимает два параметра. Первый параметр – это используемый метод запроса. Ниже приведены несколько наиболее распространенных методов: GET: этот метод используется для извлечения данных и является наиболее распространенным. POST: этот метод отправляет данные запрошенному ресурсу и чаще всего используется для создания новых записей или для входа в систему. PUT: этот метод заменяет текущие представления данных измененными, которые были отправлены в запросе. PATCH: этот метод обычно используется для обновления части данных в запрошенном ресурсе. DELETE: этот метод используется для удаления определенного ресурса. Второй параметр, который передается методу open, - это запрашиваемый ресурс. Мы будем использовать страницу с веб-сайта example.org и использовать запрос GET для простого получения данных. Вот так это будет выглядеть: request.open("GET", "http://www.example.org/example.txt"); Последний шаг – фактическая отправка запроса на удаленный ресурс с помощью метода send объекта XMLHttpRequests. Ниже приведен пример: request.send(); Если мы используем метод POST, PUT или какой-либо другой метод, который обновляет ресурс, то этот метод мы вызываем с параметром, содержащем данные, которые мы отправляем: request.send(OUR_DATA_VARIABLE) В нашем случае мы только извлекаем данные, поэтому, как только мы выполним этот код, на консоли нашего веб-браузера выведется содержимое http://example.org/example.txt. Данный пример помогает объяснить то, как работает AJAX, но на самом деле технология AJAX имеет куда более продвинутые функциональные возможности. Для чего нужен AJAX? Что вы должны были вынести из приведенного выше примера, так это то, что все функции кода загружаются на одной странице. Действительно, сначала загрузится веб-страница с нашим кодом JavaScript, затем он выполнится, и после он распечатает результаты запроса. С таким же успехом можно было прикрепить приведенный выше код к функции, которая выполняется при нажатии кнопки. Это бы означало, что каждый раз при нажатии кнопки, будет выполняться код, отправляться запрос, и результаты будут выводиться на консоль без загрузки новой страницы. И эта магическая технология изменила подход к веб-разработке. С появлением AJAX большая часть веб-разработки переместилась на внешний интерфейс приложения – часть, которая работает в браузере. Вы наблюдаете то, как работает AJAX ежедневно и даже не подозреваете об этом. Когда вы заходите на современный веб-сайт, перед вами появляется форма. Вы вводите свои учетные данные и нажимаете кнопку «Войти». Индикатор загрузки может вращаться в течение нескольких минут, но если вы обратите внимание, то заметите, что страница на самом деле никогда не перезагружается. Все, что вы сделали, это просто отправили свое имя пользователя и пароль на сервер с помощью AJAX. Индикатор загрузки нужен только для отвода глаз, пока запрос выполняется, независимо от того, ввели ли вы верные учетные данные или нет. Если ваши учетные данные верны, то ваша домашняя страница загружается, скорее всего, из другого запроса AJAX. Большинство запросов AJAX в JavaScript не загружают целые веб-страницы, как в нашем примере. Данные отправляются и извлекаются в формате JSON, для представления данных используется текстовый формат, а для форматирования этих данных в формате HTML и их печати на странице используется дополнительный код JavaScript. Например, данные, которые отправляются для входа на веб-сайт, в формате JSON будут выглядеть так: { username: "MyUserName", password: "MyPassword" } Как только учетные данные будут проверены, файл JSON, содержащий минимальный объем данных для отображения панели инструментов, будет отправлен обратно в браузер. AJAX в сочетании с JSON не только наделяет современные веб-страницы способностью быстро реагировать на действия пользователей, но и экономит пропускную способность, отправляя только необходимые данные для создания веб-страницы.
img
Здравствуй дорогой друг! В этой статье мы хотим рассказать про базовую настройку отслеживания статического маршрута Static Route Tracking, используя IP SLA. В современной сетевой среде избыточность является одним из наиболее важных аспектов, будь то на стороне локальной сети LAN или на стороне глобальной сети WAN. В этой статье мы рассмотрим избыточность WAN с несколькими каналами WAN, оканчивающимися на одном маршрутизаторе. Лучший и самый простой способ достижения избыточности WAN на устройствах Cisco - это использовать надежные резервные статические маршруты с отслеживанием IP SLA. IP SLA - это функция, включенная в программное обеспечение Cisco IOS, которая позволяет администраторам анализировать уровни обслуживания для IP приложений и сервисов, проверять QoS на соответствие параметрам, и помогать обнаруживать и локализовать неисправности. IP SLA использует технологию активного мониторинга трафика (когда тестовые пакеты добавляются в активное соединение) для мониторинга непрерывного трафика в сети. Маршрутизаторы Cisco предоставляют собой так называемые IP SLA Responder'ы, которые обеспечивают точность измеренных данных в сети. IP SLA собирает информацию об задержке, джиттере, потере пакетов, их пути, последовательности отправки и многого другого. С IP SLA маршрутизаторы и коммутаторы выполняют периодические измерения. Количество и тип доступных измерений огромны, и в этой статье мы рассмотрим только функцию ICMP ECHO. Сам по себе IP SLA - очень большая тема для обсуждения. Настройка Рассмотрим следующую схему с двумя провайдерами. На рисунке наше устройство Cisco подключено к двум каналам WAN - ISP1 и ISP2. Наиболее распространенная настройка, которую мы используем в повседневной жизни, - это настройка маршрутов по умолчанию на маршрутизаторе Cisco, указывающих на соответствующие IP-адреса следующего хопа (next-hop), как показано ниже: R1(config)# ip route 0.0.0.0 0.0.0.0 2.2.2.2 R1(config)# ip route 0.0.0.0 0.0.0.0 3.3.3.3 10 Как вы могли заметить административное расстояние для дополнительного маршрута, указывающего на ISP2, увеличено до 10, чтобы он стал резервным каналом. Вышеуказанная конфигурация с двумя плавающими статическими маршрутами частично выполняет наше требование, поскольку она будет работать только в сценарии, когда интерфейсы маршрутизаторов, подключенные к каналу WAN, находятся в состоянии UP/UP или DOWN/DOWN. Но во многих ситуациях мы видим, что, хотя линки остаются работоспособными, но мы не можем достичь шлюза, это обычно происходит, когда проблема находится на стороне провайдера. В таких случаях IP SLA становится лучшим другом инженера. Используя IP SLA, Cisco IOS получает возможность использовать эхо-запросы ICMP для идентификации, когда канал WAN отключается на удаленном конце, и, следовательно, позволяет инициировать резервное соединение с альтернативного порта. IP SLA настроен на пинг цели, такой как общедоступный IP-адрес или адрес в корпоративной сети, или ваш IP-адрес следующего хопа на маршрутизаторе ISP. Пинги маршрутизируются только с основного интерфейса. Пример конфигурации IP SLA для генерации пинга icmp, нацеленного на IP-адрес следующего перехода ISP1: R1(config)# ip sla 1 R1(config)# icmp-echo 2.2.2.2 source-interface FastEthernet0/0 R1(config)# timeout 1000 R1(config)# threshold 2 R1(config)# frequency 3 R1(config)# ip sla schedule 1 life forever start-time now Обратите внимание, что команды Cisco IP SLA меняются в зависимости от версии IOS, и чтобы узнать точную команду для вашей версии IOS, проверьте документацию Cisco. Вышеприведенные команды предназначены для IOS 12.4(4) T, 15.(0)1M и более поздних выпусков. Приведенная выше конфигурация определяет и запускает IP SLA. ICMP-echo отправляет эхо-пакет ICMP на IP следующего хопа 2.2.2.2 каждые 3 секунды, как определено параметром “frequency”. “Timeout” устанавливает время (в миллисекундах), в течение которого операция SLA Cisco IOS IP ожидает ответа от своего пакета запроса. “Threshold” устанавливает порог, который генерирует событие реакции и хранит хронологическую информацию для операции SLA Cisco IOS IP. После определения операции IP SLA наш следующий шаг - определить объект, который отслеживает SLA. Это можно сделать с помощью IOS Track Object, как показано ниже: R1(config)# track 1 ip sla 1 reachability Приведенная выше команда создает трек, который будет отслеживать состояние операции IP SLA. Если от IP-адреса следующего хопа нет откликов на пинг, трек отключится и начнет работать, когда SLA начнет снова получать пинг-ответ. Чтобы проверить состояние трека, используйте команду show track, как показано ниже: R1# show track Track 1 IP SLA 1 reachability Reachability is Down 1 change, last change 00:03:19 Latest operation return code: Unknown Последним шагом в конфигурации надежного статического маршрута IP SLA является добавление оператора отслеживания к маршрутам по умолчанию, указывающим на маршрутизаторы ISP, как показано ниже: R1(config)# ip route 0.0.0.0 0.0.0.0 2.2.2.2 track 1 R1(config)# ip route 0.0.0.0 0.0.0.0 3.3.3.3 10 Добавив после адрес ключевое слово track и его номер, мы указываем, что только если состояние настроенного трека будет Up. Следовательно, если статус трека Down, то вторичный маршрут будет использоваться для пересылки всего трафика. Готово! Мы успешно настроили автопереключение между двумя провайдерами при помощи IP SLA с icmp-echo
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59