Настройка программы no-ip: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Новая: ==Для чего это нужно.== Очень часто бывают случаи, кагда адрес интернет сервер получает динамически от ...)
 
м (Откат правок Sopod (обсуждение) к версии Misha)
 
(не показано 14 промежуточных версий 3 участников)
Строка 19: Строка 19:
 
# cd /usr/local/src
 
# cd /usr/local/src
 
# tar -zxf noip-duc-linux.tar.gz
 
# tar -zxf noip-duc-linux.tar.gz
# cd noip-2.1.4
+
# cd noip-2.1.9-1
 
# make
 
# make
# cp redhat.noipsh /etc/init.d/noip.sh
+
# cp redhat.noip.sh /etc/init.d/noip
# chmod 744 /etc/init.d/noip.sh
+
# chmod 744 /etc/init.d/noip
 
# make install</pre>
 
# make install</pre>
 
При выполнении make install
 
При выполнении make install
Строка 30: Строка 30:
 
Скрипт создает файл /usr/local/etc/no-ip2.conf
 
Скрипт создает файл /usr/local/etc/no-ip2.conf
  
Далее запускаем drakxconf и делаем noip.sh - сервисом.
+
Добавляем в /etc/init.d/noip строки.<br />
 +
Было:
 +
<pre>
 +
# Written by serge@vanginderachter.be and tested on Redhat 8
 +
# ... and debugged by Uwe Dippel
 +
# 29-03-2003
 +
#
 +
# Source function library.
 +
</pre>Стало
 +
<pre>
 +
# Written by serge@vanginderachter.be and tested on Redhat 8
 +
# ... and debugged by Uwe Dippel
 +
# 29-03-2003
 +
#
 +
# Startup script for noip client
 +
#
 +
# chkconfig: 345 85 15
 +
# description: noip client
 +
# processname: noip
 +
# config:
 +
#
 +
### BEGIN INIT INFO
 +
# Provides: noip
 +
# Required-Start: $network
 +
# Required-Stop: $network
 +
# Default-Start: 3 4 5
 +
# Short-Description: noip client
 +
# Description: noip client
 +
### END INIT INFO
 +
 
 +
# Source function library.
 +
</pre>
 +
Далее запускаем drakxconf и делаем noip - сервисом.
 +
==Настройка ADSL модема==
 +
Надо настроить модем так, что бы при обращении к внешнему IP адресу модема, запросы переадресовывались Интернет серверу.<br />
 +
WAN настраиваем как обычно.<br />
 +
Данные от провайдера:
 +
Port - 0
 +
VPI - 8
 +
VCI - 35
 +
Connection Type - PPPoE
 +
Encapsulation Mode  - LLS/SNAP-BRIDGING
 +
Вводим Login и пароль (szt, szt)
 +
 
 +
Настройка взята [http://allwow.ru/forum/viewthread.php?thread_id=156 тут]
 +
{|
 +
|[[Изображение:Login ADSL modem.png|left|150px|Login modem]]
 +
|Далее заходим на модем через браузер, чтобы открыть на нем порт.<br />Для этого в браузере пишем 192.168.0.1 или 192.168.1.1
 +
|-
 +
|[[Изображение:ADSL NAT.png|150px|left|Вкладка NAT ADSL модема]]
 +
|Далее заходите в NAT и открываете порт своего модема. <br />'''Примечание: У всех модемы разные, и как открывать порты узнавайте на сайте производителя'''
 +
|-
 +
|[[Изображение:Port NAT ADSL.png|150px|left|Открытие портов NAT->Port]]
 +
|Откройте порты 80, 22, 8245. Надо открыть универсальный TCP/UDP порт, или один TCP и одни UDP.
 +
|-
 +
|[[Изображение:DMZ host ADSL.png|150px|left|Настройка DMZ]]
 +
| Пропишите соответствующий DMZ host. Это ip адрес вашего сервера, обычно 192.168.1.2.<br />
 +
Далее сохраните настройки модема.
 +
|}
 +
Перезапустите NOIP.
 +
<pre>
 +
# service noip stop
 +
# service noip start
 +
</pre>
 +
 
 +
==Если NOIP не правильно определяет адрес==
 +
Если мы прокинули порт на модеме, а noip определяет наш адрес как 192.168.1.2 (адрес интерфейса), то можно поступить так.<br />
 +
1. Исключаем noip из сервисов, например, с помощью drakxconf (Для Mandriva).<br />
 +
2. Устанавливаем билиотеку php-cli, если она не установлена
 +
<pre>$sudo urpmi php-cli</pre>
 +
2. Создаем файл '''/etc/scripts/myip.php''', который определяет наш IP адрес через сайт www.myip.ru и отправляет его на сайт NOIP.
 +
<pre>#!/usr/bin/php
 +
<?php
 +
$page = file_get_contents('http://www.myip.ru/get_ip.php?loc=http://www.myip.ru/');
 +
//echo $page;
 +
preg_match_all('|<TR><TD bgcolor=white align=center valign=middle>(.+)</TD></TR>|',$page,$result);
 +
$rez=$result[1][rand(0,0)];
 +
//echo $rez;
 +
exec ('/usr/local/bin/noip2 -i'.$rez);
 +
?>
 +
</pre>
 +
3. Добавляем в crontab задание
 +
<pre># Отправка в noip IP адреса
 +
*/10 *  *  *  *  root    /etc/scripts/myip.php
 +
</pre>
 +
И теперь каждые 10 минут скрипт будет определять Ваш внешний IP адрес и отправлять его на NOIP.

Текущая версия на 06:41, 6 марта 2013

Для чего это нужно.

Очень часто бывают случаи, кагда адрес интернет сервер получает динамически от провайдера, а мы хотим, что бы данный сервер не только раздавал интернет, но и имел свое доменное имя, для поднятия своего HTTP и mail сервера, а так же, что бы администратор мог управлять данным сервером по ssh с любого места интернета. Для этого и служит программа no-ip.

Как оно работает

Вы регистрируете свое доменное имя на сайте www.no-ip.com и устанавливаете демоном к себе на сервер утилиту, которая периодически посылает на серевер no-ip.com данные о своем ip адресе и тот заносит их в свою базу DNS. И теперь если кто-то из инета запросит данный адрес, то DNS сервер ip-com выдаст ему актуальный на данный момент ip адрес.

Регистрация

  1. Для регистрации нудно зайти на сайт www.no-ip.com
  2. Зайти на ссылку Sign-up Now!
  3. Заполнить предложенную анкету.
  4. После этого на ваш адрес придет письмо, где надо подтвердить ваш аккаунт.
  5. После этого заходите на сайт www.no-ip.com и набираете свой mail и пароль и попадаете на страницу настроек.
  6. В прицципе там все понятно - надо вписать имя вашего сервера и выбрать домен (например: имя - voluzo, домен - sytes.net, и полное имя вашего сервера будет voluzo.sytes.net), а так же вписать ip адрес сервера на данный момент.
  7. Если хотите настроить почтовый сервер на вашем шлюзе, то надо вписать в MX record имя почтового сервера (mail.voluzo.sytes.net - для нашего случая)
  8. Нажимаете на Create Host

Установка

  1. Выкачиваете последнюю версию программы под Linux
  2. Разархивируете полученный файл в директорию /usr/local/src
# cp noip-duc-linux.tar.gz /usr/local/src
# cd /usr/local/src
# tar -zxf noip-duc-linux.tar.gz
# cd noip-2.1.9-1
# make
# cp redhat.noip.sh /etc/init.d/noip
# chmod 744 /etc/init.d/noip
# make install

При выполнении make install

  1. Выбираем какой интерфейс смотрит в инет
  2. Вводим email адрес, который использовали при регистрации
  3. Вводим пароль, который использовали при регистрации

Скрипт создает файл /usr/local/etc/no-ip2.conf

Добавляем в /etc/init.d/noip строки.
Было:

# Written by serge@vanginderachter.be and tested on Redhat 8
# ... and debugged by Uwe Dippel
# 29-03-2003
#
# Source function library.

Стало

# Written by serge@vanginderachter.be and tested on Redhat 8
# ... and debugged by Uwe Dippel
# 29-03-2003
#
# Startup script for noip client
#
# chkconfig: 345 85 15
# description: noip client
# processname: noip
# config: 
#
### BEGIN INIT INFO
# Provides: noip
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 4 5
# Short-Description: noip client
# Description: noip client
### END INIT INFO

# Source function library.

Далее запускаем drakxconf и делаем noip - сервисом.

Настройка ADSL модема

Надо настроить модем так, что бы при обращении к внешнему IP адресу модема, запросы переадресовывались Интернет серверу.
WAN настраиваем как обычно.
Данные от провайдера:

Port - 0
VPI - 8
VCI - 35
Connection Type - PPPoE
Encapsulation Mode  - LLS/SNAP-BRIDGING
Вводим Login и пароль (szt, szt)

Настройка взята тут

Login modem
Далее заходим на модем через браузер, чтобы открыть на нем порт.
Для этого в браузере пишем 192.168.0.1 или 192.168.1.1
Вкладка NAT ADSL модема
Далее заходите в NAT и открываете порт своего модема.
Примечание: У всех модемы разные, и как открывать порты узнавайте на сайте производителя
Открытие портов NAT->Port
Откройте порты 80, 22, 8245. Надо открыть универсальный TCP/UDP порт, или один TCP и одни UDP.
Настройка DMZ
Пропишите соответствующий DMZ host. Это ip адрес вашего сервера, обычно 192.168.1.2.

Далее сохраните настройки модема.

Перезапустите NOIP.

# service noip stop
# service noip start

Если NOIP не правильно определяет адрес

Если мы прокинули порт на модеме, а noip определяет наш адрес как 192.168.1.2 (адрес интерфейса), то можно поступить так.
1. Исключаем noip из сервисов, например, с помощью drakxconf (Для Mandriva).
2. Устанавливаем билиотеку php-cli, если она не установлена

$sudo urpmi php-cli

2. Создаем файл /etc/scripts/myip.php, который определяет наш IP адрес через сайт www.myip.ru и отправляет его на сайт NOIP.

#!/usr/bin/php
<?php 
$page = file_get_contents('http://www.myip.ru/get_ip.php?loc=http://www.myip.ru/'); 
//echo $page;
preg_match_all('|<TR><TD bgcolor=white align=center valign=middle>(.+)</TD></TR>|',$page,$result); 
$rez=$result[1][rand(0,0)];
//echo $rez;
exec ('/usr/local/bin/noip2 -i'.$rez); 
?>

3. Добавляем в crontab задание

# Отправка в noip IP адреса 
*/10 *  *  *  *   root    /etc/scripts/myip.php

И теперь каждые 10 минут скрипт будет определять Ваш внешний IP адрес и отправлять его на NOIP.