У меня есть хост-машина A, на которой крутится lxc-контейнер B
IP-адрес в lxcbr0 A 10.0.3.1, публичный ip, допустим, 1.2.3.4
IP-адрес в lxcbr0 B 10.0.3.21.
Мне нужно, чтобы соединения с 1.2.3.4:7999 перенаправлялись на 10.0.3.1:7999. Для этого я создал следующее правило:
iptables -t nat -I PREROUTING -p tcp -d 1.2.3.4 --dport 7999 -j DNAT --to 10.0.3.21:7999
iptables -A FORWARD -p tcp -d 10.0.3.21 --dport 7999 -j ACCEPT
Когда я соединяюсь с A (1.2.3.4:7999) из внешнего мира, соединение устанавливается.
Но, если я пытаюсь соединиться с A:7999 из B, я получаю ошибку таймаута соединения.
Какое правило я упускаю и на какой машине?
Любые соединения с B на A на порты, которые реально открыты на А, проходят успешно.