Назад | Перейти на главную страницу

Циклический перебор Iptables через несколько виртуальных сетевых интерфейсов

У меня есть сервер с двумя основными сетевыми интерфейсами и 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

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

Другой вариант - поискать такое решение, как СЧАСТЬЕ