Cisco — Настройка DHCP

Настроим DHCP сервер на Cisco. Допустим у нас есть локальная сеть 192.168.0.0/24, нужно раздавать IP адреса начиная со 192.168.0.30 и заканчивая 192.168.0.200. Адрес нашей «циски» 192.168.0.1, локальный DNS сервер 192.168.0.3.

Входим в enable режим, и сразу же определим пул исключенных адресов.

r0# conf t
r0(config)# ip dhcp excluded-address 192.168.0.1 192.168.0.30
r0(config)# ip dhcp excluded-address 192.168.0.200 192.168.0.255

Затем, сразу определим сам DHCP пул.

r0(config)# ip dhcp pool NAME-DHCP-POOL
r0(dhcp-config)# network 192.168.0.0 255.255.255.0
r0(dhcp-config)# default-router 192.168.0.1
r0(dhcp-config)# dns-server 192.168.0.3
r0(dhcp-config)# domain-name lan.local
r0(dhcp-config)# lease 0 2
r0(dhcp-config)# exit
r0(config)# exit
r0# wr

Таким образом мы настроили DHCP сервер раздающий адреса начиная с 192.168.0.30 и заканчивая 192.168.0.200. Параметры DNS сервера 192.168.0.3 и локального доменного имени lan.local. Резервация сохраняется 2 дня.
Команды для проверки и мониторинга.

r0#show ip dhcp binding
r0#show ip dhcp server statistics
r0#show ip dhcp pool

Настройка DHCP ralay.

r0# conf t
r0(config)#int fa1
r0(config-if)#ip helper-address 192.168.0.4
r0(config-if)#exit
r0(config)#exit
r0#wr

Так же для нормальной работы DHCP в Access list прикрепленный к интерфейсу локальной сети нужно прописать следующие правила.

r0#conf t
r0(config)#ip access list extended lan_acl
r0(config-ext-nacl)#permit udp any eq bootpc any eq bootps
r0(config-ext-nacl)#permit ip 192.168.0.0 0.0.0.255 192.168.0.0 0.0.0.255
r0(config-ext-nacl)#exit
r0(config)#exit
r0#wr

Cisco — Статический NAT

Допустим у нас уже настроен NAT в роутере Cisco c881. Имеем следующие данные.
FastEthernet 4 — ip nat outside (194.14.46.52 вымышленный, внешний IP)
FashEthernet 0 — ip nat inside (192.168.0.1 Внутренний IP роутера Cisco)

И вдруг у нас появляется надобность запустить Web и mail сервер имея только один внешний IP адрес присвоенный FastEthernet 4 нашего роутера.
Выход — натить порты. Это не очень то и сложно, привожу список команд, которыми мы откроем «прямой» доступ по адресу 194.14.46.52 к нашему web (mail) серверу с внутренним ip 192.168.0.2.
Натить будем следующие порты:
25 — SMTP
80 — HTTP
110 — POP
143 — IMAP
Входим в конфигурационный режим нашего роутера и вводим следующие команды:

r0>enable
r0#conf t
r0(config)#ip nat inside source static tcp 192.168.0.2 25 interface FastEthernet4 25
r0(config)#ip nat inside source static tcp 192.168.0.2 80 interface FastEthernet4 80
r0(config)#ip nat inside source static tcp 192.168.0.2 110 interface FastEthernet4 110
r0(config)#ip nat inside source static tcp 192.168.0.2 143 interface FastEthernet4 143
r0(config)#exit
r0#wr

Так же можем «занатить» ssh порт, для доступа к нашему серверу из вне локальной сети следующей командой.

r0>enable
r0#conf t
r0(config)# ip nat inside source static tcp 192.168.0.2 22 interface FastEthernet4 8484
r0(config)#exit
r0#wr

При такой конфигурации, в браузере по адресу http://194.14.46.52 будет открыватся первый сайт из конфига httpd. А дальше привязуем доменное имя к этому IP и крутим им, как хотим.
Доступ по ssh к серверу будет по адресу ssh://194.14.46.52:8484

Вот и все.

Apache (httpd) server-status

В стандартной поставке httpd имеется модуль онлайн статистики сервера, с его помощью можно отслеживать нагрузки скриптами и атаками на сервер и много полезных мелочей.
Для активации данной «фичи» нужно проделать следующие шаги.
В /etc/httpd/conf/httpd.conf добавляем следующие строки:

LoadModule status_module modules/mod_status.so
ExtendedStatus On

Убираем комментарии с секции

#
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from ваш-IP
#

В Allow from ваш-IP — пишем, Ваш IP адрес (или сеть). Доступ будет только с указанного IP (или сети).
Перезагружаем Apache.

 service httpd restart

Заходим http://www.ваш-сайт.com/server-status и любуемся статистикой.

Cisco — параметры загрузки IOS

Случилось так, что у нас во флеш памяти Cisco устройства находится 2 образа системы. В этой статье, я расскажу как управлять очередностью загрузки IOS’ов.
В первую очередь рассмотрим параметры конфигурационного регистра (confreg).
0×2101 – Загружается первый образ IOS из флеш памяти.
0×2102 – Загружается IOS, определенный в startup-config.

Первый способ — просто удалить лишний (не нужный) IOS из памяти.
Второй способ, более гибкий. Указать в конфигурации, какой образ будет грузится.

r0> enable
r0# conf t
r0 (config)#no boot system
r0 (config)#boot system flash c870-advipservicesk9-mz.124-24.T5.bin
r0 (config)#exi
r0#wr
r0#reload

Обновление Cisco IOS (USB)

Пришло время обновить Cisco IOS на нашем устройстве (в примере использую Cisco 800 series), но процедура идентична для всех моделей устройств Cisco.

В первую очередь определимся какой образ системы мы будем заливать (это рассказ отдельной статьи), допустим что мы уже определились с образом. У нас есть c870-advipservicesk9-mz.124-24.T5.bin — образ системы для Cisco c871 с расширенными возможностями (в моем случае — возможность создания более 2-х Vlan’ов, в отличии от стандатного образа).
Обновлять IOS будем с флешки (быстрее и проще в отличии от способа через tftp)

  • Форматируем флешку в FAT32.
  • Сливаем файл образа на эту, самую флешку.
  • Вставляем флешку в USB порт устройства Cisco.
  • Подключаемся консольным кабелем к устройству.

Для начала, сохраним на флешку работающий сейчас образ IOS, на всякий случай.

r0#sh flash
24576K bytes of processor board System flash (Intel Strataflash)

Directory of flash:/

    2  -rwx    21877504  Aug 23 2009 07:41:09 +03:00  c870-advsecurityk9-mz.124-24.T1.bin
    3  -rwx        2586  Jul 11 2009 22:52:27 +03:00  run-4.08.2009.conf
    4  -rwx         780  Aug 23 2009 23:51:35 +03:00  vlan.dat

23482368 bytes total (1593344 bytes free)
r0#copy flash:c870-advsecurityk9-mz.124-24.T1.bin usbflash1:c870-advsecurityk9-mz.124-24.T1.bin
r0#Destination filename [c870-advsecurityk9-mz.124-24.T1.bin]? yes

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

delete flash:c870-advsecurityk9-mz.124-24.T1.bin
Delete filename [c870-advsecurityk9-mz.124-24.T1.bin]?
Delete flash:/c870-advsecurityk9-mz.124-24.T1.bin? [confirm]

Если же места достаточно, оставьте и старую систему, на месте. Мешать не будет.
Теперь зальем новый образ IOS.

r0#copy usbflash1:c870-advipservicesk9-mz.124-24.T5.bin flash:c870-advipservicesk9-mz.124-24.T5.bin
r0#Destination filename [cisco_ios_bin]? yes

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

Cisco TTCP (аналог IPERF)

В Cisco IOS с 11й версии есть не документированная команда ttcp. Это несколько урезанный аналог ipref из ОС Linux.
В этой статье покажу пример как проверить пропускную способность между двумя коммутаторами Cisco.

На первом (192.168.0.1), в привилигированном режиме запускаем тестирование с параметрами по умолчанию.

Router1#ttcp
 transmit or receive [receive]:
 perform tcp half close [n]:
 receive buflen [8192]:
 bufalign [16384]:
 bufoffset [0]:
 port [5001]:
 sinkmode [y]:
 rcvwndsize [4128]:
 delayed ACK [y]:
 show tcp information at end [n]:

На втором запускаем сам тест, с теми же параметрами, но вписываем Target IP address (IP первого роутера).

Router2#ttcp
 transmit or receive [receive]: transmit
 Target IP address: 192.168.0.1
 perform tcp half close [n]:
 send buflen [8192]:
 send nbuf [2048]:
 bufalign [16384]:
 bufoffset [0]:
 port [5001]:
 sinkmode [y]:
 buffering on writes [y]:
 show tcp information at end [n]:

 ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp  -> 192.168.0.1
 ttcp-t: connect (mss 536, sndwnd 5840, rcvwnd 4128)
 ttcp-t: 16777216 bytes in 4468 ms (4.468 real seconds) (~3666 kB/s) +++
 ttcp-t: 2048 I/O calls
 ttcp-t: 0 sleeps (0 ms total) (0 ms average)

Apache (httpd) — запрет просмотра «пустой» директории

Если нужно закрыть от посторонних глаз содержимое директории, но сунуть туда пустой index.html (index.php) файл — не вариант. Приводим настройки своего Virtual Host к следующему виду.


 ServerName lectra.me
 ServerAlias www.lectra.me
 DocumentRoot /var/www/lectra.me
 
 Options -Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 Allow from all
 
 

В принципе, можно сделать тоже самое, прописав следующие строки в файле .htaccess

Options -Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 Allow from all

Windows 7 (2008) обновления через прокси.

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

netsh winhttp set proxy 192.168.0.1:3128

Просмотр уже добавленного прокси сервера

etsh winhttp show proxy

Сброс настроек прокси

netsh winhttp reset proxy

Обратите внимание на то, что введенный таким образом прокси сервер — никак не влияет на используемый Internet Explorer’ом адрес, указанный в «Свойства обозревателя».

Cisco — сброс настроек интерфейса

Бывает так, что нужно сбросить настройки одного из сетевых интерфейсов Cisco на настройки «По умолчанию» не затронув при этом ничего важного.

Для этого, выполняем следующее.

Router> enable
Router#
Router# conf t
Router (config)# default int fastEthernet 1

В ответ получаем строку «Interface FastEthernet 1 set to default configuration». Это значит что все выполнено — верно.

Сброс пароля на dlink 3200-**

Понадобилось сбросить пароль на устройстве семейства dlink-3200-*
Вот какая, не сложная процедура требуется, для этого.

  1. Подключаемся консольным кабелем
  2. При включении коммутатора зажать «SHIFT + 6» (Коммутатор войдет в режим восстановления пароля.)
  3. Дать команду reset account и reboot

Вот и все, после перезагрузки у нас чистое устройство.

Скрываем лишнюю информацию в httpd и php.

Часто бывает так, что хочется скрыть информацию о сервере на отдаваемых веб-сервером httpd — страницах ошибок.
А именно тип операционной системы, версию php и пр.
Вот как это можно сделать.

Apache (httpd)

В конфигурационном файле веб-сервера /etc/httpd/conf/httpd.conf добавляем следующее (если такие строки уже есть — заменяем, не дублируем!)

ServerTokens Prod (или Minimal)
 ServerSignature Off

PHP

В заголовках php фреймворк вообще откровенничает больше остальных. Чтобы убрать компрометирующие данные, в конфигурационном файле php — /etc/php.ini пишем следующую директиву.

expose_php Off

После этих действий, Ваш сервер станем менее откровенным в ответах, а значить более защищенным.

mysqldump — Частичный дамп

Иногда бывает так что нужно сделать дамп определенной таблицы, а то и вовсе выборку записей с определенным ключем.
Набросал несколько команд, которыми можно сделать это…

Дамп одной таблицы.

mysqldump -u -p mydb table > table.sql

Дамп с выборкой по значению ‘id = 1’ из определенной таблицы.

mysqldump -u -p mydb table --where="id=10"

rdesktop монтирование флешки

Порой бывает так, что нужно в подключении у удаленному рабочему столу через rdesktop — «пробросить» флешку. Для этого приводим свою строку подключения к следующему виду.

rdesktop 192.168.0.1 -u user -f -a 32 -z -x b -P -r disk:flash=/media/

После этого, в Windows сессии, в папке «Мой компьютер» появится системная папка «flash на %hostname_linux_pc%», в которой будут создаваться отдельные директории для каждой подключенной флешки, именуемые меткой тома самой флешки.

Работает почти во всех Linux-based дисрибутивах, а так же применятся к Thinstation с некоторыми «извращениями»