История изменений
Исправление mradermaxlol, (текущая версия) :
UPD: после правок отсюда итоговый хук выглядит так:
#!/bin/bash
if [ "$1" = "win10n1" ]; then
GUEST_IP=192.168.122.101
GUEST_PORT=3389
HOST_PORT=32101
if [[ "$2" = "started" ]]; then
iptables -I FORWARD -o virbr0 -i wg0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT
iptables -t nat -I PREROUTING -i wg0 -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT
fi
if [[ "$2" = "stopped" ]]; then
iptables -D FORWARD -o virbr0 -i wg0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT
iptables -t nat -D PREROUTING -i wg0 -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT
fi
fi
if [ "$1" = "win10n2" ]; then
GUEST_IP=192.168.122.102
GUEST_PORT=3389
HOST_PORT=32102
if [[ "$2" = "started" ]]; then
iptables -I FORWARD -o virbr0 -i wg0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT
iptables -t nat -I PREROUTING -i wg0 -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT
fi
if [[ "$2" = "stopped" ]]; then
iptables -D FORWARD -o virbr0 -i wg0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT
iptables -t nat -D PREROUTING -i wg0 -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT
fi
fi
Таким образом порт пробрасывается только для интерфейса wg0. Наверное, есть смысл по рекомендациям из темы добавить и другие цепочки iptables, но это уже другая история.
Исходная версия mradermaxlol, :
UPD: после правок отсюда итоговый хук выглядит так:
#!/bin/bash
if [ "$1" = "win10n1" ]; then
GUEST_IP=192.168.122.101
GUEST_PORT=3389
HOST_PORT=32101
if [[ "$2" = "started" ]]; then
iptables -I FORWARD -o virbr0 -i wg0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT
iptables -t nat -I PREROUTING -i wg0 -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT
fi
if [[ "$2" = "stopped" ]]; then
iptables -D FORWARD -o virbr0 -i wg0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT
iptables -t nat -D PREROUTING -i wg0 -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT
fi
fi
if [ "$1" = "win10n2" ]; then
GUEST_IP=192.168.122.102
GUEST_PORT=3389
HOST_PORT=32102
if [[ "$2" = "started" ]]; then
iptables -I FORWARD -o virbr0 -i wg0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT
iptables -t nat -I PREROUTING -i wg0 -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT
fi
if [[ "$2" = "stopped" ]]; then
iptables -D FORWARD -o virbr0 -i wg0 -p tcp -d $GUEST_IP --dport $GUEST_PORT -j ACCEPT
iptables -t nat -D PREROUTING -i wg0 -p tcp --dport $HOST_PORT -j DNAT --to $GUEST_IP:$GUEST_PORT
fi
fi
Таким образом порт пробрасывается только для интерфейса wg0. Наверное, есть смысл по рекомендациям из темы добавить и другие цепочки iptables, но это уже другая история.