Есть сервер (asp9.2) одной стороной он смотрит в интерент (реальный ip) а второй в сеть (172.16.1.0/24) (он раздает инет и выполняет еще кое-каие функиции). В локальной сети есть компьютер, на котором висит NetSupport client (виндовая программа, которая позволяет приконекчиваться другим виндовым машинам и удаленно управлять ими, висит на стандартном tcp порту 5405).Вообщем задача. Нужно перебросить tcp порт 5405 с этой машины на реальный ip (то есть на сервер). Чтобы человек, подключенный к интернету мог выбрать ip адрес сервера и подключиться к машине находящейся во внутренней сети.
Интернет раздается вот так:
*******************************************************************
#!/bin/shIPTABLES=/sbin/iptables
INTIF="eth1"
EXTIF="eth0"echo " External Interface: $EXTIF"
echo " Internal Interface: $INTIF"echo " enabling forwarding.."
echo "1" > /proc/sys/net/ipv4/ip_forwardecho " enabling DynamicAddr.."
echo "1" > /proc/sys/net/ipv4/ip_dynaddrecho " 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 -Fecho " 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 ACCEPTecho " Enabling SNAT (MASQUERADE) functionality on $EXTIF"
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADEecho -e "\nDone.\n"
*******************************************************************переброску портов я пытаюсь делать вот таким скриптом:
*******************************************************************
#!/bin/shIPTABLES=/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
*******************************************************************
Вообщем запуская я первый скрпит - инет прекрасно раздается (этот сприпт уже больше года раздает инет), запускаю второй - фиг. На сервере порт не открывается и приконектиться к нему, соответственно нельзя... =(Скажите, пожалуйста, где я ошибся, и как можно эту ошибку поправить.
Заранее большое спасибо!
У меня есть подобное, но для фри (ipfw + natd)
если пойдет, то кину
>У меня есть подобное, но для фри (ipfw + natd)
>если пойдет, то кину
Спасибо большое, но у меня все-таки линух... Хоть они и похожи, но (абсолютное имхо) как раз это будет делаться по другому.
>>У меня есть подобное, но для фри (ipfw + natd)
>>если пойдет, то кину
>
>
>Спасибо большое, но у меня все-таки линух... Хоть они и похожи, но
>(абсолютное имхо) как раз это будет делаться по другому.Вообщем люди! Безумно извиняюсь, но оказывается это работает... =)
Просто когда я смотрел nmap A.B.C.D (то есть порты открытые на реальном ip)
c этой же машины - то тогда порты были закрытыми - когда же смотришь с другой машины - все замечательно - порт действительно перебрасывается!Всем большое спасибо, извините, что отвлек вас этим глупым вопросом.