Маршрутизация в checkpoint

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Abigor
Сообщения: 100

Маршрутизация в checkpoint

Сообщение Abigor »

Привет!
Поправте, если не в тот раздел написал.
Дано: лабораторная среда, система CheckPoint 7.5, внутренняя локальная сеть, два провайдера.
eth0 - подключен к локальной сети, присвоен адрес 192.168.230.251;
eth1 - подключен к провайдеру 1, присвоен адрес 192.168.210.251, шлюз по умолчанию 192,168,210,200;
eth2 - подключен к провайдеру 2, присвоен адрес 192.168.220.251, шлюз по умолчанию 192,168,220,220;
Задача: обеспечить, чтобы машина с ИП адресом 192.168.230.111 из внутренней локальной сети ходила через провайдера 1, машина с ИП 192.168.230.100 - через провайдера 2.
Реализация:
1) в /etc/iproute2/rt_tables добавляю

Код: Выделить всё

200 inetrnet1
210 inetrnet2

2) правила приема пакетов

Код: Выделить всё

ip rule add from 192.168.230.111 table internet1
ip rule add from 192.168.230.100 table internet2

3) маршрут по умолчанию для соответствующих таблиц

Код: Выделить всё

ip route add default via 192.168.210.200 dev eth1 table internet1
ip route add default via 192.168.220.220 dev eth2 table internet2


Проверяю. Все работает как задумано.Записываю вышеописанные действия в конфигурационные файлы. Т.к. дистрибутив CheckPoint основан на RedHat, то и размещать конфигурационные файлы буду в соответствующих местах:
Содержимое файла /etc/sysconfig/network-scripts/rule-eth1

Код: Выделить всё

from 192.168.230.111 table internet1

Содержимое файла /etc/sysconfig/network-scripts/route-eth1

Код: Выделить всё

default via 192.168.210.200 dev eth1 table internet1

Аналогичным образом составляю файлы rule-eth2 и route-eth2.
После рестарта сети (или машины) ничерта не работает. Предполагаю, что дурак в данном случае являюсь я. Беру дистрибутив RedHat 6.1 и проделываю аналогичные действия. После рестарта сети/машины все работает как задумано. Возвращаюсь к машине с CheckPoint, проверяю еще развсе ли описано как надо. Вроде верно. Но не работает.

Вопрос: как правильно организовать маршрутизацию на машине с CheckPoint 7.5 в соответствии с поставленной задачей?
Благодарю!
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Маршрутизация в checkpoint

Сообщение DaemonTux »

После перезагрузки правила добавились? Посмотрите что находится в таблицах
Vladivostok Linux User Group
Спасибо сказали:
Abigor
Сообщения: 100

Re: Маршрутизация в checkpoint

Сообщение Abigor »

DaemonTux писал(а):
05.12.2011 10:45
После перезагрузки правила добавились? Посмотрите что находится в таблицах

В том-то и дело, что нет. Вывод нужен или наслово поверите? (:
Спасибо сказали:
Abigor
Сообщения: 100

Re: Маршрутизация в checkpoint

Сообщение Abigor »

Добавил команды в автозапуск. Таким макаром все работает. Но не правильно это...

[Expert@fw1]# cat /etc/rc.d/init.d/network

Код: Выделить всё

network          network-routing  network.upgrade
[Expert@fw1]# cat /etc/rc.d/init.d/network
#! /bin/bash
#
# network       Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
#              start at boot time.
# probe: false

. /etc/init.d/functions

CONFIG=config
TX_BUFFER_SIZE=1024

if [ -f /opt/CPshared/5.0/tmp/.CPprofile.sh ]; then
  . /opt/CPshared/5.0/tmp/.CPprofile.sh
fi

# See how we were called.
case "$1" in
  start)
        if [ -f /etc/sysconfig/netconf.C ]; then
                   action $"Configuring network: " $CONFIG net ctrl action startup
        fi
        is_interspect=`cpprod_util FwIsInterspect 2>/dev/null | tr -d ' '`
        if [ "$is_interspect"X == "1X" ]; then
                # Unlock the bridge
                echo 1 2>/dev/null >/proc/sys/net/bridge/forwarding
                # Configure failopen NICs
                cpd_sched_config print | grep -q BypassWD
                rc=$?
                if [ $rc == 1 ]; then
                   /bin/failopen off >/dev/null 2>/dev/null
                fi
        fi

        interfaces=`grep : /proc/net/dev | awk -F: '{ print $1 }'`
        for ifname in $interfaces ; do
            # Disable checksum offloading feature
            ethtool -K $ifname rx off tx off tso off 1>/dev/null 2>&1
            # Adjust transmit buffer size
            tx=`ethtool -g $ifname 2> /dev/null | grep -i tx | tail -n 1 | awk '{ print $2 }'`
            if [ $tx -gt 0 2> /dev/null ] && [ $tx -lt $TX_BUFFER_SIZE ]; then
                ethtool -G $ifname tx $TX_BUFFER_SIZE 1>/dev/null 2>&1
            fi
        done

        #Disable sending gratuitous arp upon bond failover in CXL configuration
        is_cluster_member=`cpprod_util FwIsHighAvail 2>/dev/null`
        if [ $is_cluster_member -eq 1 ]; then
                if [ -f /sys/class/net/bonding_garp ]; then
                        echo 0 2>/dev/null > /sys/class/net/bonding_garp
                fi
        fi
        touch /var/tmp/networkisstart
        touch /var/lock/subsys/network
        ;;
  stop)
        rm -f /var/lock/subsys/network
        if [ -f /etc/sysconfig/netconf.C ]; then
       action $"Stopping network: " $CONFIG net ctrl action shutdown
        fi
        ;;
  restart)
        cd /
        $0 stop
        sleep 1
        $0 start
        ;;
  *)
        echo Usage: 'network {start|stop|restart}'
        exit 1
esac

exit 0
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Маршрутизация в checkpoint

Сообщение sash-kan »

Abigor писал(а):
05.12.2011 13:59
Но не правильно это
возможно, есть и «более правильный» путь·
а если б ещё знать, что такое «система CheckPoint 7.5», то, вероятно, и «более правильный» путь нарисовался бы·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Abigor
Сообщения: 100

Re: Маршрутизация в checkpoint

Сообщение Abigor »

Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Маршрутизация в checkpoint

Сообщение sash-kan »

Abigor писал(а):
06.12.2011 12:04
Как-то так.
если вы предполагаете, что кто-то из форумчан вместо вас будет писать в их отдел маркетинга слёзные просьбы признаться, какой же дистрибутив они подкорёжили под своё супер-пупер-мега-безопасно-офигеть-какое-надёжное «ришение», то мне кажется, что с довольно большой долей вероятности вы заблуждаетесь·

p.s. давайте попробуем зайти с подветренной стороны·
программа lsb_release не грохнута чисто случайно тамошними умельцами? если да, то что она показывает?
$ lsb_release -a
?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Abigor
Сообщения: 100

Re: Маршрутизация в checkpoint

Сообщение Abigor »

Код: Выделить всё

[Expert@fw1]# lsb_release
-bash: lsb_release: command not found

sash-kan писал(а):
07.12.2011 04:39
если вы предполагаете, что кто-то из форумчан вместо вас будет писать

даже в мыслях такого не было. Разместил вопрос, в надежде, что кто-либо из участников форума имел дело с такой системой и возможно знает пути решения проблемы.
sash-kan писал(а):
07.12.2011 04:39
какой же дистрибутив они подкорёжили

RedHat
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Маршрутизация в checkpoint

Сообщение sash-kan »

Abigor писал(а):
08.12.2011 15:17
RedHat
ага·
ну, в редхато-подобных, если, опять-таки, это не поломано, в конце процедуры подъёма eth-интерфейса из /etc/sysconfig/network-scripts/ifup-eth вызывается /etc/sysconfig/network-scripts/ifup-post, в конце которого вызывается (если существует) /sbin/ifup-local (и ему передаётся имя интерфейса параметром)·
посмотрите, справедливо ли это для переделки, которой вы пользуетесь·
если да, то удачи:
создайте (скорее всего, он не существует по умолчанию) файл /sbin/ifup-local, присвойте ему бит исполнимости, и вписывайте в него команды, которые будут выполнены _сразу_же_ после поднятия интерфейса (имя интерфейса, как я уже упоминал, передаётся первым параметром — уточните в файле /etc/sysconfig/network-scripts/ifup-post)·

p.s. «сразу же после поднятия интерфейса» — это как раз тот самый волшебный миг, в который лучше всего добавлять правила netfilter-а (и корректировать маршрутизацию), касающиеся _данного_ интерфейса·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: