Только несколько замечаний
когда создаешь новый домен то надо ему создать папку, а лучше скопировать одну из уже созданных, и дать uid при помощи sudo chown -R vmail /home/vmail/ вот так вот все просто оказалось)))
И так, подключились мы к Циске Первым делом: Console>enable
Теперь с нашего сервера загрузим нужные прошивки командой copy tftp flash он попросит ввести адрес сервера, и имя того что заливаем, в данном случае нам нужны новые загрузчик и прошивка, это download/cat4000-promupgrade.6-1-5.bin и download/cat4000-k9.8-4-11-GLX.bin.
так, по одному мы их загрузили, теперь смотрим boot и добавляем в него наш новый загрузчик
set boot config-register boot system
set boot system flash bootflash:cat4000-promupgrade.6-1-5.bin prepend
советую сразу же добавить еще и нашу новую прошивку
set boot system flash bootflash:cat4000-k9.8-4-11-GLX.bin
ну вот мы сделали что надо. теперь делаем reset
начинает загружаться, видим что он что-то переписывает, загружает, делает проверки все, загрузились теперь чистим boot clear boot system flash bootflash:...
и удаляем все не нужное, в конце в буте у нас должно остаться Console> (enable) show boot BOOT variable = bootflash:cat4000-k9.8-4-11-GLX.bin,1;
удаляем с флешки всё не нужное del bootflash:...
естественно оставляем cat4000-k9.8-4-11-GLX.bin и что б это все удалилось с флешки делаем команду squeeze bootflash: таким образом мы очистили флешку, и пере-установили загрузчик с прошивкой.
И в самом конце сделаем set boot config-register boot bootflash для того что б автоматом загружалась система
Несколько способов, первый не проверен полностью, второй вдоль и поперек.
Все по очереди:
Первый:
1) подключаемся через терминал, желательно с винды, hiper terminal;
2) скачиваем прошивку 2.0.0.
3) при помощи команды console# copy startup-config tftp://.... копируем на tftp сервер наш рабочий конфиг;
4) командой Copy tftp://192.168.13.3/ats94-30030.ros image копируем прошивку в наши образы на свитче (то что 30030-пусть не пугает, так оно и должно быть);
5) проверяем каким по умолчанию образ у нас стоит Show bootvar если не наш меняем при помощи команды Boot sys image-y;
6) пускаем в ребут;
7) так же поступаем с прошивкой 30038;
Второй:
1) подключаемся через терминал, желательно с винды, hiper terminal;
2) скачиваем прошивку 3.0.0.38
3) при помощи команды console# copy startup-config tftp://.... копируем на tftp сервер наш рабочий конфиг;
4) командой Copy tftp://192.168.13.3/ats94-interim.ros image копируем прошивку в наши образы на свитче (то что 30030-пусть не пугает, так оно и должно быть);
5) проверяем каким по умолчанию образ у нас стоит Show bootvar если не наш меняем при помощи команды Boot sys image-y;
6) пускаем в ребут;
7) теперь наш любимый свитчек запросит (через пару минут прогрузки) загрузить через Xmodem фаил прошивки, а так как мы сидим в hiper terminal мы открываем
И видим окошко ниже, выбираем наш файл под название ats94-30038.ros
Оно все само загрузит и установит.
После всех этих операций устанавливаем IP адрес
и выкачиваем при помощи команды copy tftp://.... startup-config наш заранее сохраненный конфиг.
задача стояла на коммутаторе HP ProCurve установить ретранслятор, и на некоторые порты разрешить ранг, а на другие запретить, в определенной подсети.
Для настройки сервера можно добавить class "ports-hp" { match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "21" # - в кавычках номер порта or binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "30" or binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "31" or binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "22" and binary-to-ascii (16, 8, ":", suffix ( option agent.remote-id, 6))= "0:11:85:42:99:0"; # - в кавычках МАК коммутатора( возможна тут же привязка к маку хоста, IP коммутатора, и к VLAN ) } pool { range 192.168.3.64 192.168.3.79; max-lease-time 300; allow members of "ports-hp"; } Для работы коммутатора как ретранслятором надо sw(config)# dhcp-relay Включить ip routing (на коммутаторе включается функциональность 3го уровня): sw(config)# ip routing режим вставки option 82 sw(config)# dhcp-relay option 82 [validate] | drop [validate] | keep> [ip | mac] задать хелпер адресс sw(config)# vlan 3 sw(vlan-1)# ip helper-address 192.168.13.28
Впрочем вот, все надо объяснять, а это сейчас мне не хочется)
И так, пришлось мне как-то сбросить пароли с 8 таких штучек, оказалось все не так сложно.
начнем
1)вставить шнур консоли в комп и в свитч
2)отключить питание от свитча
3)зажать кнопку MODE и включить питание, отпустить кнопку только после того как погаснет индикатор первого порта Fast Ethernet
это сделано!
идем к компьютеру на котором мы видим какие-то сведения о системе и
так, начнем, мне недавно понадобилось поднять вилан интерфейс, а я тупо забыл как это делается, но не растерялся немного серфинга по просторам инэта и я это делаю так:
создаем интерфейс
ifconfig vlan4 create
после даем на команду, на какой вилан будет у нас откликаться сия интерфейс
ifconfig vlan4 vlan 4 vlandev fxp0
как видим, 4-й вилан на интерфейсе fxp0
все оказалось проще простого)
ну и в конце повесим на него адрес
ifconfig vlan4 192.168.0.1/24
и для того что бы наш любимый интерфейс загружался автоматом в /etc/rc.local добавим
Тут мне только что пришла идея что стоит некоторым пользователям закрыть доступ по ssh не задавайте вопросов зачем) вот так захотелось... что я сделал для этого: есть у нас пользователь vasia и я его очень не люблю как админа) я ему делаю такую пакость в фаил
Q-in-Q, так же это называют dot1q tunneling, это система двойного тегирования вланов. То есть, допустим у нас есть канал на некую техплощадку, на которой подключены клиенты, клиенты должны быть изолированы друг от друга с помощью vlan, но транспорт не позволяет обеспечить нужное количество вланов на каждого клиента, а владельцы транспорта дают один влан и как говорится крутись как хочешь. Вот для таких случаев замечательно подходит dot1q тунелирование, когда внутрь одного влана на входе упаковываются вланы, а на выходе транспорта распаковываются. Остается добавить, что не все виды коммутаторов поддерживают Q-in-Q, среди коммутаторов Cisco поддерживают Q-in-Q 35хх, 37xx, 45xx. Среди продуктов D-Link поддерживает Des-3825, тут Q-in-Q называется Double Vlan. И все коммутаторы производства ExtremeNetworks, они называют эту технологию vMan.
Схема коммутации для создания Q-in-Q будет выглядеть так:
На сервере (он является маршрутизатором для клиентов) терминируются все клиентские вланы(11,12, 13, 14, 15), порт GigabitEthernet 1/0/1 Switch 1, находится в режиме транка, и имеет такую конфигурацию:
Порт GigabitEthernet1/0/2 соенденен со Switch 2 порт GigabitEthernet1/0/1, нужно это для того, что бы отдать пакеты в порт который будет заворачивать весь трафик в Q-in-Q и имеет такую конфигурацию:
Порт Switch2 GigabitEthernet1/0/1 находится в режиме Q-in-Q, то есть все приходящие пакеты инкапсулирует во влан 10, и для всех устройств находящихся далее по цепочке виден только один влан, в нашем случае влан 10. А конфигурация порта GigabitEthernet1/0/1 на втором свитче будет такая:
configure terminal
interface GigabitEthernet1/0/1
description -== Q-IN-Q ==-
switchport access vlan 10
switchport mode dot1q-tunnel
switchport nonegotiate no mdix auto no cdp
enable spanning-tree bpdufilter
enable spanning-tree
bpduguard enable
Теперь все приходящее на этот порт будет упаковываться внутрь 10-го влана и соответственно выходить через порт GigabitEthernet1/0/28, его настройки будут такие:
Далее идет оборудование компании предоставляющей транспорт до нашей техплощадки, на схеме это все оборудование обозначено как некое облако, о содержимом которого мы ничего не знаем, да и знать нам не надо.
На удаленной техплощадке наш влан приходит в порт GigabitEthernet1/0/28 Switch3 с конфигурацией идентичной настроенной на Switch 2 порт GigabitEthernet1/0/28.
Трафик приходит на порт GigabitEthernet1/0/28 Switch3 имеющий двойной тег, то есть Q-in-Qшный, теперь его надо распаковать, соответственно порт GigabitEthernet1/0/1 находится в режиме Q-in-Q. Настройки его такие:
interface GigabitEthernet1/0/1 description -== Q-IN-Q ==- switchport access vlan 10 switchport mode dot1q-tunnel switchport nonegotiate no mdix auto no cdp enable spanning-tree bpdufilter enable spanning-tree bpduguard enable
Остался последний свитч Switch4, в который и включаются все клиенты. Со Switch3 он соенденен через порт GigabitEthernet1/0/1 со своей стороны и в GigabitEthernet1/0/1 на Switch3.
Настройки GigabitEthernet1/0/1 на Switch4 такие:
Ну и так далее, идентично для остальных клиентов.
На этом настройка закончена. Остается только добавить, что схему можно немного упростить физически, построив ее на основе 2 свичей вместо 4-х, для этого необходимо соорудить так называемый Q-in-Q Loop. Об этом я расскажу несколько позднее. И совсем необязательно применять для терминации клиентов равнозначные свитчи, им хватит и свитча попроще, но Q-in-Q прийдется строить все равно на базе как минимум Cisco Catalyst 35xx. Причем функция Q-in-Q в них не документирована, но работает.
Будем использовать dhcp-сервер ISC-DHCP (v3). ISC DHCP Server — наиболее распространнённый DHCP-сервер, из использующихся в UNIX/Linux-системах. Для нас сейчас важно и то, что это один из серверов, умеющих распознавать опцию 82.
Будем предполагать, что инсталляция и настройка сервера выполняется в Debian GNU/Linux. Пользователи других систем должны учесть, что процедура инсталляции и местоположение конфигурационных файлов могут несколько отличаться.
[править]Установка DHCP-сервера с поддержкой опции 82
В обычном случае установить откомпилированный DHCP-сервер из репозитория пакетов можно было бы с помощью команды:
%# apt-get install dhcp3-server
и можно было бы считать, что на этом инсталляция сервера закончена, и можно переходить к его настройке. Однако, в том случае, если предполагается использование DHCP-ретранслятора (что обязательно, если будет использоваться опция 82), может потребоваться сборка пакета с включённой директивой USE_SOCKETS. Подробнее эта процедура описана ниже.
[править]Сборка с включённой директивой USE_SOCKETS
По умолчанию DHCP-сервер ожидает услышать запросы клиентов на широковещательном адрес 255.255.255.255. Однако, когда запрос перенаправляет DHCP-ретранслятор, запрос приходит непосредственно на адрес DHCP-сервера. Для того чтобы DHCP-сервер корректно обрабатывал информацию от DHCP-ретранслятора, его необходимо скомпилировать с использованием директивы
#define USE_SOCKETS
и указать в конфигурационном файле local-address.
Скачиваем исходники DHCP-сервера:
%# apt-get source dhcp3-server
Перед началом сборки исходников необходимо установить все пакеты, необходимые для успешной сборки пакета, для чего выполнить:
%# apt-get build-dep dhcp3-server
Теперь необходимо в файле site.h раскомментировать директиву #define USE_SOCKETS:
%# vi dhcp3-3.0.6.dfsg/includes/site.h
Перейти в каталог dhcp3-3.0.6.dfsg:
%# cd dhcp3-3.0.6.dfsg/
Для того чтобы собрать пакет необходимо выполнить:
%$ dpkg-buildpackage -rfakeroot -b
или, если сборка производится root'ом:
%# dpkg-buildpackage -b
После сборки пакеты должны быть установлены в системе (инсталлируем только common и server, так как нам не нужен DHCP-ретранслятор и DHCP-клиент):
Сразу же после инсталляции пакета, сервер может не заработать — сначала необходимо отредактировать его конфигурационный файл /etc/dhcp3/dhcpd.conf.
# Укажите адрес, на который DHCP-сервер ожидает получать запросы (адрес DHCP-сервера) local-address 192.168.2.9; # Укажите подсеть интерфейса, на котором запущен DHCP-сервер subnet 192.168.2.0 netmask 255.255.255.0 { } # Если сервер получит запрос, содержащий опцию 82, он сгенерирует сообщение в системный журнал # if exists agent.circuit-id { log ( info, concat( " Lease for ", binary-to-ascii (10, 8, ".", leased-address), " Switch port: ", binary-to-ascii (10, 8, ".", option agent.circuit-id), " Switch MAC: ", binary-to-ascii(16, 8, ".", option agent.remote-id))); } # Запросы, пришедшие с 5го порта коммутатора: class "port-5" { match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "5"; } # Адрес для 5го порта: pool { range 192.168.1.55; allow members of "port-5"; }
Интерфейс, на котором будет работать DHCP-сервер, передается ему в качестве аргумента при вызове.
В Debian GNU/Linux аргументы и ключи вызова программ принято указывать в соответствующих файлах в каталоге /etc/default, в частности, конфигурационный файл, в котором находятся опции для нашего сервера, называется /etc/default/dhcp3-server.
При условии, что сервер будет слушать запросы на интерфейсе eth0, файл будет выглядеть так:
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0"
Можно указать несколько интерфейсов, запросы с которых будет обрабатывать сервер. Они должны быть разделены пробелом.
Программа brctl предназначена для создания, сопровождения и просмотра конфигурации модуля Ethernet-моста birdge в ядре Linux.
Ethernet-мост это устройство используемое для соединения разных Ethernet-сетей между собой так, что эта сеть видится как единая членов сети.
Каждая сеть, участвующая в соединении, соответствует одном интерфейсу, подключённому к мосту. Эти отдельные сети ethernet связываются в большую логическую сеть. Этой сети соответствует сетевой интерфейс моста.
Экземпляры
Команда brctl
addbr
создаёт новый экземпляр ethernet-моста. Сетевой интерфейс, соответствующий этому мосту, будет называться name. Команда brctl
delbr
удаляет экземпляр моста, который называется name. Сетевой интерфейс, соответствующий мосту, нужно сначала выключить, прежде чем удалять этот мост. Команда brctl
show
показывает все экземпляры ethernet-мостов.
Порты
У каждого моста есть подключённые к нему порты. Трафик, который приходит через любой из этих портов, прозрачно отправляется на другие; мост остаётся невидимым для остальной сети (в частности, его не видно через traceroute).
Команда brctl
addif
делает сетевой интерфейс портом моста . Это означает, что все кадры, полученные через интерфейс будут обрабатываться, как если они пришли на этот мост. И наоборот, когда кадр приходит на мост , интерфейс рассматривается как потенциальный порт для отправки трафика. Команда brctl
delif
отключает интерфейс от бриджа .
Команда brctl
show
показывает информацию про мост подключённые к нему порты.
Время жизни
Мост отслеживает какие адреса были на каждом порту. Когда нужно передать кадр, адрес получателя (заданный в кадре) которого был замечен на каком-то порту, он передаётся только на этот порт. В результате не создаётся множество лишних кадров.
Местоположение ethernet это не статические данные. Машины могут переходить на другие порты, сетевые карты могут меняться (и соответственно, будут меняться MAC-адреса) и т.д. brctl
showmacs
показывает список изученных (learned) MAC-адресов для этого моста.
brctl
setageingtime
setgcint
задаёт период сбора мусора (garbage collection interval) для моста равным секунд. Это значит, что bridge будет проверять forwarding database на наличие устаревших записей каждые секунд. ===Spanning Tree Protocol (Протокол остовного дерева)=== Несколько ethernet-мостов могут быть соединенты друг с другом ethernet-сетями и образовывать ещё большую сеть. В таких сетях обычно работает протокол 802.1d (или аналогичный). Это протокол используется для нахождения кратчайшего пути между двумя ethernet-сетями и для удаления циклов из топологий сетей ethernet. Посколько это стандарт, мосты Linux будут нормально взаимодействовать с мостами третьих производителей. Мосты взаимодействуют друг с другом при помощи отправки BBDU (Bridge Protocol Data Units). Эти BPDU можно узнать по Ethernet-адресу получателя 01:80:c2:00:00:00.
Протокол spanning tree можно выключить совсем (в тех случаях, когда в его использовании нет никакого смысла, например, когда Linux-машина это единственный мост в сети или если если вы уверены, что петель в топологии не будет наверняка). Программа brctl может настраивать некоторые параметры протокола spanning tree. Объяснение, что обозначают эти параметры можно найти в спецификации IEEE 802.1d. Настройки по умолчанию должны хорошо работать в большинстве случаев. Если вы не знаете, что означают эти параметры, скорее всего вы и не захотите их менять.
* brctl stp управляет тем, будет ли мост принимать участие в работе протокола spanning tree (STP). Если состояние это "on" или "yes", STP будет включён; во всех остальных случаях он будет выключен. При выключенной опции мост не будет отправлять или принимать BPDU и не будет никак участвовать в работе протокола spanning tree. Если этот мост не единственный в сети, или если возможны циклы в сетевой топологии, эту опцию выключать не стоит. Опцию нужно отключать, только если точно представляешь, что делаешь. .br
* brctl setbridgeprio устанавливает приоритет моста равным . Параметр priority это 16-битное беззнаковое целое без размерности (число между 0 и 65535). Чем ниже приоритет, тем "лучше". Мост с наименьшим приоритетом будет выбран как корневой. .br
* brctl setpathcost задаёт стоимость порта равным . Это метрика без единиц измерений. .br
* brctl setportprio устанавливает приоритет порта 's равным . Значение priority это беззнаковое 8-битное целое (число между 0 и 255) и без единиц измерения. Эта метрика используется при выборе корневого моста (root bridge) и корневого порта (root port).