URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 57448
[ Назад ]

Исходное сообщение
"Переброска портов"

Отправлено Сергей Петров , 16-Июн-05 16:35 
Есть сервер (asp9.2) одной стороной он смотрит в интерент (реальный ip) а второй в сеть (172.16.1.0/24) (он раздает инет и выполняет еще кое-каие функиции). В локальной сети есть компьютер, на котором висит NetSupport client (виндовая программа, которая позволяет приконекчиваться другим виндовым машинам и удаленно управлять ими, висит на стандартном tcp порту 5405).

Вообщем задача. Нужно перебросить tcp порт 5405 с этой машины на реальный ip (то есть на сервер). Чтобы человек, подключенный к интернету мог выбрать ip адрес сервера и подключиться к машине находящейся во внутренней сети.

Интернет раздается вот так:

*******************************************************************
#!/bin/sh

IPTABLES=/sbin/iptables
INTIF="eth1"
EXTIF="eth0"

echo "   External Interface:  $EXTIF"
echo "   Internal Interface:  $INTIF"

echo "   enabling forwarding.."
echo "1" > /proc/sys/net/ipv4/ip_forward

echo "   enabling DynamicAddr.."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr

echo "   clearing any existing rules and setting default policy.."
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -F FORWARD
$IPTABLES -t nat -F

echo "   FWD: Allow all connections OUT and only existing and related ones IN"
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

echo "   Enabling SNAT (MASQUERADE) functionality on $EXTIF"
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

echo -e "\nDone.\n"
*******************************************************************

переброску портов я пытаюсь делать вот таким скриптом:

*******************************************************************
#!/bin/sh

IPTABLES=/sbin/iptables
INT_IF="eth1"                   #Внутрений интерфейс
EXT_IF="eth0"                   #Внешний интерфейс

INT_IP="172.16.1.100"           #ip машины на которую перебрасываем порт
EXT_IP="A.B.C.D"                #ip сервера (реальный ip)

PORT="5405"                     #порт, который открывается на серве и на
#который перебрасывается соединение на внутренем компьютере


$IPTABLES -t nat -A PREROUTING -d $EXT_IP -i $EXT_IF -p tcp -m tcp --dport $PORT -j DNAT --to-destination  $INT_IP:$PORT
$IPTABLES -t nat -A POSTROUTING -d $INT_IP -o $EXT_IF -p tcp -m tcp --dport $PORT -j SNAT --to-source $EXT_IP
$IPTABLES -A FORWARD -d $INT_IP -p tcp -m tcp --dport $PORT -m state --state NEW -j ACCEPT
*******************************************************************


Вообщем запуская я первый скрпит - инет прекрасно раздается (этот сприпт уже больше года раздает инет), запускаю второй - фиг. На сервере порт не открывается и приконектиться к нему, соответственно нельзя... =(

Скажите, пожалуйста, где я ошибся, и как можно эту ошибку поправить.

Заранее большое спасибо!


Содержание

Сообщения в этом обсуждении
"Переброска портов"
Отправлено APanyovin , 16-Июн-05 16:40 
У меня есть подобное, но для фри (ipfw + natd)
если пойдет, то кину

"Переброска портов"
Отправлено Сергей Петров , 16-Июн-05 16:46 
>У меня есть подобное, но для фри (ipfw + natd)
>если пойдет, то кину


Спасибо большое, но у меня все-таки линух... Хоть они и похожи, но (абсолютное имхо) как раз это будет делаться по другому.


"Переброска портов"
Отправлено Сергей Петров , 16-Июн-05 19:12 
>>У меня есть подобное, но для фри (ipfw + natd)
>>если пойдет, то кину
>
>
>Спасибо большое, но у меня все-таки линух... Хоть они и похожи, но
>(абсолютное имхо) как раз это будет делаться по другому.

Вообщем люди! Безумно извиняюсь, но оказывается это работает... =)

Просто когда я смотрел nmap A.B.C.D (то есть порты открытые на реальном ip)
c этой же машины - то тогда порты были закрытыми - когда же смотришь с другой машины - все замечательно - порт действительно перебрасывается!

Всем большое спасибо, извините, что отвлек вас этим глупым вопросом.