LINUX.ORG.RU

История изменений

Исправление Pierre_Dolle, (текущая версия) :

Вот я почти с этим разобрался, я только не могу понять какая из кучи xml-ек отвечает за цепочки LIBVIRT_FWI и LIBVIRT_FWO, греп не помог.

Пока костыль выглядит вот так:

#!/bin/bash

CHAIN=LIBVIRT_FWI
IPTCMD="iptables -L $CHAIN -vn"
FILTERCMD="grep -v -e Chain -e pkts -e reject-with -e DNAT"

while $IPTCMD | grep ESTABLISHED | grep -v DNAT >/dev/null
do
    IF=$($IPTCMD | $FILTERCMD | awk '{print $7}' | head -n1)
    NET=$($IPTCMD | $FILTERCMD | awk '{print $9}' | head -n1)
    iptables -D $CHAIN -o $IF -d $NET -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    iptables -I $CHAIN 1 -o $IF -d $NET -m conntrack --ctstate DNAT,RELATED,ESTABLISHED -j ACCEPT
done


if ! iptables -t nat -C PREROUTING -i enp4s0 -p tcp --dport 11223 -j DNAT --to-destination 192.168.122.2:22 &> /dev/null; then
    iptables -t nat -A PREROUTING -i enp4s0 -p tcp --dport 11223 -j DNAT --to-destination 192.168.122.2:22
fi

Исходная версия Pierre_Dolle, :

Вот я почти с этим разобрался, я только не могу понять какая из кучи xml-ек отвечает за цепочки LIBVIRT_FWI и LIBVIRT_FWO, греп не помог.