вторник, 20 сентября 2011 г.

Cisco DHCP

Здравствуйте.
Рассмотрим задачу раздачи и получения ip адреса по протоколу dhcp маршрутизатором cisco.
Маршрутизатор будет выступать и сервером и клиентом.

1. Простейший способ получения ip адреса из dhcp пула без привязки.

НАСТРОЙКА МАРШРУТИЗАТОРА ВЫСТУПАЮЩЕГО СЕРВЕРОМ
Ввводим следующие команды.
R5>enable
R5#configure terminal
R5(config)#interface fastEthernet 0/0
R5(config-if)#ip address 10.1.0.1 255.255.255.0
R5(config-if)#no shutdown
R5(config-if)#
*Mar  1 00:17:33.511: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:17:34.511: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R5(config-if)#exit
R5(config)#ip dhcp pool cisco
R5(dhcp-config)#network 10.1.0.0 255.255.255.0
R5(dhcp-config)#default-router 10.1.0.1
R5(dhcp-config)#exit
R5(config)#ip dhcp excluded-address 10.1.0.1
R5(config)#exit
R5#write memory

НАСТРОЙКА МАРШРУТИЗАТОРА ВЫСТУПАЮЩЕГО КЛИЕНТОМ
Вводим следующие команды.
R6>enable
R6#configure terminal
R6(config)#interface fastEthernet 0/0
R6(config-if)#ip address dhcp
R6(config-if)#no shutdown
R6(config-if)#exit
R6(config)#exit
R6#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]

2. Способ с привязкой определенного ip адреса к клиентскому маршрутизатору.

НАСТРОЙКА МАРШРУТИЗАТОРА ВЫСТУПАЮЩЕГО СЕРВЕРОМ
Вводим следующие команды.
R5>enable
R5#configure terminal
R5(config)#interface fastEthernet 0/0
R5(config-if)#ip address 10.1.0.1 255.255.255.0
R5(config-if)#no shutdown
R5(config-if)#
*Mar  1 00:17:33.511: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:17:34.511: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R5(config-if)#exit
R5(config)#ip dhcp pool cisco
R5(dhcp-config)#host 10.1.0.50 ?
  /nn or A.B.C.D  Network mask or prefix length
  <cr>
R5(dhcp-config)#host 10.1.0.50 255.255.255.0
R5(dhcp-config)#client-identifier 01c0.070e.1800.00
где  c007.0e18.0000 мак адрес клиента.
R5(dhcp-config)#default-router 10.1.0.1
R5(dhcp-config)#exit
R5(dhcp-config)#default-router 10.1.0.1
R5(dhcp-config)#exit

НАСТРОЙКА МАРШРУТИЗАТОРА ВЫСТУПАЮЩЕГО КЛИЕНТОМ
Вводим следующие команды.
R6>enable
R6#configure terminal
R6(config)#interface fastEthernet 0/0
R6(config-if)#ip address dhcp client-id fastEthernet 0/0
R6(config-if)#no shutdown
R6(config-if)#
*Mar  1 00:30:31.891: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 10.1.0.50, mask 255.255.255.0, hostname R6
R6(config-if)#exit
R6(config)#exit
R6#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]

Все настройка завершена.

























воскресенье, 14 августа 2011 г.

Cisco NAT

Здравствуйте.
Рассмотрим задачу построения nat на cisco.

НАСТРОЙКА МАРШРУТИЗАТОРА 

На внутреннем интерфейсе вводим команду.
  ip nat inside
На внешнем соответственно вводим команду.

ip nat outside
Создаем списки доступа. Например такие.
access-list 10 permit 192.168.57.0 0.0.0.255

access-list 20 permit 192.168.58.0 0.0.0.255
access-list 30 permit 192.168.55.0 0.0.0.255
access-list 40 permit 192.168.60.0 0.0.0.255
access-list 50 permit 20.20.20.0 0.0.0.255
Собственно "натим".
ip nat inside source list 10 interface FastEthernet1/0 overload
ip nat inside source list 20 interface FastEthernet1/0 overload
ip nat inside source list 30 interface FastEthernet1/0 overload
ip nat inside source list 40 interface FastEthernet1/0 overload
ip nat inside source list 50 interface FastEthernet1/0 overload

overload -позволяет выходить нескольким адресам с одной сети.

Для ограничения использовать расширенные access-list
<1-99>            IP standard access list        стандартные
<100-199>         IP extended access list    расширенные

Пример команды.
access-list 110 permit 80 20.20.20.0 0.0.0.255 host ya.ru

где 110 -номер листа
permit/deny - разрешить/запретить
80 - номер порта, например... 
<0-255>  An IP protocol number
  ahp      Authentication Header Protocol
  eigrp    Cisco's EIGRP routing protocol
  esp      Encapsulation Security Payload
  gre      Cisco's GRE tunneling
  icmp     Internet Control Message Protocol
  igmp     Internet Gateway Message Protocol
  ip       Any Internet Protocol
  ipinip   IP in IP tunneling
  nos      KA9Q NOS compatible IP over IP tunneling
  ospf     OSPF routing protocol
  pcp      Payload Compression Protocol
  pim      Protocol Independent Multicast
  tcp      Transmission Control Protocol
  udp      User Datagram Protocol
20.20.20.0 - сеть
0.0.0.255 - wild cast
host - назначение, например
 A.B.C.D  Destination address 
  any      Any destination host
  host     A single destination host


пятница, 1 июля 2011 г.

Настройка PPPoE клиента

Здравствуйте.
Рассмотрим классическую задачу подключения нашего маршрутизатора к провайдеру через PPPoE.
То есть наш маршрутизатор будет выступать как PPPoE клиент.

СТЕНД
Соберем простой стенд.
Два роутера соединеных через порты fastEthernet 0/0.


НАСТРОЙКА МАРШРУТИЗАТОРА
На роутере сервера настроим PPPoE из этой статьи, кроме шифрования и компрессии. PPP аутентификацию укажем chap. 
На роутере клиента вводим следующее.


Входим в привилегированный режим.

R1#enable


Входим в режим конфигурирования терминала.
R1#configure terminal


Входим на интерфейс.
R1(config)#interface fastEthernet 0/0

Включаем его.
R1(config-if)#no shutdown

Активируем PPPoE на интерфейсе
R1(config-if)#pppoe enable

Указываем что мы являемся клиентом и откуда брать наши параметры.

R1(config-if)#pppoe-client dial-pool-number 1

Создаем интерфейс который и "звонить". Номер интерфейса мы указали выше.
R1(config)#interface dialer 1

Получаем ip адрес от сервера.
R1(config-if)#ip address negotiated

Указываем размер пакета.
R1(config-if)#ip mtu 1492

Зададим тип туннелирования.
R1(config-if)#encapsulation ppp

Метка пула.
R1(config-if)#dialer pool 1

Заставим сервер аутентифицировать у себя.
R1(config-if)#ppp authentication chap callin

Собственно наш логин для подключения.
R1(config-if)#ppp chap hostname ciscouser


Ну и соответственно пароль.
R1(config-if)#ppp chap password ciscopassword

Выходим из настройки интерфейса и вводим последнюю команду.
R1(config)#dialer-list 1 protocol ip permit
Как видно это access list для интерфейса dialer.

Проверяем.
R1#show pppoe session
     1 client session

Uniq ID  PPPoE  RemMAC          Port                    VT  VA         State
           SID  LocMAC                                      VA-st
    N/A     30  c001.15d8.0000  Fa0/0                  Di1  Vi2        UP
                c000.15d8.0000                              UP

Можно контрольно послать "пинг".

Настройка  закончена. 

четверг, 30 июня 2011 г.

Настройка SLA (резервный интернет)


Здравствуйте.
Сегодня рассмотрим вопрос управления интернетом от нескольких провайдеров.
А именно: есть основной канал и резервный. Резервный канал как это часто бывает является по мегабитным  и будет активироваться только в момент отказа основного.Для этого будем использовать sla. Что такое sla коротко здесь.


СТЕНД
Соберем стенд для демонстрации данной ситуации.

Роутер R1 - некий ресурс в интернете
Роутеры R2 и R3 - провайдеры интернета
Роутер R5 - наш маршрутизатор


НАСТРОЙКА МАРШРУТИЗАТОРА 

Запускаем консоль.

Входим в привилегированный режим.
R1#enable

Входим в режим конфигурирования терминала.
R1#configure terminal

Создаем собственно sla. Редактированию sla не поддается. В случае ошибки надо удалить и создать заново.
R5(config)#ip sla 1

Указываем что будем "пинговать" некий ресурс  в интернете (в нашем случае это Loopback 0 на R2) через интерфейс fastEthernet 0/0 (вариантов проверки различных ресурсов много, но в данном пример будем использовать именно icmp-echo).
R5(config-ip-sla)#icmp-echo 90.90.90.1 source-interface fastEthernet 0/0

Выходим.
R5(config-ip-sla-echo)#exit

Создаем задание для sla с параметрами начала работы "немедленно и на всегда". Так же не поддается редактированию.
R5(config)#ip sla schedule 1 start-time now life forever

Создаем track на доступность sla.
R5(config)#track 1 ip sla 1 reachability

Создаем статический маршрут с зависимостью от track1. Здесь мы будем проверять только на примере подсети 10.0.0.0 /24.
R5(config)#ip route 10.0.0.0 255.255.255.0 fastEthernet 0/1 track 1

Теперь выйдем и посмотрим таблицу маршрутизации.
R5#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      10.0.0.0/8 is variably subnetted, 6 subnets, 3 masks
D        10.0.0.0/8 [90/33280] via 20.20.20.1, 00:32:00, FastEthernet0/1
S        10.0.0.0/24 is directly connected, FastEthernet0/1
D        10.1.0.0/24 [90/30720] via 10.10.10.1, 00:32:14, FastEthernet0/0
D        10.1.1.0/24 [90/30720] via 10.10.10.1, 00:32:14, FastEthernet0/0
C        10.10.10.0/24 is directly connected, FastEthernet0/0
L        10.10.10.2/32 is directly connected, FastEthernet0/0
      20.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
D        20.0.0.0/8 [90/33280] via 10.10.10.1, 00:32:14, FastEthernet0/0
C        20.20.20.0/24 is directly connected, FastEthernet0/1
L        20.20.20.2/32 is directly connected, FastEthernet0/1
D     90.0.0.0/8 [90/156160] via 10.10.10.1, 00:12:50, FastEthernet0/0

Мы видим что есть статический маршрут который мы задавали. Так как статический маршрут имеет больший приоритет над eigrp то трафик должен ходить именно через fastEthernet 0/1. В случае когда используются только статические маршруты разделение по приоритетам делается с помощью задания метрики(дистанции). Соответственно у маршрута с track она должна быть выше. В данный момент дистанция равна 1. То есть резервный статический маршрут для данного примера должен быть в диапазоне  2-255. Следует заметить, что маршрут с более низкой дистанцией в активную таблицу маршрутизации не попадает.

Посмотрим состояние track маршрута.
R5#show ip route track-table
 ip route 10.0.0.0 255.255.255.0 FastEthernet0/1 track 1 state is [up]

Проверим работает ли. Трафик должен пойти по заведомо большему пути через fastEthernet 0/1 
R5#traceroute 10.0.0.1

Type escape sequence to abort.
Tracing the route to 10.0.0.1

  1  *
    20.20.20.1 36 msec 100 msec
  2 10.1.1.1 48 msec 84 msec 80 msec
  3 10.1.0.1 124 msec *  108 msec

Сымитируем проблему с интернетом отключив интерфейс Loopback 0 на R2.
R2(config)#int loopback 0
R2(config-if)#shutdown

Сообщение от отключении интерфейса
*Mar  1 01:05:44.943: %LINK-5-CHANGED: Interface Loopback0, changed state to administratively down
*Mar  1 01:05:45.943: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to down

Сообщение на R5 о недоступности sla.
*Jul  1 08:59:39.391: %TRACKING-5-STATE: 1 ip sla 1 reachability Up->Down


Грабли: вот это на самом деле очень важное сообщение. Было в практике когда после падения некого удаленного хоста сообщение не появлялось хотя маршрут проподал из активной таблицы  и роутер не переключался. По этой причине в стенде использован маршрутизатор с7200(R5) остальные соответственно с2961.  

Проверяем наличие нашего статического маршрута. Если все нормально то его не должно быть.
R5#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      10.0.0.0/8 is variably subnetted, 6 subnets, 3 masks
D        10.0.0.0/8 [90/33280] via 20.20.20.1, 00:35:31, FastEthernet0/1
D        10.0.0.0/24 [90/33280] via 10.10.10.1, 00:00:27, FastEthernet0/0
D        10.1.0.0/24 [90/30720] via 10.10.10.1, 00:35:45, FastEthernet0/0
D        10.1.1.0/24 [90/30720] via 10.10.10.1, 00:35:45, FastEthernet0/0
C        10.10.10.0/24 is directly connected, FastEthernet0/0
L        10.10.10.2/32 is directly connected, FastEthernet0/0
      20.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
D        20.0.0.0/8 [90/33280] via 10.10.10.1, 00:35:45, FastEthernet0/0
C        20.20.20.0/24 is directly connected, FastEthernet0/1
L        20.20.20.2/32 is directly connected, FastEthernet0/1

Посмотрим состояние track маршрута.
R5#show ip route track-table
 ip route 10.0.0.0 255.255.255.0 FastEthernet0/1 track 1 state is [down]
Как видно он в "лежке".

Проверим по какому маршруту ходит трафик.
R5#traceroute 10.0.0.1

Type escape sequence to abort.
Tracing the route to 10.0.0.1

  1 10.10.10.1 96 msec 64 msec 52 msec
  2 10.1.0.1 76 msec *  72 msec
Видно что он ходит через fastEthetnet 0/0 маршрутизатора R5.

Посмотрим на восстановление основного канала.
Включим интерфейс. 
R2(config-if)#no shutdown
R2(config-if)#
*Mar  1 01:08:17.871: %LINK-3-UPDOWN: Interface Loopback0, changed state to up
*Mar  1 01:08:18.871: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up

Секунд через 30 на R5 появилось сообщение о поднятии sla.
*Jul  1 09:02:34.395: %TRACKING-5-STATE: 1 ip sla 1 reachability Down->Up

Проверим по какому маршруту ходит трафик.
R5#traceroute 10.0.0.1

Type escape sequence to abort.
Tracing the route to 10.0.0.1

  1 20.20.20.1 56 msec 44 msec 28 msec
  2 10.1.1.1 32 msec 56 msec 36 msec
  3 10.1.0.1 92 msec *  72 msec
Собственно видно, что ходит трафик по основному маршруту.
На этом все...



среда, 29 июня 2011 г.

GRE over IPSec

Здравствуйте.
Очень часто возникает задача связать два офиса. Одним из способов является настройка GRE туннелей. Коротко читаем здесь.

СТЕНД
Соберем стенд на основе GNS3. Добавим три маршрутизатора типа c2691 и облако.
Как собирать стенд в GNS можно глянуть здесь в начале статьи.
Для данной схемы маршрутизатор R1 будет маршрутизатором клиента.R2 некий маршрутизатор провайдера.R3 маршрутизатор удаленного офиса.
Настроим наши маршрутизаторы.

НАСТРОЙКА МАРШРУТИЗАТОРА 

Запускаем консоль.

Входим в привилегированный режим.
R1#enable

Входим в режим конфигурирования терминала.
R1#configure terminal

Входим на интерфейс к которому подключено "облако".
R1(config)#interface fastEthernet 0/1

Присваиваем IP адрес интерфейсу. 
R1(config-if)#ip address 10.1.0.60 255.255.255.0
(В данном случае это просто свободный адрес. он может быть любым.)


Включаем его.
R1(config-if)#no shutdown


Сообщение о поднятии интерфейса.

*Mar  1 00:09:18.955: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Mar  1 00:09:19.955: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up


Выходим из настройки интерфейса.
R1(config-if)#exit

Повторяем для другого интерфейса


Входим на интерфейс.
R1(config)#interface fastEthernet 0/0

Присваиваем IP адрес интерфейсу. 
R1(config-if)#ip address 192.168.30.1 255.255.255.252


Включаем его.
R1(config-if)#no shutdown


Сообщение о поднятии интерфейса.

*Mar  1 00:10:14.263: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:10:15.263: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Выходим из настройки интерфейса.
R1(config-if)#exit

Аналогично настроим R2.
Адрес интерфейса fa 0/0 будет 192.168.30.2 с маской 255.255.255.252. Адрес интерфейса fa 0/1 будет 192.168.31.1  с маской 255.255.255.252.

R3 будет иметь следующие адреса интерфейсов.
fa 0/1 соответственно 192.168.31.2 маска 255.255.255.252
fa 0/0 адрес 20.20.20.1 маска 255.255.255.0


Для того чтобы наш компьютер мог "достучатся" до удаленного офиса. Настроим статические маршруты на роутерах.


На R1 в режиме конфигурации вводим.
R1(config)#ip route 192.168.31.0 255.255.255.252 fastEthernet 0/0


где  192.168.31.0 255.255.255.252 - подсеть к которой будем обращаться.
fastEthernet 0/0 - направление в котором будем искать искомую подсеть. В данном случае это выходной интерфейс нашего маршрутизатора. Возможен вариант и с адресом следующего маршрутизатора.


На R3 вводим следующее.

R3(config)#ip route 192.168.30.0 255.255.255.252 fastEthernet 0/1
Теперь маршрутизатор R1 видит R3.
Для подтверждения введем в привилегированном режиме.

R1#ping 192.168.31.2


Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.31.2, timeout is 2 seconds:
...!!
Success rate is 40 percent (2/5), round-trip min/avg/max = 44/72/100 ms


Как видно связь есть хотя первые пакеты и потерялись.


Сделаем тоже с маршрутизатора R3, но из режима конфигурации терминала с помощью команды do


R3(config)#do ping 192.168.30.1


Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.30.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/52/72 ms

Команда do позволяет запускать команды не доступные в режиме конфигурации терминала.
 Командой traceroute проследим прохождение пакетов.

R1#traceroute 192.168.31.2


Type escape sequence to abort.
Tracing the route to 192.168.31.2


  1 192.168.30.2 40 msec 44 msec 28 msec
  2 192.168.31.2 44 msec *  92 msec
Как видно пакеты проходят через R2 (192.168.30.2)

Теперь когда наши маршрутизаторы через интернет "видят" друг друга настроим собственно туннель.
В режиме конфигурации терминала введем команды.


Для начала активируем интерфейс туннеля.
R1(config)#interface tunnel 0


Присвоим ip адрес нашему интерфейсу.
R1(config-if)#ip address 10.10.10.1 255.255.255.252


Введем адрес назначения туннеля, т.е. адрес маршрутизатора до которого будем строить туннель.
R1(config-if)#tunnel destination 192.168.31.2


Введем интерфейс с которого начнется туннель.
R1(config-if)#tunnel source fastEthernet 0/0 

Сообщение о поднятии туннеля.
*Mar  1 03:28:07.987: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, 
changed state to up


Проделаем те же действия  на маршрутизаторе удаленного офиса R3.

Для начала активируем интерфейс туннеля.
R1(config)#interface tunnel 0

Присвоим ip адрес нашему интерфейсу.
R1(config-if)#ip address 10.10.10.2 255.255.255.252

Укажем адрес назначения
R1(config-if)#tunnel destination 192.168.31.2

Введем интерфейс с которого начнется туннель.
R1(config-if)#tunnel source fastEthernet 0/1 

Сообщение о построении туннеля.

*Mar  1 03:32:43.187: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up

Для того что бы наши роутеры использовали этот туннель надо настроить маршрутизацию.
Так как у нас маршрутизаторы из семейства cisco будем использовать протокол eigrp.
Познакомится с ним можно здесь.
   
Войдем в режим конфигурирования протокола маршрутизации eigrp.
R1(config)#router eigrp 1
где цифра указывает на номер автономной системы. В более крупных сетях могут существовать несколько автономных систем.

Укажем под сети  которые присоединены к нашему маршрутизатору.

R1(config-router)#network 10.10.10.0 0.0.0.3
R1(config-router)#network 10.1.0.0 0.0.0.255

Здесь вместо маски под сети указывается wild card bits, которое является числом ip адресов под сети, включая broadcast.  

Для того чтобы трафик ходил по туннелю укажем только под сеть туннеля и локальную под сеть.

Аналогично проделаем для маршрутизатора R3.
R3(config)#router eigrp 1
R3(config-router)#network 10.10.10.0 0.0.0.3

R3(config-router)#network 20.20.20.0 0.0.0.255

При нахождении единой сети для маршрутизаторов использующих протокол eigrp выдаются сообщения о соседе(neighbor).
Пример сообщений показан ниже.

На R1.
*Mar  1 18:23:39.647: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.10.10.2 (Tunnel0) is up: new adjacency


На R3.
 Internet Security Association and Key Management Protocol (ISAKMP) policy Internet Security Association and Key Management Protocol (ISAKMP) policy
*Mar  1 18:23:38.499: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.10.10.1 (Tunnel0) is up: new adjacency


Теперь когда поднят туннель и настроена маршрутизация локальные сети наших офисов могут "видеть" друг друга.


Для примера выполним команду ping.
R1#ping 20.20.20.1


Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.20.20.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/50/64 ms


Команда traceroute подтверждает что трафик ходит именно по туннелю.
R1#traceroute 20.20.20.1


Type escape sequence to abort.
Tracing the route to 20.20.20.1


  1 10.10.10.2 128 msec *  88 msec


Теперь когда связь есть надо сделать её безопасной.
Для начала настроим листы доступа(access-list).
Разрешим трафик по gre протоколу с адреса 192.168.30.1 на адрес 192.168.31.2, т.е разрешим стоить наши gre туннели между только нашими маршрутизаторами. По умолчанию последним правилом является запретить все. Так что то что не не разрешено явно, то запрещено.   
Для R1.



R1(config)#access-list 100 permit gre host 192.168.30.1 host 192.168.31.2

Для R3.
R3(config)#access-list 110 permit gre host 192.168.31.2 host 192.168.30.1



Теперь настроим шифрование канала.

Создадим политику.

R1(config)#crypto isakmp policy 1

Укажем тип аутентификации.
R1(config-isakmp)#authentication pre-share


Выйдем из настройки политики и укажем ключ для аутентификации.
R1(config)#crypto isakmp key 0 cisco address 0.0.0.0

Введем типы шифрования 
R1(config)#crypto ipsec transform-set cisco esp-aes 256 esp-md5-hmac

Опишем режим.
R1(cfg-crypto-trans)#mode transport
 

Аналогично сделаем и для R3.

Теперь создадим crypto map на R1 с именем cisco,который позже применим к интерфейсу.
R1(config)#crypto map cisco 10 ipsec-isakmp
При создании crypto map выпадает сообщение.
% NOTE: This new crypto map will remain disabled until a peer

 
        and a valid access list have been configured.
Которое говорит о необходимости настройки адреса и листа доступа.
Укажем адрес.
R1(config-crypto-map)#set peer 192.168.31.2

Укажем типы шифрования.
R1(config-crypto-map)#set transform-set cisco

И последним шагом указываем наш лист доступа.
R1(config-crypto-map)#match address 100

Создадим на R3
R3(config)#crypto map cisco 10 ipsec-isakmp
R3(config-crypto-map)#set peer 192.168.30.1
R3(config-crypto-map)#set transform-set cisco
R3(config-crypto-map)#match address 110

Применим данные crypto map к интерфейсам.

R1(config)#interface fastEthernet 0/0
R1(config-if)#crypto map cisco

Сообщение об активации crypto.
*Mar  1 21:39:19.010: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON


И получаем предупреждение.
*Mar  1 21:39:22.334: %CRYPTO-4-RECVD_PKT_NOT_IPSEC: Rec'd packet not an IPSEC packet.
        (ip) vrf/dest_addr= /192.168.30.1, src_addr= 192.168.31.2, prot= 47

А также о том что eigrp тоже перестал работать.
*Mar  1 21:39:32.674: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.10.10.2 (Tunnel0) is down: holding time expired

Применим crypto map на R3
R3(config-if)#crypto map cisco
 

Сообщение об активации crypto.
*Mar  1 21:45:58.954: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

И о восстановлении туннеля и маршрутизации.
*Mar  1 21:46:07.978: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.10.10.1 (Tunnel0) is up: new adjacency

Сообственно все!

Основа для данной статьи взята здесь.

среда, 22 июня 2011 г.

Настройка PPPoE сервера

Здравствуйте.
Собственно что такое PPPoE?
PPPoE - это сетевой протокол канального уровня для передачи PPP кадров через Ethernet. Аббревиатура PPPoE означает Point-to-point protocol over Ethernet, что переводится как Протокол точка-точка через Ethernet.  В основном используется xDSL-сервисами.
Коротко можно ознакомится здесь.
Что такое Ethernet и PPP можно также почитать здесь и здесь  соответственно.

СТЕНД
Для демонстрации работы PPPoE в "домашних условиях" соберем стенд на основе GNS3.
Собственно берем его здесь. Также нам понадобится IOS. Будем использовать IOS c2691-adventerprisek9-ivs-mz-124-9-T7. После установки GNS3 добавим IOS в программу.
Делается это так...
Из меню выбираем пункт "Образы IOS и гипервизоры"


















В настройка нажимаем кнопку в строке "Image file"






























Сохраняем изменения

Далее собираем саму схему.
Из окна "типы узлов" добавляем "Маршрутизатор с2691"  и "Облако". Заходим в облако и выбираем на интерфейс через который мы будем устанавливать PPPoE сессию. 
Из  выпадающего списка выбираем нужный интерфейс

Нажимаем кнопку Добавить и кнопку ОК
Грабли: Если добавить интерфейс после установки GNS3,то его не будет в списке.
Например установить новую сетевую карту либо Loopback и т.д.
Далее соединяем наше "облако" с "маршрутизатор с2691". Стенд готов.


НАСТРОЙКА МАРШРУТИЗАТОРА


Запускаем консоль.


Входим в привилегированный режим.

R1#enable


Входим в режим конфигурирования терминала.
R1#configure terminal

Входим на интерфейс к которому подключено "облако".
R1(config)#interface fastEthernet 0/0
Включаем его.
R1(config-if)#no shutdown
Сообщение о поднятии интерфейса.
*Mar  1 00:08:31.115: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:08:32.115: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Выходим из настройки интерфейса.
R1(config-if)#exit

Далее создаем пользователя и настраиваем его параметры.
R1(config)#username ciscouser password ciscopassword
(имя пользователя ciscouser и пароль ciscopassword ставим свои)
Создаем новую модель aaa.
R1(config)#aaa new-model
Указываем, что аутентификация по PPP по умолчанию будет локальной.
R1(config)#aaa authentication ppp default local
Указываем, что сетевая авторизация так же будет локальной.
R1(config)#aaa authentication ppp default local
Создаем лист атрибутов с названием cisco
R1(config)#aaa attribute list cisco
Создаем атрибут типа Addr (Адрес ipv4).
R1(config-attr-list)#attribute type addr 10.10.10.2 service ppp protocol ip
Выходим.

R1(config-attr-list)#exit
Привязываем наш лист атрибутов к пользователю.
R1(config)#username ciscouser aaa attribute list cisco
Для чего создавался лист атрибутов и привязывался к пользователю?
Что бы пользователь при инициализации PPP соединения получал конкретный адрес.Данная возможность относится и к построению vpn на базе PPTP протокола.


Далее либо создаем пул адресов из которого будем выдавать ip для тех кто не привязан "жестко" по логину либо настраиваем dhcp.


Создать пул с именем cisco и адресами с 10.10.10.2 по  10.10.10.10 можно так.

R1(config)#ip local pool cisco 10.10.10.2 10.10.10.10
  
С настройкой dhcp несколько сложнее.
Для начала создадим собственно пул с именем cisco.


R1(config)#ip dhcp pool cisco
Далее зададим сеть.
R1(dhcp-config)#network 10.10.10.0 /24
Задать маску в данной команде можно как /24 так и 255.255.255.0
R1(dhcp-config)#network 10.10.10.0 ?


/nn or A.B.C.D  Network mask or prefix length


  <cr>
Зададим шлюз.
R1(dhcp-config)#default-router 10.10.10.1
Также можно задать DNS и WINS соответствующими командами  dns-server  и netbios-name-server.
Выходим.
R1(dhcp-config)#exit
Исключаем адрес нашего шлюза(роутера) из dhcp пула.
R1(config)#ip dhcp excluded-address 10.10.10.1

Создаем BBA-GROUP.
R1(config)#bba-group pppoe global
И сразу же видим,что автоматически поднялся интерфейс Virtual-Access.
R1(config-bba-group)#
*Mar  1 01:01:12.791: %LINK-3-UPDOWN: Interface Virtual-Access1, changed state to up
R1(config-bba-group)#
*Mar  1 01:01:13.791: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access1, changed state to up

Указываем, что настройки будут на основе шаблона Virtual-Template1

R1(config-bba-group)#virtual-template 1
Выходим.

R1(config-bba-group)#exit


Заходим в интерфейс fastEthernet 0/0
R1(config)#interface fastEthernet 0/0
И активируем PPPoE 
R1(config-if)#pppoe enable group global
Выходим.


R1(config-if)#exit

Займемся настройкой Virtual-Template
Входим в интерфейс.
R1(config)#interface virtual-template 1
Зададим ip адрес интерфейса.


R1(config-if)#ip address 10.10.10.1 255.255.255.0
Указываем туннелирование канала.
R1(config-if)#encapsulation ppp
Указываем пул адресов из которого будем выдавать ip адреса.
R1(config-if)#peer default ip address dhcp-pool cisco
если был настроен просто пул то
R1(config-if)#peer default ip address pool cisco
Указываем через какой интерфейс будем ожидать PPPoE соединение.
R1(config-if)#ip unnumbered fastEthernet 0/0
Шифруем наше PPP соединение с помощью MPPE.
R1(config-if)#ppp encrypt mppe auto required stateful
Наличие Stateful обязательно иначе будут ошибки с шифрованием при соединении windows с cisco.
Производим аутентификацию с помощью MS-CHAP-V2.
R1(config-if)#ppp authentication ms-chap-v2
Жмем наш трафик с помощью MPPC.
R1(config-if)#compress mppc
Выходим
R1(config-if)#exit
R1(config)#exit
и сохраняем результат.
R1#write memory
Building configuration...
[OK]


НАСТРОЙКА WINDOWS












































Заходим в сетевые подключения


Создаем новое подключение














































Создаем подключение к интернет


Вводим логин и пароль который задавали в маршрутизаторе
Входим в свойства
В закладке сеть нажимаем на кнопку параметры
Ставим галочку использовать программное сжатие

После сохранения параметров выходим и соединяемся
В результате получаем PPPoE соединение с ip адресом привязанным к пользователю, шифрованием и сжатием трафика 
Результат сжатия трафика