пятница

Маршрутизация между VLANs (Inter-VLAN Routing or Routed VLAN Interface)

Всем привет, Juniper SRX отличные железки, полноценно могут решить базовые задачи. Допустим, есть удаленный филиал, где необходимо несколько виртуальных сетей, чтобы не городить дополнительных железяк нам вполне достаточно приобрести Juniper SRX, он прекрасно исполнит роль межсетевого экрана, L2 и L3 коммутатора. Конечно, в Офисах где все серьезно лучше так не делать, т.к. межсетевой экран должен выполнять свою функцию, ядро сети свою, access коммутаторы соответственно функцию L2.
В данной статье будет рассматриваться только настройка маршрутизации между VLAN, глобальных ip, NAT, VPN и прочего не будет, на эти темы можно написать отдельные статьи.
В качестве экспериментального устройства будет использоваться все тот же SRX100. Сразу смотрим с чем имеем дело:
root@srx> show version
Hostname: srx
Model: srx100b
JUNOS Software Release [11.4R7.5]
Данную железку уже настраивали, поэтому откатимся до заводских настроек:
[edit]
root@srx# load factory-default
warning: activating factory configuration
Мы уже знаем, что пока мы не ввели команду commit, ничего не применится, и это очень удобно, в отличии от Cisco. Но перед этим зададим пароль и имя:
[edit]
root@srx# set system host-name SRX
[edit]
root@srx# set system root-authentication plain-text-password
New password:***********
Retype new password: ***********
[edit]
root@srx# commit
Поле для деятельности расчищено!
Имеем конфигурацию по умолчанию, которую Вы можете посмотреть в разделе Juniper SRX100 конфигурация по умолчанию.
Задачи:

  1. Создать несколько виртуальных сетей

  2. Включить между ними маршрутизацию

  3. Для проверки настроить DHCP
Вот такие простые задачиJ. И мы не скажем, что под этим скрывается создание зон и политик.
В данном примере настроим всего три интерфейса, fe-0/0/5, fe-0/0/6, fe-0/0/7, создадим две виртуальной сети (vlan unit 56 и vlan unit 7), два vlans (User vlan-id 56 и Server vlan-id 7), две зоны (User и Server) и две разрешающие политики (from User-to-Server и from Server-to-User). Т.к. не хочется назначать сетевые настройки клиентам руками, поднимем DHCP.
Интерфейсы fe-0/0/5 и fe-0/0/6 будут принадлежать vlans User в подсети 192.168.56.0/24.
Интерфейс fe-0/0/7 будет принадлежать vlans Server в подсети 192.168.7.0/24.
Все физические интерфейсы будут работать в режиме access.
Создадим виртуальные интерфейсы:
root@SRX# set interfaces vlan unit 56 family inet address 192.168.56.1/24
и
root@SRX# set interfaces vlan unit 7 family inet address 192.168.7.1/24
Смотрим:
root@SRX# show interfaces vlan
unit 7 {
family inet {
address 192.168.7.1/24;
}
unit 56 {
family inet {
address 192.168.56.1/24;
}
Juniper не Cisco, сам вланы не создает:
root@SRX# set vlans User vlan-id 56 l3-interface vlan.56
и
root@SRX# set vlans Server vlan-id 7 l3-interface vlan.7
Смотрим:
root@SRX# show vlans
Server {
vlan-id 7;
l3-interface vlan.7;
}
User {
vlan-id 56;
l3-interface vlan.56;
}
Проверяем:
root@SRX# commit check
configuration check succeeds
Применяем:
root@SRX# commit
Добавим наши интерфейсы принадлежность к влан. Нельзя забывать, что по умолчанию они уже находятся во влане vlan-trust. Для начала удалим принадлежность к vlan-trust:
[edit interfaces fe-0/0/5 unit 0 family ethernet-switching vlan]
root@SRX# delete members vlan-trust
root@SRX# set members User
Смотрим:
[edit interfaces fe-0/0/5 unit 0 family ethernet-switching vlan]
root@SRX# show
members User;
Тоже и для fe-0/0/6 и fe-0/0/7:
[edit interfaces fe-0/0/6 unit 0 family ethernet-switching vlan]
root@SRX# delete members vlan-trust
root@SRX# set members User
[edit interfaces fe-0/0/7 unit 0 family ethernet-switching vlan]
root@SRX# delete members vlan-trust
root@SRX# set members Server
Смотрим:
[edit]
root@SRX# show interfaces
fe-0/0/5 {
unit 0 {
family ethernet-switching {
  vlan {
      members User;
  }
fe-0/0/6 {
unit 0 {
family ethernet-switching {
  vlan {
      members User;
  }
fe-0/0/7 {
unit 0 {
family ethernet-switching {
  vlan {
      members Server;
  }
Применяем:
root@SRX# commit
commit complete
Вроде бы все есть и хочется уже запустить утилиту ping в действие, на данном этапе пинговать можно только с самого Juniper виртуальные интерфейсы:
root@SRX> ping 192.168.56.1
PING 192.168.56.1 (192.168.56.1): 56 data bytes
64 bytes from 192.168.56.1: icmp_seq=0 ttl=64 time=1.438 ms
root@SRX> ping 192.168.7.1
PING 192.168.7.1 (192.168.7.1): 56 data bytes
64 bytes from 192.168.7.1: icmp_seq=0 ttl=64 time=1.142 ms
Без зоны безопасности пинги на хосты не пройдут.
Создадим зону безопасности User и Server:
root@SRX# set security zones security-zone User interfaces vlan.56 host-inbound-traffic system-services all
root@SRX# set security zones security-zone Server interfaces vlan.7 host-inbound-traffic system-services all
Можно было создать одну общую зону безопасности например LAN и добавить туда vlan.56 и vlan.7, но в нашем примере осталась более гибкая возможность для дальнейшего конфигурирования.
root@SRX# commit



Поздравляю, пинги внутри подсетей ходят и Juniper пингует клиентов, которым я уже вручную назначил ip-шники.
Смотрим таблицу ARP:
root@SRX> show arp
MAC Address       Address         Name                      Interface           Flags
c8:0a:a9:2d:27:cb 192.168.1.2     192.168.1.2              vlan.0              none
00:e0:51:a9:01:9e 192.168.7.2     192.168.7.2               vlan.7              none
00:0c:29:ce:e9:d8 192.168.7.3     192.168.7.3               vlan.7              none
50:e5:49:c5:f7:88 192.168.56.2    192.168.56.2              vlan.56             none
Total entries: 4
Видим, что MAC адреса узлов по IP определяются.
Теперь, собственно, создадим политику User-to-Server:
root@SRX# set security policies from-zone User to-zone Server policy User-to-Server match source-address any destination-address any application any
root@SRX# set security policies from-zone User to-zone Server policy User-to-Server then permit
Для двухстороннего взаимодействия этого недостаточно, политика User-to-Server описывает переход трафика от зоны User в зону Server, нужно создать обратную политику Server-to-User с описанием перехода от зоны Server в зону User.
root@SRX# set security policies from-zone Server to-zone User policy Server-to-User match source-address any destination-address any application any
root@SRX# set security policies from-zone Server to-zone User policy Server-to-User then permit
root@SRX# commit
Смотрим:
from-zone User to-zone Server {
policy User-to-Server {
match {
  source-address any;
  destination-address any;
  application any;
}
then {
  permit;
}
from-zone Server to-zone User {
policy Server-to-User {
match {
  source-address any;
  destination-address any;
  application any;
}
then {
  permit;
Теперь обмен трафиком идет в двух направлениях.
Если бы мы создали одну общую зону LAN, то и политики LAN-to-LAN достаточно было одной.
Inter-VLAN Routing or Routed VLAN Interface настроен.

Теперь базово поднимем DHCP сервер:
root@SRX# set system services dhcp pool 192.168.56.0/24 address-range low 192.168.56.10 high 192.168.56.100
root@SRX# set system services dhcp pool 192.168.56.0/24 router 192.168.56.1
root@SRX# set system services dhcp pool 192.168.56.0/24 name-server 8.8.4.4
Для другой подсети:
root@SRX# set system services dhcp pool 192.168.7.0/24 address-range low 192.168.7.10 high 192.168.7.100
root@SRX# set system services dhcp pool 192.168.7.0/24 router 192.168.7.1
root@SRX# set system services dhcp pool 192.168.7.0/24 name-server 8.8.4.4
root@SRX# commit
Проверяем на хостах сетевые настойки.
На это все, всем спасибо!!!

2 комментария:

  1. разве не нужно указывать дхцп серверу propogate интерфейс?

    ОтветитьУдалить
  2. не получается :( Железка SRX550 даже пинги виртуальных интерфейсов не проходят

    ОтветитьУдалить