iptables умный loadblancer с geoip

Я пытаюсь настроить балансировщик нагрузки через iptables, который будет перенаправлять новое соединение на ближайший (географический) узел. Я видел примеры блокирования трафика по странам и смог настроить традиционный балансировщик нагрузки, который распределяет подключающихся пользователей по нескольким узлам, например:

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport PORTNUM -m state --state NEW -m statistic --mode nth --every 4 --packet 1 -j DNAT --to-destination x.x.x.x:PORTNUM

то, что я хотел бы сделать, это геокодировать местоположение пользователя и выбрать ближайший к ним сервер, чтобы уменьшить задержку. Что будет правильным способом сделать это?

Я знаю, что всегда могу написать небольшой прокси, который подключится к нужному серверу и будет действовать как настоящий прокси, но я бы очень хотел, чтобы это произошло на уровне iptables.

если это имеет смысл, я нацеливаюсь на Ubuntu 16.04

Я видел http://ipset.netfilter.org/iptables-extensions.man.html но не нашел ответа на этот вопрос... любая помощь или идеи будут оценены!

0 ответов

Другие вопросы по тегам