Как через один интерфейс обращаться к нескольким шлюзам через swich
Встал такой вопрос, есть приложение 3proxy которое обращается к определенному IP и выходит через него в интернет
Связка следующая Есть два интерфейса enp47s0 - основной интернет на сервер, его не трогаем
enp37s0 - интерфейс с выходом на свич, к которому подключены два 3g модема
192.168.101.1
192.168.102.1
Адреса, модемы пингуются
Нужно что бы при обращении к 192.168.101.101 шлюз по умолчанию был 192.168.101.1 и для 192.168.102.101 соответственно 192.168.102.1
пробовал давать роуты
192.168.101.101 192.168.101.1 255.255.255.255 UGH 0 0 0 enp37s0
192.168.102.101 192.168.102.1 255.255.255.255 UGH 0 0 0 enp37s0
не проходит
так же как и выставлять два интерфейса со своим шлюзом
auto enp37s0
allow-hotplug enp37s0
iface enp37s0 inet static
address 192.168.101.101
netmask 255.255.0.0
gateway 192.168.101.1
iface enp37s0 inet static
address 192.168.102.101
netmask 255.255.0.0
gateway 192.168.102.1
Нечего не работает :(
upd. Главная цель добавить N количество интерфейсов, который будет иметь свой шлюз, в сетях слабо разбираюсь, не могу понять как.
Пробовал даже бриджы создавать
auto br0
iface br0 inet static
address 192.168.101.101
network 192.168.101.0
netmask 255.255.255.0
broadcast 192.168.101.255
gateway 192.168.101.1
bridge_ports enp37s0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
auto br1
iface br1 inet static
address 192.168.102.101
network 192.168.102.0
netmask 255.255.255.0
broadcast 192.168.102.255
gateway 192.168.102.1
bridge_ports enp37s0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Ответы (2 шт):
Поднимайте интерфесы так, как сочтете нужным, главное что бы адреса модемов 101.1 и 102.1 пинговались. При описании интерфейсов шлюзы указывать не надо. (потому как шлюз по умолчанию может быть только один) После этого вам надо создать несколько таблиц маршрутизации, в каждую из которых положить свой маршрут по умолчанию. И после этого написать правила условной маршрутизации, говорящие о том в каком случае этими таблицами пользоваться. Это можно сделать примерно так:
ip route add default tab 101 via 192.168.101.1 # маршрут по умолчанию в таблицу 101
ip route add default tab 102 via 192.168.102.1 # маршрут по умолчанию в таблицу 102
ip rule add prio 101 from 192.168.101.101 lookup 101
# При уходе пакета с исходящего адреса 101.101 использовать таблицу маршрутизации 101
ip rule add prio 102 from 192.168.102.101 lookup 102
# При уходе пакета с исходящего адреса 102.101 использовать таблицу маршрутизации 102
Для записи нескольких конфигураций на один интерфейс создается алиас.
Алиас задается через ::
auto enp37s0:1
auto enp37s0:2
iface enp37s0:1 inet static
address 192.168.101.101
netmask 255.255.255.0
gateway 192.168.101.1
metric 10
iface enp37s0:2 inet static
address 192.168.102.101
netmask 255.255.255.0
gateway 192.168.102.1
metric 20
Можно добавлять несколько шлюзов с разной метрикой. Работает шлюз с наименьшей метрикой. Маски лучше не пересекать - в этом случае /24 а не /16