3proxy с несколькими внешними интерфейсами. Работает только какой-либо один.
Здравствуте.
Для проксирования в сети выделена машина с Debian 9. Прокси-сервер - 3proxy.
Интерфейсы:
enp3s0 - локалка, вход прокси
enp0s29f7u1, enp0s29f7u3 - 4G-модемы, выходы прокси (пока в тесте 2, потом будет больше). DHCP на модемах отключен.
virbr0 - default network от QEMU/KVM - болтается на машине, никому не мешает (вроде).
Интерфейсы кроме virbr0 подняты через /etc/network/interfaces:
Конфиг 3proxy (/etc/3proxy/3proxy.cfg):
Метрики интерфейсам по умолчанию не назначены:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.110.1 0.0.0.0 UG 0 0 0 enp0s29f7u1
192.168.110.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s29f7u1
192.168.111.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s29f7u3
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.200.0 0.0.0.0 255.255.255.0 U 0 0 0 enp3s0
Проблема заключается в том, что проксируемый трафик ходит только через интерфейс, на котором поднимается дефолтный gateway (в выводе nroute выше - 192.168.110.0).
Т.е. http прокси qwerty:12345@192.168.200.100:8810 и socks 192.168.200.100:8310 работают, а 192.168.200.100:8811 и 192.168.200.100:8311 - нет.
Если назначить метрики и сделать приоритет 192.168.111.100 выше (соответственно дефолтным становится gateway 192.168.111.1), то наоборот: 192.168.200:8811 и 192.168.200:8311 работают, а 192.168.200:8811 и 192.168.200:8311 - нет.
Работу прокси проверяю в Firefox на другой машине в сети.
Включение/отключение IP Forwarding в /etc/sysctl.conf:
net.ipv4.ip_forward=1
Пробовал оставить только http-прокси или только socks - все равно.
В iptables ничего не назначено:
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.122.0/24 ctstate RELATED,ESTABLISHED
ACCEPT all -- 192.168.122.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
В чем может быть дело, сам уже теряюсь в догадках?