У меня есть сервер с двумя основными сетевыми интерфейсами и 5 такими виртуальными интерфейсами.
eth0 - 192.168.1.1
eth1 - 192.168.3.1
eth1:2 192.168.3.3
eth1:3 192.168.3.4
eth1:4 192.168.3.5
eth1:5 192.168.3.6
eth1:6 192.168.3.7
etho - это мой внутренний интерфейс, а eth1 - мой внешний интерфейс. Мне нужно направить весь мой трафик, используя все 5 сетевых интерфейсов, используя циклический перебор. если три запроса приходят на eth0, эти три запроса проходят через eth1: 1 eth1: 2 eth 1: 3 соответственно. порядок не имеет значения. Мне нужно использовать все пять активных интерфейсов и маршрутизировать мой трафик с использованием циклического перебора. Как я могу это сделать ? можно ли делать только с iptables?
Я думаю, вы могли бы сделать это с помощью PREROUTING
цепочка со статистическим модулем. Вы можете посмотреть эту статью: Простой балансировщик нагрузки с отслеживанием состояния с iptables и NAT
В вашем случае это может быть что-то вроде:
iptables -t nat -A PREROUTING -i eth0 -m state --state NEW -m statistic --mode random
--probability .25 -j DNAT --to 192.168.3.3
iptables -t nat -A PREROUTING -i eth0 -m state --state NEW -m statistic --mode random
--probability .25 -j DNAT --to 192.168.3.4
iptables -t nat -A PREROUTING -i eth0 -m state --state NEW -m statistic --mode random
--probability .25 -j DNAT --to 192.168.3.5
iptables -t nat -A PREROUTING -i eth0 -m state --state NEW -m statistic --mode random
--probability .25 -j DNAT --to 192.168.3.6
Теоретически это должно работать, но я не могу заверить вас, что эта настройка будет работать с протоколами с отслеживанием состояния.
Другой вариант - поискать такое решение, как СЧАСТЬЕ