Задать вопрос
@Virtus_pro
PHP программист

Нескольких IP адресов внутренних и внешних на Debian?

У нас в компании имеется 3 интернет провайдера
У них есть шлюзы

192.168.0.100 - Провайдер № 1 Ростелеком, Внеший IP 92.126.213.101
192.168.0.102 - Провайдер №2 Дом.ру, Внеший IP 92.126.213.102
192.168.0.103 - Провайдер №2 ТТК, Внеший IP 92.126.213.103


В локальной сети Есть сервер на Debian.
Ему выделено 3 IP адреса

192.168.3.98 - маска подсети 255.255.248.0
192.168.3.97 - маска подсети 255.255.248.0
192.168.3.96 - маска подсети 255.255.248.0


Суть всего, надо чтобы если пропал интернет на одном провайдере, можно было обратиться к серверу через другой внешний IP.

В Debian открыл файл /etc/network/interfaces
и туда прописал конфиг
auto eth0:0
iface eth0:0 inet static
address 192.168.3.98
netmask 255.255.248.0
gateway 192.168.0.101

auto eth0:1
iface eth0:1 inet static
address 192.168.3.97
netmask 255.255.248.0
gateway 192.168.0.102

auto eth0:2
iface eth0:2 inet static
address 192.168.3.96
netmask 255.255.248.0
gateway 192.168.0.103


Но в итоге при обращении на все три внешние IP открывается только один.
Если по очереди отключать все IP адреса на локальном сервере в конфиге и оставлять только один, то все нормально работает.

Если из локальной сети пытаться открыть 192.168.3.98, 192.168.3.97, 192.168.3.96 - все открывается корректно
  • Вопрос задан
  • 548 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
@MechanID
Админ хостинг провайдера
Чтобы сервер мог принимать соединения из интернета через любой из провайдеров одновременно:
нужно настроить правила машрутизации под каждого провайдера, почитать это можно тут LARTC в пункте 4.2.1.
Ответ написан
Комментировать
flapflapjack
@flapflapjack
на треть я прав
возможно вам поможет мой скрипт смены шлюзов:

#!/bin/bash
route del default
gw=`ifconfig ppp1 | grep 'inet addr' | awk '{print $3}' | sed -e 's/.*://' `
route add default gw $gw

LOG="/var/log/routes"
answer=`wget -q http://myip.ru/index_small.php -O -| grep '95\.128'| sed -e 's/$
echo "`date` PPPoE White is $answer" >> $LOG

if ! ping -c1 8.8.8.8 >/dev/null; then
#        echo "No inet on PPPoE White!"
        exit 2
else
        exit 0
fi


Сможете под себя адаптировать или нужна помощь?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы