Маршрутизация. 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-сервер" и нажмите сохранить текущую конфигурацию.

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

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

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

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

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

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

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

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

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

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

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

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

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