Маршрутизация. BGP.OSPF.RIP

Skip to end of metadata
Go to start of metadata

Маршрутизация по протоколу и маршруту

Перенаправление трафика

Для перенаправления трафика по определенному порту на второй интерфейс нужно использовать файл дополнительных настроек ics_tune.sh и возможность маршрутизации по NAT адресу.

Например: есть два канала:  123.123.123.123 и 231.231.231.231, основной трафик идет через 123.123.123.123, а  трафик уходящий на порты 2020-3030 нужно пускать через канал с адресом 231.231.231.231.

Решение: 

1. Включить пункт в консольном Меню-Конфигурирование сервера-Конфигурирование сети-Маршрутизировать по NAT адресу 

2. В ics_tune.sh добавляем содержимое:

#!/bin/bash
if [ "$1" = "firewall.sh" ]; then
   iptables -t nat -I POSTROUTING -p tcp   --dport 2020:3030 -j SNAT --to-source 231.231.231.231
   iptables -t nat -I POSTROUTING -p udp --dport 2020:3030 -j SNAT --to-source 231.231.231.231
fi

3. Выполняем команду

/usr/local/ics/bin/ics_tune.sh firewall.sh

 Балансировка

 
Для перенаправления сетевых пакетов с учетом протокола, маршрута, а так же базовых функций балансировки канала применяется система маршрутизации.

Введите маршрут в формате:
[src cеть/маска[:порт]] <dst cеть/маска[:порт]> <шлюз или номер интерфейса> [опции]
Параметры в квадратных скобках являются обязательными, параметры в угловых скобках можно опустить.
В качестве опций можно указать через пробел:

  • Протокол: TCP, UDP, GRE или ICMP
  • Флаги SNAT и FORCE
  • SNAT - подставлять IP адрес интерфейса от которого пользователи будут выходить в Интернет
  • FORCE - маршрутизировать независимо от маски интерфейсов (использовать не рекомендуется)
  • Вероятность срабатывания, например, 50% (для балансировки каналов).

 
Примеры:

10.0.0.0/255.128.0.0   10.0.0.15 - любой трафик идущий в подсеть 10.0.0.0/255.128.0.0 направлять на шлюз 10.0.0.15.
10.200.0.0/24   0.0.0.0/0   195.64.206.20 - любой трафик приходящий из подсети 10.200.0.0/24, идущий на любой адрес, направлять на шлюз 195.64.206.20    .
10.200.0.34   0.0.0.0/0   3 - любой трафик приходящий от компьютера 10.200.0.34 и идущий на любой адрес направлять на интерфейс №3.
10.200.0.0/24   0.0.0.0/0:80   3   TCP   SNAT - весь TCP трафик подсети 10.200.0.0/24 идущий на 80 порт для любого адреса, направлять на интерфейс №3.
10.200.0.0/24   0.0.0.0/0:80   10.2.2.2   TCP   SNAT - весь TCP трафик подсети 10.200.0.0/24 идущий на 80 порт для любого адреса, направлять на шлюз 10.2.2.2.
10.0.0.0/8   0.0.0.0/0   50%   3   TCP   SNAT - балансировка канала. 50% TCP трафика пользователей подсети 10.0.0.0/8 будет направлено на интерфейс №3.
192.168.1.0/24   0.0.0.0/0   50%   10.0.0.4   SNAT - балансировка канала. 50% трафика пользователей подсети 192.168.1.0/24 будет направлено на шлюз 10.0.0.4.
 
Примечание: !Важно: Если маршрутизировать нужно на Ethernet интерфейс, то в качестве маршрута указывается адреса шлюза. Если же маршрутизируется на виртуальный (РРТР, РРРоЕ, CIPE, OpenVPN, IPSec), то в качестве маршрута указывается номера интерфейса.
 

Сервер динамической маршрутизации (BGP, OSPF, RIP)

  • Включить ROUTING-сервер - при включении этой опции активируется сервис динамической маршрутизации, после чего сервер сможет обмениваться маршрутами по протоколам BGP, OSPF, RIP
  • Пароль для терминального доступа - терминальный доступ осуществляется при помощи данного пароля на IP-адрес (внешний или локальный) сервера по протоколу telnet на порт соответствующего сервиса 2601, 2602, 2604, 2605 (zebra, ripd, ospfd, bgpd). Если пароль не задан, то терминальный доступ запрещен.
  • Пароль для привилегированного доступа - данный пароль позволяет производить привилегированные операции через терминальный доступ, а именно конфигурацию сервисов. Если пароль не задан, то привилегированный доступ запрещен.
  • Включить поддержку BGP - укажите, чтобы включить поддержку BGP
  • Включить поддержку OSPF - укажите, чтобы включить поддержку OSPF
  • Включить поддержку RIP - укажите, чтобы включить поддержку RIP
  • сохранить текущую конфигурацию - выберите после конфигурации сервисов через терминальный доступ.
Внимание!

Использовать в пароле для терминального/привелегированного доступа можно только цифры и буквы английского алфавита. Использование (даже единоразовое) спецсимволов в этих паролях может привести к необходимости от имени удаленного помощника вручную править пароль в следующих файлах:

  • /mnt/ro_disc/chroot_zebra/etc/zebra/zebra.conf
  • /mnt/ro_disc/chroot_zebra/etc/zebra/zebra_bgpd.conf
  • /mnt/ro_disc/chroot_zebra/etc/zebra/zebra_ospfd.conf
  • /mnt/ro_disc/chroot_zebra/etc/zebra/zebra_ripd.conf

Информация по настройке BGP через терминальный доступ ниже:

Настройка BGP через терминальный доступ

Чтобы была возможна настройка BGP через терминальный доступ должны быть обязательно заданы пароли для терминального и привилегированного доступа.

Подключитесь по протоколу telnet на IP-адрес вашего сервера к порту 2605.

Введите пароль для терминального доступа.

telnet 192.168.0.1 2605
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^\]'.

Hello, this is zebra (version 0.95a).
Copyright 1996-2004 Kunihiro Ishiguro.

User Access Verification

Password:
Carbon-bgpd>

Введите команду enable. Сервер запросит пароль для привилегированных операций.

Carbon-bgpd> enable
Password:
Carbon-bgpd#

Для начала конфигурации введите команду configure terminal.

Выполните конфигурацию, например, как показано ниже.

65530 - обозначение AS (Autonomous system)

network 192.168.88.0/24 - подсеть которую обслуживает данная AS.

Когда конфигурация закончена, введите команду end.

Выполните сохранение командой write.

Carbon-bgpd# configure terminal
Carbon-bgpd(config)# router bgp 65530
Carbon-bgpd(config)# bgp router-id 192.168.0.1
Carbon-bgpd(config-router)# network 192.168.88.0/24
Carbon-bgpd(config-router)# neighbor 192.168.0.5 remote-as 65532
Carbon-bgpd(config-router)# neighbor 192.168.0.5 soft-reconfiguration inbound
Carbon-bgpd(config-router)# end
Carbon-bgpd# write
Configuration saved to /etc/zebra/bgpd.conf

После этого выберите в локальном меню сервера пункт "Конфигурирование сервера"->"ROUTING-сервер" и нажмите сохранить текущую конфигурацию.

Полезный совет: Любую команду можно отменить используя no в начале строки.
Например:

no network 192.168.88.0/24

Теперь ROUTING-сервер будет обмениваться маршрутами с bgp-сервером 192.168.0.5.

Проверить состояние можно через терминальный доступ командой show ip bgp summary.

Проверить конфигурацию можно командой show running-config

Настройка RIPd, OSPFd производится аналогичным образом.

http://www.opennet.ru/base/net/zebra_doc.txt.html

Внимание! Если использовались белые адреса соседних провайдеров, нужно прописать маршруты в ics_tune.sh для таблицы main. Это нужно поскольку маршруты zebra считаются более приоритетными по отношению к системным маршрутам.

BGP Настройка и раздача адресов

Для раздачи анонсированный по BGP адресов достаточно прописать один из адресов на локальном интерфейсе с вашей маской.

В данном примере это 192.168.88.1/24

Остальные адреса можно раздавать абонентам, маска как на локальном интерфейсе, шлюзом будет адрес локального интерфейса.

BGP. Несколько соседей

При использовании BGP стыков с несколькими вышестоящими операторами, может потребоваться дополнительная настройка, в зависимости от индивидуальных особенностей.

Ее должен проводить ваш специалист по BGP. Ему может помочь статья на портале opennet:http://www.opennet.ru/docs/RUS/bgp_rus/

BGP не поддерживает 32 битные AS

После ввода номера AS идет ошибка unknown command, если вводим 16бит.

Самый быстрый путь решения, это сменить битность через RIPE

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.