No-IP и порты

Обсуждение общих вопросов, не касающихся настройки оборудования и ОС
Ответить
alex_rudenkiy
Сообщения: 2
Зарегистрирован: 11 авг 2017, 21:09

Здравствуйте, сегодня подключил No-IP, сразу захотел проверить свою программу которая работает с tcp по 5665 порту, естественно есть Server и Client, всё работает хорошо (скрин приложил), только если подключаться в клиенте к localhost (запускаю со своего же компа) :5665, а если подключаться через INTERNET, то появляются какие-то проблемы, убил уже 2 дня, перечитал 999 статей по запросу "проброс портов" и "фильтрация" :(

Если кому-то интересно как я работаю с NO-IP, то вот скрипт :

Код: Выделить всё

# No-IP automatic Dynamic DNS update

#--------------- Change Values in this section to match your setup ------------------

:local noipuser "alexrudenkiy2014@gmail.com"
:local noippass "СуперПуперМегаПароль"
:local noiphost "alexserver.bounceme.net"

# Change to the name of interface that gets the dynamic IP address
:local inetinterface "ether1"

#------------------------------------------------------------------------------------
# No more changes need

:if ([/interface get $inetinterface value-name=running]) do={
# Get the current IP on the interface
  :local currentIP [/ip address get [find interface="$inetinterface" disabled=no] address]

# Strip the net mask off the IP address
  :for i from=( [:len $currentIP] - 1) to=0 do={
     :if ( [:pick $currentIP $i] = "/") do={
        :set currentIP [:pick $currentIP 0 $i]
     }
  }

# The update URL. Note the "\3F" is hex for question mark (?). Required since ? is a special character in commands.
  :local url "http://dynupdate.no-ip.com/nic/update\3Fmyip=$currentIP"
  :local noiphostarray
  :set noiphostarray [:toarray $noiphost]
 
  :foreach host in=$noiphostarray do={
    # Check 1 - resolved IP
    :local resolvedIP [:resolve $host];

    # Check 2 - Saved response from NO-IP
    :local filename ("no-ip_ddns_update-" . $host . ".txt")
    :local savedMatch -1
    :local savedIP "No File";

    if ( [:len [/file find name=$filename]] > 0 ) do={
      :set savedIP [/file get $filename contents]
      :set savedMatch [:find $savedIP $currentIP -1]
    }

    # If either check fails, update IP   
    :if (($currentIP = $resolvedIP) && ($savedMatch >= 0)) do={
      :log info "No-IP: Host $host already on No-IP with IP $resolvedIP"
    } else={
      :log info "No-IP: Sending update for $host - $resolvedIP saved as $savedIP"
      /tool fetch url=($url . "&hostname=$host") user=$noipuser password=$noippass mode=http dst-path=$filename
      :log info "No-IP: Host $host updated on No-IP with IP $currentIP"
    }
  }
} else={
  :log info "No-IP: $inetinterface is not currently running, so therefore will not update."
}


Изображение


Аватара пользователя
Kato
Сообщения: 271
Зарегистрирован: 17 май 2016, 04:23
Откуда: Primorye

зачем скрипт, когда есть /ip cloud :du_ma_et:


KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

Я так понимаю под localhost, вы имели ввиду обращение к серверу по внешнему адресу из его же локальной сети? Если так, то вот - https://wiki.mikrotik.com/wiki/Hairpin_NAT


alex_rudenkiy
Сообщения: 2
Зарегистрирован: 11 авг 2017, 21:09

KARaS'b писал(а):Я так понимаю под localhost, вы имели ввиду обращение к серверу по внешнему адресу из его же локальной сети? Если так, то вот - https://wiki.mikrotik.com/wiki/Hairpin_NAT


Ну я добавил 3 правила, но так и не хочет работать, а как попробовать сделать через буржуйский Cloud?

Изображение


Ответить