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

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

18.12.2019 04:49:44 Просмотров 28 Источник

У нас в компании имеется 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 и туда прописал конфиг

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 - все открывается корректно

Нужно в итоге, чтобы трафик распределялся по всем трем провайдерам одновременно. Трафик идет на nginx на 80 порту

У вопроса есть решение - Посмотреть?

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

Vadim Torik

18.12.2019 05:01:32

Дело в том что пакеты приходят с разных провайдеров, а шлюз по умолчанию только один. Вам надо настроить классический source-based routing. Делается с помощью iproute2. Вот достойный пример

Привожу пример на ваших данных.

# echo 100 eth00-route >>/etc/iproute2/rt_tables
# echo 101 eth01-route >>/etc/iproute2/rt_tables
# echo 102 eth02-route >>/etc/iproute2/rt_tables

И приводим конфигурацию /etc/network/interfaces к следующему виду:


iface eth0:0 inet static
address 192.168.3.98
netmask 255.255.248.0
gateway 192.168.0.101
post-up ip route add default via 192.168.0.100 dev eth0:0 table eth00-route
post-up ip rule  add from 192.168.3.98 lookup eth00-route

auto eth0:1
iface eth0:1 inet static
address 192.168.3.97
netmask 255.255.248.0
gateway 192.168.0.102
post-up ip route add default via 192.168.0.102 dev eth0:1 table eth01-route
post-up ip rule  add from 192.168.3.97 lookup eth01-route

auto eth0:2
iface eth0:2 inet static
address 192.168.3.96
netmask 255.255.248.0
gateway 192.168.0.103
post-up ip route add default via 192.168.0.103 dev eth0:2 table eth02-route
post-up ip rule  add from 192.168.3.96 lookup eth02-route

Надеюсь вам поможет.

https://ru.stackoverflow.com/questions/1060330/%d0%9d%d0%b5%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%b8%d1%85-ip-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d0%b5%d0%bd%d0%bd%d0%b8%d1%85-%d0%b8-%d0%b2%d0%bd%d0%b5%d1%88%d0%bd%d0%b8%d1%85-%d0%bd%d0%b0-debian/1060336#comment1815583_1060336
Спасибо большое за ответ! Прописал Как вы написали, читал статью, к сожалению только по одному IP прокинулся трафик. Если рассказать суть, то у нас в локальной сети стоит 3 роутера разных провайдеров, все роутеры в одной подсети 255.255.248.0 , сам сервер имеет адрес 192.168.3.98, если поставить маску подсети 192.168.0.101 будет интернет №1, поставить маску подсести 192.168.0.102 будет интернет №2 и поставить маску подсести 192.168.0.103 интернет №3. Может быть мои адрес 98,97,96 избыточны. Есть ваш личный контакт ? как связаться ? Я согласен платно даже получить консультацию, сил уже нет
Закрыть X