По поводу проброса потов оставлю здесь, вдруг кому пригодится...
На linux-е с белым внешним IP iptables настраивается примерно вот так:
DRWEB_PORT1="2193" # For DRWEB clients connect
DRWEB_PORT2="2371"
DRWEB_ADDR="внутренний адрес ЕС-сервера"
SELF_ADDR3="внешний адрес linux-сервера"
$iptables -t nat -A POSTROUTING -s $DRWEB_ADDR -d $ANYWHERE -j MASQUERADE
$iptables -t nat -A PREROUTING -p tcp -s $ANYWHERE -d $SELF_ADDR3 --dport $DRWEB_PORT1 -j DNAT --to $DRWEB_ADDR:$DRWEB_PORT1
$iptables -t nat -A POSTROUTING -p tcp -d $ANYWHERE -s $SELF_ADDR3 --sport $DRWEB_PORT1 -j SNAT --to-source $DRWEB_ADDR:$DRWEB_PORT1
$iptables -t nat -A PREROUTING -p tcp -s $ANYWHERE -d $SELF_ADDR3 --dport $DRWEB_PORT2 -j DNAT --to $DRWEB_ADDR:$DRWEB_PORT2
$iptables -t nat -A POSTROUTING -p tcp -d $ANYWHERE -s $SELF_ADDR3 --sport $DRWEB_PORT2 -j SNAT --to-source $DRWEB_ADDR:$DRWEB_PORT2
$iptables -A FORWARD -p TCP -d $ANYWHERE -s $DRWEB_ADDR --sport $DRWEB_PORT1 -j ACCEPT
$iptables -A FORWARD -p TCP -s $ANYWHERE -d $DRWEB_ADDR --dport $DRWEB_PORT1 -j ACCEPT
$iptables -A FORWARD -p TCP -d $ANYWHERE -s $DRWEB_ADDR --sport $DRWEB_PORT2 -j ACCEPT
$iptables -A FORWARD -p TCP -s $ANYWHERE -d $DRWEB_ADDR --dport $DRWEB_PORT2 -j ACCEPT
При этом в настройках агента указывается и внутренний адрес (ЕС-сервера), и внешний адрес (linux-шлюза)
Опционально, нужна правильная настройка маршрутизации (модули ядра и т.п.)
Можно поиграть с тем, чтобы внешний порт отличался от стандартного, для этого приведенный вариант должен подойти с небольшими переделками, хотя я не проверял.