LINUX.ORG.RU

Сообщения enzo_brn

 

На шлюзе 2 isp, а пакеты ходят только через default gw

Форум — Admin

Доброго дня. Делаю ping через основной интерфейс, он проходит, а через запасной выходит destination host unreachable.

Меняю местами шлюз по умолчанию с основного на резервный - меняется и интерфейс где прорывается пинг. Локальной сети нет, только 2 интернета. Скрипт:

#!/bin/bash

# Основной интерфейс
PRIMARY_IF="eth0"
PRIMARY_IP="10.0.2.15"
PRIMARY_NET="10.0.2.0/24"
PRIMARY_GW="10.0.2.1"

# Запасной интерфейс
RESERVE_IF="eth1"
RESERVE_IP="20.0.2.4"
RESERVE_NET="20.0.2.0/24"
RESERVE_GW="20.0.2.1"

# Заглушка
LOOP_IF="lo"
LOOP_IP="127.0.0.1"
LOOP_NET="127.0.0.0/8"

# Включаем пересылку пакетов между сетевыми интерфейсами
echo '1' > /proc/sys/net/ipv4/ip_forward

# Очистка таблиц маршрутизации по провайдерам
ip route flush table PRIMARY
ip route flush table RESERVE

# Таблица маршрутизации основного интерфейса (PRIMARY)
ip route add $PRIMARY_NET dev $PRIMARY_IF src $PRIMARY_IP table PRIMARY
ip route add $RESERVE_NET dev $RESERVE_IF table PRIMARY
ip route add $LOOP_NET dev $LOOP_IF table PRIMARY

# Таблица маршрутизации резервного интерфейса (RESERVE)
ip route add $RESERVE_NET dev $RESERVE_IF src $RESERVE_IP table RESERVE
ip route add $PRIMARY_NET dev $PRIMARY_IF table RESERVE
ip route add $LOOP_NET dev $LOOP_IF table RESERVE

# Правила маршрутизации для интерфейсов
ip rule add from $PRIMARY_IP table PRIMARY
ip rule add from $RESERVE_IP table RESERVE

# Основная таблица маршрутизации
ip route add $PRIMARY_NET dev $PRIMARY_IF src $PRIMARY_IP
ip route add $RESERVE_NET dev $RESERVE_IF
ip route add $LOOP_NET dev $LOOP_IF
#-------------------------------
ip route add $RESERVE_NET dev $RESERVE_IF src $RESERVE_IP
ip route add $PRIMARY_NET dev $PRIMARY_IF
ip route add $LOOP_NET dev $LOOP_IF

# Шлюз по умолчанию
ip route add default via $PRIMARY_GW # или change

# Очистка кеша маршрутизатора
ip route flush cache

exit 0;

 , , ,

enzo_brn
()

RSS подписка на новые темы