У меня Ubuntu 12.04 на многосетевом хосте. Я пытаюсь использовать iptables для перенаправления HTTP-пакетов, поступающих с определенного IP-адреса, на другой IP-адрес.
Из Googling я считаю, что на многосетевых хостах необходимо использовать CONNMARK для маркировки входящих соединений, чтобы можно было сопоставить соответствующие исходящие пакеты.
Однако, когда я пытаюсь использовать фразу «-j CONNMARK», мне говорят, что такой цепочки нет.
Как я могу использовать -j CONNMARK в Ubuntu 12.04?
Вы должны загрузить connmark
Модуль ядра:
sudo modprobe ipt_connmark
Убедитесь, что модуль загружен:
lsmod | grep connmark
Простое перенаправление трафика не требует CONNMARK; скорее, сделайте это с парой DNAT / SNAT, например:
-t nat -A PREROUTING -d 1.2.3.4 -j DNAT --to-destination 5.6.7.8
-t nat -A POSTROUTING -d 5.6.7.8 -j SNAT --to-source 5.6.7.9
где