Просмотр Исходного

h2. Описание интерфейсов (пример)

eth0 - внешний канал 1. Адрес 1.1.1.2/24 шлюз 1.1.1.1
eth1 - внешний канал 2 Адрес 2.2.2.2/24 шлюз 2.2.2.1

eth2 - локальный сегмент 1 Адрес 192.168.1.1/24 и белые 1.1.1.3/24
eth3 - локальный сегмент 2 Адрес 192.168.2.1/24 и белые 2.2.2.3/24

h2. Настройка


h5. Шаг 1. Создать таблицу маршрутизации

Заходим в каталог для создания таблиц маршрутизации и создаем их:

{code}
cd /etc/iproute2/
echo "200 channel01" >> rt_tables
echo "210 channel02" >> rt_tables
{code}


h5. Шаг 2. Проверяем, наши таблицы добавятся в конец:
{code}
cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
200 channel01
210 channel02
{code}

h5. Шаг 3. Создаем маршруты

Заходим в каталог:
{code}
cd /etc/sysconfig/network-scripts/
{code}

Маршрут для канала 1
{code}
echo "default via 1.1.1.1 dev eth0 table channel01" >> route-eth0
{code}

Маршрут для канала 2
{code}
echo "default via 2.2.2.1 dev eth1 table channel02" >> route-eth1
{code}

Маршруты для абонентов с белыми адресами из локальной сети (*если требуется*).

1. Локальный сегмент 1
{code}
echo "1.1.1.0/24 dev eth2 table local" >> route-eth2
{code}

2. Локальный сегмент 2
{code}
echo "2.2.2.0/24 dev eth3 table local" >> route-eth3
{code}

Маршрутизация сети в нужный канал

1. Локальный сегмент 1
{code}
echo "from 1.1.1.0/24 table channel01" >> rule-eth2
{code}

2. Локальный сегмент 2
{code}
echo "from 2.2.2.0/24 table channel01" >> rule-eth3
{code}

3. Если Вы хотите, чтобы пакет с определенным адресом источника маршрутизировался через соответствующий интерфейс.

{code}
echo "from adress_eth0 table channel01" >> rule-eth0
{code}
{code}
echo "from adress_eth1 table channel02" >> rule-eth1
{code}

h5. Шаг 4. Проверяем есть ли файл для перемаршрутизации по SNAT адресу:
{code}
ls /proc/sys/net/ipv4/ip_finish_reroute
{code}
Если файла нет - звоните в [техническую поддержку|http://www.carbonsoft.ru/support/].


h5. Шаг 5. С помощью [хуков|Дополнительные настройки. hooks. Хуки] добавляем строку для перемаршрутизации по SNAT адресу:
{note}
Если добавить этот флаг, наоборот не работает.
{note}
{code}
[ -f /proc/sys/net/ipv4/ip_finish_reroute ] && echo 1 > /proc/sys/net/ipv4/ip_finish_reroute
{code}

h5. Шаг 6. Выполняем рестарт сети:
{code}
/etc/init.d/network restart
{code}

h5. *Шаг 7.* Отключить в консольном меню пункт "Carbon XGE Router 5 \-> Настройки маршрутизатора \-> Включить NAT серых сетей по умолчанию"

*Важно*
После этого все абоненты, у которых не указан SNAT адрес не будут работать\! SNAT адрес присваивается абоненту в его учетной записи.

h2. Решение проблемы доступности биллинга из локальной сети по белым адресам
В случае, если на каком-то интерфейсе останется опция GATEWAY (маршрут по-умолчанию), биллинг будет недоступен для абонентов по белым адресам, так как ответные пакеты биллинга будут уходит в созданные кастомные таблицы марщрутизации во внешнюю сеть.
Чтобы биллинг был доступен для абонентов по белым адресам, переместите маршрут по-умолчанию в таблицу default, уберите его из main и перенестие main выше кастомных таблиц. Данное решение так же нужно добавить в [хук XGE|xge:Дополнительные настройки. hooks. Хуки]:
{code}
ip r add default via 1.1.1.2 table default
ip r delete default via 1.1.1.2 dev eth0 table main
ip ru add from all pref 32500 table main{code}
{info}Номер для таблицы main должен быть меньше остальных таблиц, но больше local, посмотреть номера можно командой *ip ru*, получив приблизительно такой вывод:
{code}0: from all lookup local
32764: from 2.2.2.0/24 lookup channel02
32765: from 1.1.1.0/24 lookup channel01
32766: from all lookup main
32767: from all lookup default{code}
Исходя из полученного вывода, номер для main должен быть более 0 и менее 32764, например 32500{info}