... h2. Маршрутизация по протоколу и маршруту h3. Перенаправление трафика Для перенаправления трафика по определенному порту на второй интерфейс нужно использовать файл дополнительных настроек [ics_tune.sh |asrdocnew:Нестандартные настройки при помощи 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 добавляем содержимое: {code} #!/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 {code} 3. Выполняем команду {code} /usr/local/ics/bin/ics_tune.sh firewall.sh {code} h3. Балансировка Для перенаправления сетевых пакетов с учетом протокола, маршрута, а так же базовых функций балансировки канала применяется система маршрутизации. !worddav4416f04338fede51166ab55cf47c792b.png|height=112,width=666! Введите маршрут в формате: *\[src cеть/маска\[:порт\]\] <dst cеть/маска\[:порт\]> <шлюз или номер интерфейса> \[опции\]* Параметры в квадратных скобках являются обязательными, параметры в угловых скобках можно опустить. В качестве опций можно указать через пробел: * Протокол: TCP, UDP, GRE или ICMP * Флаги SNAT и FORCE * SNAT - подставлять IP адрес интерфейса от которого пользователи будут выходить в Интернет * FORCE - маршрутизировать независимо от маски интерфейсов (использовать не рекомендуется) * Вероятность срабатывания, например, 50% (для балансировки каналов). *Примеры:* !worddav5b2f2be6b5cfcc40e275030a361b96e2.png|height=208,width=630! *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), то в качестве маршрута указывается *номера интерфейса*. h2. Сервер динамической маршрутизации (BGP, OSPF, RIP) !zebra.png|border=1! * Включить ROUTING-сервер - при включении этой опции активируется сервис динамической маршрутизации, после чего сервер сможет обмениваться маршрутами по протоколам BGP, OSPF, RIP * Пароль для терминального доступа - терминальный доступ осуществляется при помощи данного пароля на IP-адрес (внешний или локальный) сервера по протоколу telnet на порт соответствующего сервиса 2601, 2602, 2604, 2605 (zebra, ripd, ospfd, bgpd). Если пароль не задан, то терминальный доступ запрещен. * Пароль для привилегированного доступа - данный пароль позволяет производить привилегированные операции через терминальный доступ, а именно конфигурацию сервисов. Если пароль не задан, то привилегированный доступ запрещен. * Включить поддержку BGP - укажите, чтобы включить поддержку BGP * Включить поддержку OSPF - укажите, чтобы включить поддержку OSPF * Включить поддержку RIP - укажите, чтобы включить поддержку RIP * сохранить текущую конфигурацию - выберите *после* конфигурации сервисов через терминальный доступ. h5. Внимание\! Использовать в пароле для терминального/привелегированного доступа можно только цифры и буквы английского алфавита. Использование (даже единоразовое) спецсимволов в этих паролях может привести к необходимости от имени удаленного помощника вручную править пароль в следующих файлах: * /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 через терминальный доступ ниже: h2. Настройка BGP через терминальный доступ Чтобы была возможна настройка BGP через терминальный доступ должны быть обязательно заданы пароли для терминального и привилегированного доступа. Подключитесь по протоколу telnet на IP-адрес вашего сервера к порту 2605. Введите пароль для терминального доступа. {noformat}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>{noformat} Введите команду enable. Сервер запросит пароль для привилегированных операций. {noformat}Carbon-bgpd> enable Password: Carbon-bgpd#{noformat} Для начала конфигурации введите команду configure terminal. Выполните конфигурацию, например, как показано ниже. 65530 - обозначение AS (Autonomous system) network 192.168.88.0/24 - подсеть которую обслуживает данная AS. Когда конфигурация закончена, введите команду end. Выполните сохранение командой write. {noformat}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{noformat}После этого выберите в локальном меню сервера пункт "Конфигурирование сервера"->"ROUTING-сервер" и нажмите *сохранить текущую конфигурацию*. *Полезный совет:* Любую команду можно отменить используя *no* в начале строки. Например: {noformat} no network 192.168.88.0/24 {noformat} Теперь 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|asrdocnew:Специфичные маршруты для нестандартных сетевых конфигураций]* *для таблицы main. *{*}Это нужно поскольку маршруты zebra считаются более приоритетными по отношению к системным маршрутам.* h2. *BGP Настройка и раздача адресов* Для раздачи анонсированный по BGP адресов достаточно прописать один из адресов на локальном интерфейсе с вашей маской. В данном примере это 192.168.88.1/24
|