Я хотел реализовать балансировщик нагрузки (циклический) с использованием 4 экземпляров обратных туннелей ssh, работающих под управлением localhost: 11669, localhost: 11670, localhost: 11671 и localhost: 11672, подключенных к удаленному хосту cmssyn.sys.com на 1669.
/usr/bin/ssh -L -N -a -q -4 -x -c blowfish -L 11669:127.0.0.1:1669 pssh@cmssyn.sys.com
/usr/bin/ssh -L -N -a -q -4 -x -c blowfish -L 11670:127.0.0.1:1669 pssh@cmssyn.sys.com
/usr/bin/ssh -L -N -a -q -4 -x -c blowfish -L 11671:127.0.0.1:1669 pssh@cmssyn.sys.com
/usr/bin/ssh -L -N -a -q -4 -x -c blowfish -L 11672:127.0.0.1:1669 pssh@cmssyn.sys.com
Хотя у меня есть четыре обратных туннеля SSH, я не получаю преимуществ от четырех туннелей, поскольку весь трафик использует только один туннель ssh (11669).
Я хотел реализовать циклическую маршрутизацию с использованием iptables, так что первый сеанс должен идти на 11669, а следующий сеанс должен идти на 11670, затем на 11671, а затем на 11672, затем на 11669 и так далее.
Я создал следующие правила для таблиц IP, однако все пакеты перенаправляются только на 11669 и не идут в другие туннели.
iptables -t nat -A OUTPUT -d 127.0.0.1 -m tcp -p tcp --dport 11669 -j REDIRECT --to-ports 11669-11672
Запрос вашей помощи для успешной маршрутизации трафика ко всем четырем портам в режиме Round Robin.
Привет, Аарон и обкуренный,
Большое спасибо за ваш быстрый ответ, я уже пробовал добавить --random, --RANDOM в конце и получаю следующую ошибку.
[root@prod-unix-p4p06 ~]# iptables -t nat -A OUTPUT -d 127.0.0.1 -m tcp -p tcp --dport 11669 -j REDIRECT --to-ports 11669-11672 --random
iptables v1.3.5: Unknown arg `--random'
Try `iptables -h' or 'iptables --help' for more information.
# uname -r
2.6.18-412.0.0.0.1.el5
# cat /etc/issue
Oracle Linux Server release 5.11
Kernel \r on an \m
I have even tried the same firewall rule on Oracle Linux 6.7 and 6.8.