Showing posts with label DHCP. Show all posts
Showing posts with label DHCP. Show all posts

Monday, 7 October 2024

Защита сетевого оборудования.


Всем привет.

Хотя я уже далек от администрирования сетевого оборудования, но для тренировки мозга время от времени пользуюсь виртуальными лабораториями типа  CSRv, FTDv, APIC-EM. Разумеется я не мог не обратить внимания на свежее издание Базаров М. М. "Сети глазами хакера", СПб.: БХВ-Петербург, 2025. Сразу видно что ввиду внешней политики страны издания в первую очередь страдают умные головы в той же стране. Так и здесь, знаменитое издательство "БХВ-Петербург" последние годы все чаще просто переиздает популярные книги прошедших лет, либо книги современных ИТ-писателей из Индии. В данном случае изданы "записки на полях" сетевого инженера-практика. Прошу прощения, но ниже главу из книги я вычитывал трижды, хотя опечатки могли все равно остаться.

Безопасность телекоммуникационных устройств - вопрос острый, особенно в по­следнее время. Атаки на инфраструктуры провайдеров происходят все чаще. Сегодня я покажу вам,  как можно защитить сетевое оборудование от потенциального вторжения. Все команды я буду демонстрироваться на Cisco IOS. Однако сами механизмы безо­пасности реализованы у всех вендоров, отличия лишь в иерархии расположения компонентов и синтаксисе. 

Безопасность коммутационной матрицы САМ 

У Cisco IOS  есть несколько проблем сетевой безопасности.  Давайте посмотрим, на какие из них стоит обратить внимание в первую очередь. 

САМ (Content  Addressable  Memory)  - это  ассоциативная память коммутатора, внутри которой хранится таблица МАС-адресов и связанных с ними портов. Это несложный механизм, однако уже очень давно существует хулиганский вектор DоS-атаки, при которой атакующий переполняет САМ-таблицу с  помощью рас­сылки  Ethernet-кaдpoв  с  рандомизирующимися  МАС-адресами  источника,  что перебивает коммутационную матрицу.  Очень известный прием, но не упомянуть о нем я не могу. 

Защитить САМ-таблицы своих коммутаторов очень просто, достаточно использо­вать Port Security. В нашем случае эта настройка подходит для ограничения количе­ства МАС-адресов за портом коммутатора.  Допустим, если мы настроим ограниче­ние в 20  МАС-адресов на порту, а атакующий начнет в эфире флуд (каким-нибудь macof), то к порту будут уже применяться ограничения - в зависимости от настро­енной политики.  Вот пример конфигурации, при которой ставится ограничение в два МАС-адреса,  а при нарушении этого ограничения порт будет выключен. 

Router01(config)#  interface  range  gX/X 

Router01(config-if)#  switchport port-security maximum  <value> 

Router01(config-if)#  switchport port-security violation shutdown 

При такой конфигурации в момент нарушения политики МАС-адресов порт будет переведен в состояние err-disabled. Чтобы настроить автоматическое восстановле­ние порта из этого состояния, понадобится еще одна команда: 

Router01(config)#  errdisaЬle recovery  interval  120 

Router01(config)#  errdisaЬle recovery  cause  psecure-violation 

Tuesday, 24 September 2024

Управление настройками сети с PowerShell, часть 2.


Всем привет.

Продолжим дергать сетевые настройки с помощью Powershell. Начинал я это делать еще здесь

А сегодня продолжим работу вместе с другим гуру ИТ-администрирования. Сегодня мы рассмотрим основные командлеты, которые позволяют узнать текущий адрес сетевого адаптера, назначить статический IP адрес, DNS сервера, или настроить сетевой интерфейс на получение конфигурации IP от DHCP сервера. Вы можете использовать эти командлеты для настройки сети как в Windows 10/11, так и в Windows Server (или версии Sever Core), в Hyper-V Server, для изменения настроек IP сетевых адаптеров на удаленных компьютерах, и в PowerShell скриптах.


Содержание:

  • Управление сетевыми адаптерами в Windows из PowerShell
  • Вывести настройки IP сетевого подключения с PowerShell
  • PowerShell: задать статический IP адрес в Windows
  • Set-DnsClientServerAddress: настроить адреса DNS серверов
  • Управление таблицей маршрутизации с помощью PowerShell
  • PowerShell: получить IP адрес в Windows от DHCP сервера
  • Изменить параметры IP и DNS на удаленном компьютере Windows

В предыдущих версиях в Windows для управления сетевыми настройками из cmd использовалась из CLI использовалась команда netsh. В PowerShell 3.0 и выше для управления сетевыми настройками Windows можно использовать встроенный PowerShell модуль NetTCPIP.

Чтобы получить список командлетов в этом модуле, выполните:

get-command -module NetTCPIP

В этот модуль также входит командлет Test-NetConnection, который можно использовать для проверки доступности TCP портов на удаленных компьютерах.


Управление сетевыми адаптерами в Windows из PowerShell

Выведите список доступных сетевых интерфейсов в Windows:

Get-NetAdapter

Командлет возвращает имя интерфейса, состояние (Up/Down), MAC адрес, скорость на порту.


Чтобы вывести только активные физические сетевые интерфейсы:

Get-NetAdapter -Physical | ? {$_.Status -eq "Up"}

Можно вывести только определенные параметры сетевых адаптеров, например: имя, скорость, состояние и MAC адрес:

Get-NetAdapter |Select-Object name,LinkSpeed,InterfaceOperationalStatus,MacAddress


В Windows могут присутствовать скрытые сетевые адаптеры. Чтобы вывести их все, добавьте параметр IncludeHidden:

Get-NetAdapter –IncludeHidden

Команда вернет в том числе все виртуальные WAN Miniport адаптеры, которые используются для различных типов подключений включая VPN. Перезапуск этих адаптеров часто позволяет решить некоторые ошибки VPN подключений с помощью встроенного клиента Windows. Для управления сетевыми подключениями VPN доступны отдельные команды PowerShell.


Вы можете обращаться к сетевым интерфейсам по их именам или индексам (столбец ifIndex). В нашем примере, чтобы выбрать физический LAN адаптер Intel 82574L нужно набрать команду:

Get-NetAdapter -Name Ethernet0

или

Get-NetAdapter -InterfaceIndex 8

Thursday, 7 March 2024

Работа с сетью в командной строке Windows, #5.

Всем привет.

Что стоит наша теория без практики? Потому у нас сегодня будет работа с сетью в командной строке Windows на примерах практического использования. Поехали!

Определение подмены адреса узла в файле hosts.

    Одним из последствий вирусного заражения довольно часто является блокировка доступа к сайтам антивирусных компаний, поисковым системам, популярным социальным сетям (Vkontakte, Odnoklassniki, Facebook, Twitter и т.п.). Подобный же прием используется для кражи учетных данных пользователей путем перенаправления на вредоносный сайт, адрес которого берется из зараженного файла hosts. 

Порядок преобразования доменных имен в IP-адреса следующий:

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

- проверяется наличие записи об имени и адресе в файле hosts. Если запись есть, то будут использованы ее данные. 

- для разрешения доменного имени в IP-адрес выполняется запрос к серверу DNS, заданному в настройках сетевого подключения. 

Файл hosts при настройках по умолчанию, находится в каталоге \Windows\system32\drivers\etc\ и обычно содержит строки, начинающиеся с символа # , являющиеся комментариями, и одну запись для определения имени узла петлевого интерфейса:

127.0.0.1 localhost

127.0.0.1 - IP-адрес, localhost - имя. Если добавить запись 127.0.0.1 odnoklassniki.ru, то для имени odnoklassniki.ru будет использоваться адрес 127.0.0.1, который не предназначен для выполнения реальной передачи данных, и сервер с указанным именем станет недоступен. Если же вместо адреса 127.0.0.1 использовать адрес поддельного сервера, созданного злоумышленниками, то вместо реального сайта, соответствующего доменному имени, посетитель перейдет на поддельную страницу. 

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

31.214.145.172 odnoklassniki.ru

31.214.145.172 www.facebook.com

31.214.145.172 www.vk.com 

31.214.145.172 www.vkontakte.ru


Данный адрес взят из реально зараженного файла hosts и принадлежит сети одного из провайдеров Германии. Сейчас он безопасен, и не занят обслуживанием вредоносного сервера. 

На зараженном компьютере, в файл hosts было добавлено множество пустых строк, и поддельные записи располагались с разным смещением относительно начала строки, что могло затруднить ручной поиск. Кроме того, вредоносные программы могут использовать и некоторые другие способы подмены содержимого hosts - изменение местоположения самого файла, использование атрибута "скрытый" и имени с подменой символа на похожий по написанию символ национального алфавита - "o" и т.п. Другими словами, достоверно определить сам факт подмены адреса с помощью файла hosts, путем прямого анализа содержимого реестра, системных каталогов и самого файла занимает довольно длительное время и не всегда позволяет исключить ошибку поиска вредоносных записей. А, тем временем, задача легко решается с использованием всего лишь 2-х команд из рассмотренных выше - ping и nslookup . 

ping odnoklassniki.ru - в ответе на пинг будет отображаться адрес, соответствующий имени odnoklassniki.ru при определении IP-адреса на данном компьютере 

nslookup odnoklassniki.ru - получить IP-адрес, соответствующий имени odnoklassniki.ru от сервера DNS.

Если адрес по результатам пинга отличается от адреса, полученного от DNS-сервера, то присутствует факт подмены содержимого файла hosts. Для некоторых крупных доменов утилита nslookup может выдавать список из нескольких IP. Тогда IP-адрес, полученный в результатах пинга, должен присутствовать в списке адресов от nslookup. 

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

Thursday, 29 February 2024

Работа с сетью в командной строке Windows, #3.

Всем привет.

Продолжаем рассматривать сетевые утилиты командной строки Windows, сегодня у нас в фокусе NETSTAT и другая мега-утилита NET.

Утилита NETSTAT

    Утилита netstat.exe присутствует во всех версиях Windows, однако, существуют некоторые отличия используемых параметров командной строки и результатов ее выполнения, в зависимости от операционной системы. Используется для отображения TCP и UDP -соединений, слушаемых портов, таблицы маршрутизации, статистических данных для различных протоколов. 

Синтаксис:

netstat[-a] [-e] [-n] [-o] [-pProtocol] [-r] [-s] [Interval]

-a - отображение всех активных соединений по протоколам TCP и UDP, а также, списка портов, которые ожидают входящие соединения (слушаемых портов). 

-b - отображение всех активных соединений по протоколам TCP и UDP, а также, списка портов, которые ожидают входящие соединения (слушаемых портов) с информацией об именах исполняемых файлов. Данный параметр применим для операционных систем Widows XP и старше.

-e - отображение статистики Ethernet в виде счетчиков принятых и отправленных байт и пакетов. 

-n - отображение номеров портов в виде десятичных чисел.

-o - отображение соединений, включая идентификатор процесса (PID) для каждого соединения. 

-p Protocol - отображение соединений для заданного протокола. Протокол может принимать значения tcp, udp, tcpv6, udpv6 . При использовании совместно с параметром -s в качестве протокола можно задавать tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, ipv6.

-s - отображение статистических данных по протоколам TCP, UDP, ICMP, IP , TCP over IPv6, UDP over IPv6, ICMPv6, и IPv6 . Если задан параметр-p , то статистика будет отбражатися только для выбранных протоколов.

-r - отображение таблицы маршрутов. Эквивалент команды route print 

Interval - интервал обновления отображаемой информации в секундах. 

-v - отображать подробную информацию. 

/? - отобразить справку по использованию netstat 

При использовании утилиты netstat.exe удобно пользоваться командами постраничного вывода (more), перенаправления стандартного вывода в файл ( > ) и поиска текста в результатах (find). 

netstat -a | more - отобразить все соединения в постраничном режиме вывода на экран.

netstat -a > C:\netstatall.txt - отобразить все соединения с записью результатов в файл C:\netstatall.txt.

netstat -a | find /I "LISTENING" - отобразить все соединения со статусом LISTENING. Ключ /I в команде find указывает, что при поиске текста не нужно учитывать регистр символов. 

netstat -a | find /I "listening" > C:\listening.txt - отобразить все соединения со статусом LISTENING с записью результатов в файл C:\listening.txt.

Sunday, 25 February 2024

Работа с сетью в командной строке Windows, #1.

Всем привет.

При работе с сетью в командной строке Windows большинство сетевых утилит для полноценной работы требуют наличия административных привилегий. Для операционных систем семейства Windows достаточно того, чтобы пользователь работал под учетной записью члена группы администраторов. В среде операционных систем Widows интерпретатор cmd.exe должен быть запущен для выполнения с использованием пункта контекстного меню "Запустить от имени администратора". Командные файлы, в которых используются сетевые утилиты, также должны выполняться в контексте учетной записи с привилегиями администратора. 

В этом цикле статей будут представлены следующие сетевые утилиты командной строки для получения информации о сетевых настройках, выполнения операций по конфигурированию и диагностике сети: arp, ipconfig, getmac, nbtstat, netsh, netstat, net, nslookup, pathping, ping, route, telnet и tracert.


Утилита ARP

Утилита командной строки ARP.EXE присутствует во всех версиях Windows и имеет один и тот же синтаксис.

Команда ARP позволяет просматривать и изменять записи в кэш ARP (Address Resolution Protocol - протокол разрешения адресов), который представляет собой таблицу соответствия IP-адресов аппаратным адресам сетевых устройств. Аппаратный адрес - это уникальный, присвоенный при изготовлении, 6-байтный адрес сетевого устройства, например сетевой карты. Этот адрес также часто называют MAC-адресом (Media Access Control - управление доступом к среде) или Ethernet-адресом. В сетях Ethernet передаваемые и принимаемые данные всегда содержат MAC-адрес источника (Source MAC) и MAC-адрес приемника (Destination MAC). Два старших бита MAC-адреса используются для идентификации типа адреса:

- первый бит - одиночный (0) или групповой (1) адрес.

- второй бит - признак универсального (0) или локально администрируемого (1) адреса. 


Следующие 22 бита адреса содержат специальный код производителя MFG или OUI - универсальный код организации. 

Другими словами, любое сетевое устройство имеет аппаратный адрес, состоящий из 2- х частей. Старшую часть MAC - адреса, централизованно выделяемую по лицензии каждому производителю сетевого оборудования. Например, 00:E0:4C - для сетевых устройств REALTEK SEMICONDUCTOR CORP. Крупным производителям сетевого оборудования обычно принадлежит несколько диапазонов OUI . И младшую часть MAC-адреса, которая формируется при производстве оборудования, и уникальна для каждого экземпляра устройства. 

Отображение IP-адресов (формируемых программным путем), в аппаратные адреса, выполняется с помощью следующих действий:

- в сеть отправляется широковещательный запрос (ARP-request), принимаемый всеми сетевыми устройствами. Он содержит IP и Ethernet адреса отправителя, а также, целевой IP-адрес, для которого выполняется определение MAC-адреса.

- каждое устройство, принявшее запрос проверяет соответствие целевого IP-адреса, указанного в запросе, своему собственному IP-адресу. При совпадении, отправителю передается ARP-ответ (ARP-Reply), в котором содержатся IP и MAC адреса ответившего узла. Кадр с ARP-ответом содержит IP и MAC адреса как отправителя, так и получателя-составителя запроса.

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


Синтаксис ARP.EXE:

arp[-a [InetAddr] [-NIfaceAddr]] [-g [InetAddr] [-NIfaceAddr]] [-dInetAddr [IfaceAddr]] [-sInetAddr EtherAddr [IfaceAddr]]

-a[ InetAddr] [ -NIfaceAddr] - ключ -a - отображает текущую таблицу ARP для всех интерфейсов. Для отображения записи конкретного IP-адреса используется ключ -a с параметром InetAdd , в качестве которого указывается IP-адрес. Если узел, отправляющий ARP-запрос имеет несколько сетевых интерфейсов, то для отображения таблицы ARP нужного интерфейса, можно использовать ключ -N с параметром IfaceAddr, в качестве которого используется IP-адрес интерфейса.

-g[ InetAddr] [ -NIfaceAddr] ключ -g идентичен ключу -a. 

-d InetAddr[ IfaceAddr] - используется для удаления записей из ARP-кэш. Возможно удаление по выбранному IP или полная очистка ARP кэш. Для удаления всех записей, вместо адреса используется символ * Если имеется несколько сетевых интерфейсов, то очистку можно выполнить для одного из них, указав в поле IfaceAddr его IP .

-s InetAddr EtherAddr [ IfaceAddr] - используется для добавления статических записей в таблицу ARP. Статические записи хранятся в ARP-кэш постоянно. Обычно, добавление статических записей используется для сетевых устройств, не поддерживающих протокол ARP или не имеющих возможности ответить на ARP- запрос.

/? - получение справки по использованию arp.exe. Аналогично - запуск arp.exe без параметров. 

Monday, 20 June 2022

Настройка сетевого интерфейса в Ubuntu.


Всем привет.

Конфигурирование сетевого интерфейса в Ubuntu с версии 18.04 для многих стало сюрпризом.  Хотя всем привычный конфигурационный файл /etc/network/interfaces существует, однако в нем пусто. А делом в том что конфигурирование через ifupdown было заменено на netplan. Но если вы хотите вернуться к ifupdown установите его командой:

sudo apt install ifupdown

Но зачем устанавливать что-то еще?.  Давайте настроим то что есть. Для начала смотрим содержимое каталога /etc/netplan:

/etc/netplan/50-cloud-init.yaml

network:

    ethernets:

        eth0:

            addresses:

            - 192.168.1.116/24

            gateway4: 192.168.1.1

            nameservers:

                addresses:

                - 192.168.1.20

                search:

                - 192.168.1.21

    version: 2

Конфигурационный файл пишется на языке YAML. Соблюдаем отступы! 

Tuesday, 24 May 2022

Сброс сетевых настроек вручную.


Всем привет.

Обычно сброс сетевых настроек в Windows это последнее средство, которое стоит попробовать для решения сложных проблем с доступом к локальной сети или Интернету. При этом на компьютере сбрасываются настройки сетевых адаптеров, настройки стека TCP/IP до стандартных настроек в чистой Windows, удаляются и переустанавливаются все сетевые адаптеры компьютера. 

Но прежде чем прибегать к сбросу сетевых настроек, убедитесь, что вы попробовали все стандартные средства диагностики работы с сетью: проверили настройки IP, работу маршрутизатора/роутера/провайдера, обновили драйвера сетевых адаптеров, перезагружали компьютер, воспользовались встроенным Windows Network Troubleshooter: msdt.exe /id NetworkDiagnosticsNetworkAdapter, подергали шнурки и т.д. Если ни один инструментов не помог исправить сетевую проблему, можно попробовать сбросить сетевые настройки.

Но прежде надо сохранить имеющуюся информацию о сети.

Выведем список сетевых адаптеров:

Get-NetAdapter |  select name, InterfaceIndex, InterfaceDescription, InterfaceOperationalStatus, MediaConnectionState, DriverInformation | ft

Для всех подключенных сетевых адаптеров проверьте, получают ли они настройки автоматически (через DHCP) или вручную:

Get-NetIPInterface -InterfaceIndex 7

Если для интерфейса значение Dhcp=Disabled , значит для адаптера настройки IP заданы вручную и вам нужно сохранить текущие настройки в файл:

Get-NetIPConfiguration -InterfaceIndex 7 >>f:\network_settings.txt

Tuesday, 21 September 2021

Назначить CentOS IP-адрес вручную.

Всем привет.

Мне в наследство упала одна машинка с CentOS на борту. Все бы ей хорошо только вот IP-адрес она не подхватывала по DHCP. И потому стала на некоторое время бесполезна.

Пытаюсь ей помочь. Захожу на консоль и смотрю в

cat /etc/sysconfig/network-scripts/ifcfg-ens18

Для DHCP нахожу следующие строки:

BOOTPROTO=dhcp

ONBOOT=no

Ничего более не трогаю, скорее всего мне будет достаточно ONBOOT исправить на: 

ONBOOT=yes

Но как оказалось никаких текстовых редакторов на старой CentOS не нашлось. Поэтому для установки хотя бы nano пробую назначить IP-адрес вручную:

ifcfg ens18 192.168.1.90/24

Прописываю машрут по умолчанию на основной машрутизатор:

ip route add default via 192.168.1.1

Также указываю машрутизатор в качеcтве DNS-сервера: 

echo nameserver 192.168.1.1 > /etc/resolv.conf

Перезапускаю сетевой сервис, чтобы CentOS приняла новые настройки сети:

service network restart

Отлично. Теперь можно подтянуть и nano и исправить DHCP:

yum install nano

И в конце ребут. Вот теперь готово.

Успехов.

Monday, 15 February 2021

IPAM – служба управления IP адресами Windows.

Всем привет.

Основной частью администрирования любой сети является управление IP адресами. До выхода Windows Server 2012 системным администраторам для комплексного управления всем пространством IP адресов, а также службами DNS и DHCP, приходилось использовать таблицы, различные сторонние инструменты, писать пользовательские скрипты. С выходом Windows Server 2012 появился внутренний инструмент для управления IP-адресами сети – IPAM. IPAM (IP Address Management) – служба управления IP адресами, впервые представленная в Windows Server 2012 и Windows Server 2012 R2. IPAM представляет собой платформу для обнаружения, мониторинга, управления и аудита для пространства IP адресов в сети организации.

Среди основных возможностей IPAM можно выделить следующие:

  • Автоматическое обнаружение инфраструктуры IP-адресов
  • Удобные и гибкие средства для отображения пространства IP-адресов, а также управления ими и составления отчетов
  • Аудит изменений в конфигурациях служб DHCP и IPAM
  • Наблюдение за службами DHCP и DNS, а также управление ими
  • Отслеживание аренды IP-адресов.

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

Разворачивается служба IPAM довольно просто вручную. Ежели мы любим все делать с помощью Powershell, то это же можно развернуть буквально за три шага:

  1. Install-WindowsFeature IPAM -IncludeManagementTools
  2. Set-IpamConfiguration -ProvisioningMethod Automatic -GpoPrefix IPAM
  3. Invoke-IpamGpoProvisioning –Domain forza.com –GpoPrefixName IPAM –DelegatedGpoUser Administrator –IpamServerFqdn srv-ipam.forza.com

 где forza.com наш домен, srv-ipam.forza.com наш IPAM-сервер.

Monday, 25 May 2020

Диагностика приложений протокола DHCP в Scapy.

Всем привет.

Вторая часть практики со  Scapy от Бражука Андрея. Сегодня будет проведена активная диагностика приложений протокола DHCP. Первую часть читаем здесь.

Оригинал статьи вы найдете в журнале "Системный администратор" №12 (109) 2011 года.

Введение

Протокол динамической конфигурации узла DHCP (Dynamic Host Configuration Protocol) повсеместно используется для автоматизации процесса получения настроек протокола IP на сетевых узлах. Средства, обеспечивающие функциональность DHCP-сервера, существуют для всех программных платформ, реализующих те или иные удаленные службы (серверные версии Windows, Linux/Unix, операционные системы маршрутизаторов, шлюзов, межсетевых экранов и т. д.). Клиент этого протокола обычно имеется в любом оборудовании, работающем в сети.

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

В ряде случаев нестандартные задачи активной диагностики DHCP, а также автоматизация их решения требуют привлечение технологий программирования. Учитывая то, что в практике системного администрирования обычно основная цель программирования - быстрый результат, решать данный класс задач лучше с помощью специальных инструментов. Рассмотренный в статье генератор сетевых пакетов Scapy собственно и есть такое средство. Данная утилита одновременно является расширяемой библиотекой языка программирования Python и ориентирована на протоколы без установления соединения, к которым относится и DHCP, использующий протокол UDP в качестве транспорта.

Разведка боем: имитируем DHCP-клиент

Ввиду того, что принципы функционирования DHCP общеизвестны и описаны в литературе, теоретические выкладки пропустим и сразу перейдем к программированию DHCP-клиента в Scapy.

Тестовый стенд, использовавшийся для написания данной статьи, построен на основе ПО с открытым исходным кодом: виртуальная машина (ВМ) VirtualBox на основе Debian GNU/Linux с установленным ISC DHCP. Утилита Scapy запускалась с хостовой системы, объединенной с ВМ с помощью виртуального адаптера «Виртуальная сеть хоста». При этом, DHCP-сервер VirtualBox для этого режима был отключен. Разумеется, описанные в статье упражнения можно повторить в «физической» сети с использованием службы DHCP, встроенной в маршрутизатор, реальный сервер или модем.

Для получения минимальной работоспособной конфигурации сервера ISC DHCP достаточно в файле /etc/dhcp/dhcpd.conf описать подсеть (subnet):
subnet 192.168.56.0 netmask 255.255.255.0 {
  range 192.168.56.10 192.168.56.30;
  option domain-name-servers 192.168.56.1;
  option domain-name "local.test";
  option routers 192.168.56.1;
  option broadcast-address 192.168.56.255;
  default-lease-time 600;
  max-lease-time 7200;
}

Friday, 6 December 2019

Знаете ли вы свой принтер?

Всем привет.

Листая журнал "Системный администратор" я обнаружил неожиданно (для себя), что Игорь Савчук во многом прав относительно таких устройств как принтеры в наших офисах. Ведь действительно, мы все тщательно сканируем свою сеть, патчим наши хосты, устанавливаем антивирусники, а рядом у нас в сети работает принтер с набором современных TCP/IP-сервисов.

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

Конечно, стандартов тут нет, у каждого бренда свои секреты, но все разгадки легко ищутся в Интернет.

Вот таким вот образом можно легко найти доступные принтеры HP:
inurl:hp/device/this.LCDispatcher

Точно таким же образом можно легко найти принтеры других фирм, например от Ricoh:
intitle:"web image monitor"
"/web/user/en/websys/webArch/mainFrame.cgi"
inurl:"/en/sts_index.cgi"

С помощью нескольких строк кода (Perl) автор предлагает проверить отзывчивость вашего печатного друга.

Первый пример это печать текста "PRINTER TEST STRING" из командной строки
perl prnmsg.pl ip-adr-принтера "PRINTER TEST STRING"

Где prnmsg.pl:
#!/usr/bin/perl -w
#File name: prnmsg.pl
use IO::Socket;
$iphost = $ARGV[0];
$textprn = $ARGV[1];
my $mysock = new IO::Socket::INET (
 PeerAddr => $iphost,
 PeerPort => '9100',
 Proto => 'tcp', );
die "NETWORK ERROR: Could not create socket!" stuff $mysock;
print $mysock $textprn;
close($mysock);

Thursday, 16 August 2018

Как роутер Mikrotik прокачивает скилы сетевого инженера.

Всем привет.

По счастливой случайности представилась возможность познакомиться с сетевым роутером MikroTik. MikroTik - одна из всемирно известных компаний, занимающаяся разработкой и внедрения новых технологий в беспроводные компьютерные сети. Основными достижениями MikroTik является их программное обеспечение - RouterOS, а также их знаменитое аппаратное средство - RouterBOARD.

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

За что такая честь? Думаю что это хвала заслуженная. Вам достаточно глянуть на богатющие возможности идущие прямо из коробки - Mikrotik RouterOS - мечта сисадмина. И все это за ... 22 доллара на примере популярного MikroTik hAP lite classic (RB941-2nD).

Главная фишка Mikrotik это то что устройства компании Mikrotik поставляются с уже установленной операционной системой MikroTik RouterOS™. В зависимости от модели роутера, операционная система доступна пользователю с одним из 4-х подуровней (level 3/level4/level 5/level 6), различающихся между собой по ряду характеристик. При покупке готового оборудования лицензия уже предустановленна. Лицензию можно купить отдельно, в случае, если Вы хотите обновить Ваше оборудование с одного уровня программного обеспечения на другой.

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


Tuesday, 1 May 2018

Управление настройками сети с помощью PowerShell.

Всем привет.

Как я писал ранее в управлении настройками сети PowerShell весьма удобен. Почему? Потому что PowerShell довольно мощный инструмент автоматизации и для современных сценариев управления сетями он просто незаменим. 

В этом нам помогут функции из группы Net*:

Get-Command Get-Net*
У меня на версии PS 5.1 выдало список из 89 функций.

По каждой функции можно получить подробную справку:
Get-Help Get-NetIPAddress

Также нелишним будет ознакомиться с примерами использования:
Get-Help Get-NetIPAddress -Examples

Ежели справки нет, то освежите справку под Админом:
Update-Help

В первую очередь вам помогут при работе с ТСР/ІР сетями:
Get-NetIPConfiguration
Get-NetIPAddress
Get-NetAdapter
Get-NetAdapterBinding
Get-NetAdapterHardwareInfo
Get-NetRoute
Get-NetTCPConnection

Функции для клиента DNS:
Get-Command Get-DNS*
У меня оказалось доступно 38 функций.

Для работы с DNS-кешем используем:
-просмотр кеша, если у вас что-то дописано в файле hosts, то это будет видно по записям (RecordType=AAAA):
Get-DnsClientCache | Sort-Object Type -Descending
-очистка:
Clear-DnsClientCache
-перечень интерфейсов:
Get-DnsClientServerAddress

Еще несколько полезных функций:
Test-Connection это знакомый всем ping, полезные флаги Count и BufferSize.
Но Test-NetConnection круче обычного ping-a, он покажет доступность хоста, с флагом TraceRoute результаты трассировки, а с флагом Port доступ к порту.

Resolve-DnsName это старый знакомый nslookup

Restart-NetAdapter перезапускает сетевой адаптер.

Настроить сетевое подключение с помощью PowerShell просто:
New-NetIPAddress -InterfaceIndex 12 -IPAddress %ip% -PrefixLength %mask% -DefaultGateway %gate%
и
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddress (“%ip%”,”%ip%”)

Что подставить вместо %ip%, %mask% и %gate% думаю вам очевидно.

Или вам нужно вернуть настройки на DHCP:
Set-NetIPInterface -Dhcp Enabled

Вот так. Успехов.

Friday, 13 May 2016

Сетевые параметры в VMware Workstation.

Всем привет.

Переходя от одной платформы программной виртуализации к другой приходится настраивать сетевое взаимодействие между виртуальными ОС. Сегодня вспомним что к чему по сетям в легендарной VMware Workstation. А через пару дней заглянем в сети VirtualBox.

VMware Workstation является идеальным решением для самообразования, отладки приложений, создания тестовых лабораторных сред. Многие, кто делает первые шаги с VMware Workstation сталкиваются с различными вопросами при настройке. В данной статье мы рассмотрим сетевые настройки доступные сразу после установки VMware Workstation. Это статья будет интересна, прежде всего, тем, кто только начинает разбираться в виртуальной среде.
По умолчанию, в VMware Workstation существует 3 типа виртуальных сетей. Подключить виртуальную машину к определенной сети можно из меню Virtual Machine Settings
network vmware workstation
Рассмотрим доступные по умолчанию сети VMware Workstation:
Bridged/VMnet0. В этом подключении виртуальная машина подключается к сети, используя физический сетевой адаптер хоста. Виртуальный сетевой адаптер виртуальной машины использует физический сетевой адаптер вашего компьютера, открывая доступ виртуальной машине к той же сети, к которой подключен физический компьютер. Иными словами, виртуальные машины получают доступ к вашей локальной сети.
Необходимо учесть, хостовая и гостевая операционные системы имеют уникальные MAC и IP адреса. В случае если на виртуальных машинах не указан статический IP адрес, то она получит его по DHCP, как обычный компьютер. В данном типе подключения, виртуальная машина имеет полный доступ к локальной сети и может подключаться к другим компьютерам, а компьютеры локальной сети могут подключаться к ней.
Такой тип подключения используется наиболее часто.

Версия на печать

Популярное