PBR настраивается через консоль сервиса FRR.
1. Перейдите в linux bash, для этого выполните следующую команду в CLI разграничения доступа:
administrator@hub1] system
Entering system shell...
root@Hub1:~#
2. Добавьте сервис FRR в автозагрузку и запустите его:
root@Hub1:~# systemctl enable frr
Synchronizing state of frr.service with SysV service script with /lib/system/system-sysv-install.
Executing: /lib/system/system-sysv-install enable frr
root@Hub1:~# systemctl start frr
При старте могут возникать сообщения:
Nov 15 15:01:54 sterrragate watchfrr[831]: [EC 268435467] zebra state -> down : initial connection attempt failed
Nov 15 15:01:54 sterrragate watchfrr[831]: [EC 268435467] bgpd state -> down : initial connection attempt failed
Nov 15 15:01:54 sterrragate watchfrr[831]: [EC 268435467] ripd state -> down : initial connection attempt failed
Nov 15 15:01:54 sterrragate watchfrr[831]: [EC 268435467] ospfd state -> down : initial connection attempt failed
Nov 15 15:01:54 sterrragate watchfrr[831]: [EC 268435467] pbrd state -> down : initial connection attempt failedstaticd
Nov 15 15:01:54 sterrragate watchfrr[831]: [EC 268435467] zebra state -> down : initial connection attempt failed
Nov 15 15:01:54 sterrragate watchfrr[831]: [EC 100663303] Forked background command [pid 832]: /usr/lib/frr/watchfrr.sh restart all
Nov 15 15:01:54 sterrragate watchfrr.sh: Cannot stop bgpd: pid file not found
Nov 15 15:01:54 sterrragate watchfrr.sh: Cannot stop ripd: pid file not found
Nov 15 15:01:54 sterrragate watchfrr.sh: Cannot stop zebra: pid file not found
Nov 15 15:01:54 sterrragate watchfrr.sh: Cannot stop ospfd: pid file not found
Nov 15 15:01:54 sterrragate watchfrr.sh: Cannot stop pbrd: pid file not found
Nov 15 15:01:54 sterrragate watchfrr.sh: Cannot stop staticd: pid file not found
Данные сообщения не являются ошибкой при старте сервиса.
3. Войдите в консоль сервиса FRR, для этого нужно из linux bash набрать следующую команду:
root@Hub1:~# vtysh
Hello, this is FRRouting (version 7.3).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
Hub1#
4. Настройте PBR (см. описание http://docs.frrouting.org):
Hub1# configure terminal
4.1. Создайте PBR-карту (имя PBR, раздел 1):
Hub1(config)# pbr-map PBR seq 1
4.2. Укажите для каких пакетов нужно применять политику PBR:
Hub1(config-pbr-map)# match src-ip 192.168.1.0/24
Пакеты с адресом отправителя из подсети 192.168.1.0/24 будут попадать под политику PBR.
4.3. Укажите куда надо перенаправлять пакеты:
Hub1(config-pbr-map)# set nexthop 192.168.255.2
Hub1(config-pbr-map)# exit
4.4. Создайте раздел 2 и раздел 3 PBR-карты для подсетей 192.168.2.0/24 и 192.168.254.0/24:
Hub1(config)# pbr-map PBR seq 2
Hub1(config-pbr-map)# match src-ip 192.168.2.0/24
Hub1(config-pbr-map)# set nexthop 192.168.255.2
Hub1(config-pbr-map)# exit
Hub1(config)# pbr-map PBR seq 3
Hub1(config-pbr-map)# match src-ip 192.168.254.0/24
Hub1(config-pbr-map)# set nexthop 192.168.255.2
Hub1(config-pbr-map)# exit
4.5. Прикрепите PBR-карту к интерфейсу:
Hub1(config)# interface eth0
Hub1(config-if)# pbr-policy PBR
Hub1(config-if)# exit
Hub1(config)# exit
4.6. Сохраните настройки сервиса FRR:
Hub1# write
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Warning: /etc/frr/frr.conf.sav unlink failed
Integrated configuration saved to /etc/frr/frr.conf
[OK]
В Приложении представлены тексты конфигураций для криптошлюза Hub1:
· текст консоли cisco-like;
· текст LSP;
· текст консоли FRR.