Приветствую всех!
Понимаю что тема много раз обсуждалась, но к сожалению с iptables знаком не очень хорошо...
Суть проблемы:
Имеется сервер (внутрений) на 10.04 на нём настроен openvpn клиент который подключается к openvpn серверу
на сервере одна сетевая карта: eth0
внутренний ип сервера: 192.168.0.245
тунель openvpn: tun0
ип тунеля: 10.48.80.254
второй сервер (внешний) с ип тунеля: 10.48.80.249
на нём крутится приложение на 500 порту
по тунелю сервера друг-друга пингуют
внутрений сервер телнетится по ип шлюза и порту к внешнему серверу
задача: что бы все клиенты с локальной сети внутреннего сервера( 192.168.0.0/24 ) обращались на 500 порт внутреннего сервера ( 192.168.0.245 ) а он всё передавал в тунель, то есть что бы все локальные компы обращаясь к 500 порту на внутрений сервер - работали на внешнем сервере, через openvpn
что сделано:
#!/bin/bash
iptables -F # сброс всех настроек
iptables -t nat -F # сброс настроек NAT
sysctl -w net.ipv4.ip_forward="1" # переброска пакетов между сетевыми интерфейсами разрешена
iptables -P FORWARD ACCEPT
INT_IP="10.48.80.254"
INT_IF=tun0
EXT_IP="192.168.0.245"
EXT_IF=eth0
SRV_IP="10.48.80.249"
SRV_PORT="500"
iptables -t nat -A PREROUTING -d $EXT_IP -p udp --dport $SRV_PORT -j DNAT --to-destination $SRV_IP:$SRV_PORT
iptables -t nat -A POSTROUTING -d $SRV_IP -p udp --dport $SRV_PORT -j SNAT --to-source $INT_IP
iptables -t nat -A POSTROUTING -p udp --dport $SRV_PORT -s $INT_IP -o $INT_IF -j MASQUERADE
пробовал разные варианты... никак не одолеть мне этот iptables

прошу помощи, кто чем может

помогите
