Как настроить сеть если 2 сетевых интерфейса с одинакковым IP шлюза?

Привет!
У нас в наличии 4 одинаковых 3g модема Huawei E3533, они работают в режиме HiLink. С прошивкой HILINK модем работает в режиме роутера, и представляется компьютеру в виде сетевого интерфейса (usb-ethernet-rndis). Компьютер получает с этого интерфейса сетевые настройки через DHCP, и далее ходит через него в интернет, как через обычную проводную локальную сеть. Всю заботу об установлении соединения и поддержании канала модем берет на себя, компьютер даже не замечает, что доступ в интернет осуществляется через сототвую сеть. В этом режиме модем имеет свой собственный локальный IP-адрес (обычно 192.168.8.1), видимый со стороны компьютера как шлюз по умолчанию (default route), а также внешний IP-адрес, получаемый из сотовой сети.

Если подключить все 4 модема в компьютер - на всех соответственно будет один и тот же IP шлюза.

Нужно поднять http прокси-сервер.
К примеру если приходит запрос на порт 8001 -> он пройдет через Модем №1, 8002 -> Модем №2 и тд.
Для этого можно использовать утилиту 3proxy, которая может проксировать запросы через нужный шлюз.
И тут проблема - шлюз у всех один и тот же. Как в таком случае можно как-то виртуально переназначить шлюзы или же настроить роутинг.
Пример конфига 3proxy
proxy -n -a -p8001 -i0.0.0.0 -e192.168.8.100 // 192.168.8.100 выдан модемом, но если сменить, то тоже работает
proxy -n -a -p8002 -i0.0.0.0 -e192.168.8.101


netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         _gateway        0.0.0.0         UG        0 0          0 wlp2s0
default         _gateway        0.0.0.0         UG        0 0          0 enp0s20f0u1u3
default         _gateway        0.0.0.0         UG        0 0          0 enp0s20f0u3
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp2s0
192.168.8.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s20f0u1u3
192.168.8.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s20f0u3


ifconfig
enp0s20f0u3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.100  netmask 255.255.255.0  broadcast 192.168.8.255
        inet6 fe80::5d7f:ea8a:8b6a:b39d  prefixlen 64  scopeid 0x20<link>
        ether 02:cb:0f:fb:0d:fa  txqueuelen 1000  (Ethernet)
        RX packets 112  bytes 34668 (33.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 105  bytes 11655 (11.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s20f0u1u3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.100  netmask 255.255.255.0  broadcast 192.168.8.255
        inet6 fe80::78bd:ac24:6caa:44e3  prefixlen 64  scopeid 0x20<link>
        ether 9a:eb:91:34:dc:25  txqueuelen 1000  (Ethernet)
        RX packets 214  bytes 73288 (71.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 204  bytes 31245 (30.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • Вопрос задан
  • 703 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Amigo83
IT-шник
Если шлюз один, то и привязан он только к одному интерфейсу? netstat -r что говорит?
Ответ написан
3proxy в devel-версии умеет привязываться к интерфейсу (-DeINTERFACE), но должен быть для этого запущен с правами root'а
Ответ написан
anthtml
@anthtml
Системный администратор программист радиолюбитель
Гоняйте правила не по айпишникам, а по интерфейсам, такое почти любой прокси умеет.
На стороне сервера только желательно убрать dhcp-client и поставить static ip.
IP маршрутизация это более высокий уровень, так что должно все нормально заработать.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы