Возникла определенная проблема с NAT внутри контейнера. У меня есть контейнер с дополнительным сетевым интерфейсом (NETIF), через который приходит GRE-туннель. Нужно пакеты из этого туннеля заворачивать на установленный в контейнере прокси-сервер.
Как я делаю: говорю внутри контейнера
iptables -t nat -I PREROUTING -i gre0 -p tcp -j DNAT --to 172.16.0.95:3128
(там только пакеты на 80-й порт, поэтому таки вольности допустимы), где 172.16.0.95 - адрес сетевого интерфейса.
После чего смотрю tcpdump-ом: пакеты приходят на gre0, после чего магическим образом пропадают - на 172.16.0.95 их нет.
На хосте и в контейнере - Debian Squeeze, OpenVZ из коробки.
Разрешения в /etc/vz/vz.conf:
RXL_ Messages: 147 Registered: July 2009 Location: Moscow/Russia
Senior Member
From: *static.corbina.ru
$/sbin/iptables -j DNAT --help
...
DNAT v1.3.5 options:
--to-destination <ipaddr>[-<ipaddr>][:port-port]
Address to map destination to.
(You can use this more than once)
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.