Вот есть машинка с виртуалками. На ней есть одна белая айпишка, и у виртуалок есть своя виртуальная сеть 192.168.199.0/24, допустим, через которую виртуалкам натится инет (forward type='nat').
Нет, напрямую iptables'ом - пожалуйста,
# iptables -t nat -I PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.199.254:22
# iptables -I FORWARD -m state -d 192.168.199.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT
Вторая строчка нужна, потому что у либвирта захардкодено (?!) правило вида
-A FORWARD -d 192.168.199.0/24 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Окей, подумалось мне, сейчас сохраню правила иптаблеса, ребутнусь, и все будет как надо. Ага, щаззз! После рестарта машины порты заткнуты, потому что упомянутое выше захардкоденое правило либвирт ставит выше. Все, приехали. То ли лыжи не едут, то ли асфальт без наночастиц.
Кто-нибудь решал подобную задачу?