Как настроить сеть если 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
  • Вопрос задан
  • 751 просмотр
Пригласить эксперта
Ответы на вопрос 3
@Amigo83
IT-шник
Если шлюз один, то и привязан он только к одному интерфейсу? netstat -r что говорит?
Ответ написан
3proxy в devel-версии умеет привязываться к интерфейсу (-DeINTERFACE), но должен быть для этого запущен с правами root'а
Ответ написан
anthtml
@anthtml
Системный администратор программист радиолюбитель
Гоняйте правила не по айпишникам, а по интерфейсам, такое почти любой прокси умеет.
На стороне сервера только желательно убрать dhcp-client и поставить static ip.
IP маршрутизация это более высокий уровень, так что должно все нормально заработать.
Ответ написан
Ваш ответ на вопрос

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

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