Показано с 1 по 5 из 5

Тема: Плагин автодобавления Secondary DNS в ns2.trifle.net

  1. #1
    Junior Member
    Регистрация
    08.12.2012
    Адрес
    Astrakhan
    Сообщений
    17

    Talking Плагин автодобавления Secondary DNS в ns2.trifle.net

    Плагин автодобавления Secondary DNS в ns2.trifle.net

    Вступление

    Прикупил себе сервак у Hetzner.de. Думаю возьму доп. IP заюзаю DNS как primary так и salve на одном серваке (знаю что это не правильно, но как выход можно было бы).

    Но не тут-то было чтобы выбить у немцев доп.IP нужно потратить уйму нервов. Придумывать причину неодходимости доп. IP я всё-же не стал и решил идти другим путём.

    Многие наверное вкурсе, что есть бесплатные Secondary DNS сервисы такие как xname.org, ns2.trifle.net, secondary.net.ua а есть даже примари primaryns.kiev.ua.

    Наиболее удобным по добавлению зон мне показался всё-таки ns2.trifle.net

    Идея плагина:

    Теперь встала потребность в автоматическом создании slave зон на ns2.trifle.net. Всё-таки каждый раз прописывать ручками это тот ещё геморой, в особенности если много клиентов и частенько приходится добавлять домены.

    Реализация:

    У ISP есть замечательный механизм событий, можно свои события добавлять практически везде. Но нам нужны только события связанные с добавлением/изменением и удалением доменов (domain.edit и domain.delete.confirm).

    Итак шаблон ( кладём его в usr/local/ispmgr/etc ):

    ispmgr_mod_secondarydns.xml

    Код:
    <?xml version="1.0" encoding="UTF-8"?>
    <mgrdata>
    	<handler name="secondarydns.pl" type="cgi">
    		<event final="yes">domain.edit</event>
    		<event final="yes">domain.delete.confirm</event>
    	</handler>
    </mgrdata>
    Перловый плагин ( кладём его в usr/local/ispmgr/addon ):

    Здесь нужно только указать ваш логин/пароль от trifle.net и IP-по умолчанию.

    secondarydns.pl

    Код:
    #!/usr/bin/perl
    use strict;
    use warnings;
    use CGI qw/:standard/;
    use LWP::UserAgent;
    use HTTP::Response;
    
    use Getopt::Long;
    use Pod::Usage;
    use Text::Iconv;
    use Env;
    
    my $ua = new LWP::UserAgent;
    $ua->agent("Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)");
    $ua->cookie_jar({});
    $ua->timeout(60);
    
    my $login = "Ваш логин на trifle.net";
    my $pass  = "Ваш pass на trifle.net";
    
    my $site = 'http://'.$login.':'.$pass.'@ns2.trifle.net/';
    
    my $Q = CGI->new;
    my $res = '';
    my $name = $Q->param('name');
    my $ip = $Q->param('ip');
    my $func = $Q->param('func');
    my $elid = $Q->param('elid');
    
    if($ip eq "")
     {
       #IP адрес по-умолчанию
       $ip = "xx.xx.xx.xx";
     }
    
    
    # Добавление зоны
    if ($func eq "domain.edit") {
      if ($Q->param("sok") && $elid eq "") {
    	$res = $ua->get($site.'main.php?action=add&zona='.$name.'&ipaddr='.$ip);
      }
    }
    
    # Удаление зоны
    if ($func eq "domain.delete.confirm") {
      if ($elid ne "") {
    	$res = $ua->get($site.'main.php?zona='.$elid.'&action=delete');
      }
    }
    
    # Редактирование зоны
    if ($func eq "domain.edit") {
        if($Q->param("sok") && $elid ne "") {
    	$res = $ua->get($site.'main.php?zona='.$elid.'&action=delete');
    	$res = $ua->get($site.'main.php?action=add&zona='.$name.'&ipaddr='.$ip);
        }
    }
    Пользуемся, юзаем, забываем о ручном добавлении зон на ns2.trifle.net.
    P.S. Просьба не бить, перловый скрипт пишу впервые )) Возможно можно что-то и улучшить.

  2. #2
    Member
    Регистрация
    02.02.2014
    Сообщений
    66

    По умолчанию

    Я извиняюсь. У кого нить работает данная фича?
    Сделал у себя, но в ns2.trifle.net зоны не появляются.
    Изменил следующее:
    "Ваш логин на trifle.net";
    "Ваш pass на trifle.net";
    #IP адрес по-умолчанию (тот на котором висит ISPManager)

  3. #3
    Junior Member
    Регистрация
    07.03.2010
    Сообщений
    3

    По умолчанию

    Цитата Сообщение от redhost.su Посмотреть сообщение
    Я извиняюсь. У кого нить работает данная фича?
    Сделал у себя, но в ns2.trifle.net зоны не появляются.
    Изменил следующее:
    "Ваш логин на trifle.net";
    "Ваш pass на trifle.net";
    #IP адрес по-умолчанию (тот на котором висит ISPManager)
    Amro написал, что перловый скрипт пишет впервые.
    А по сути - данный скрипт не работает.

  4. #4
    Junior Member
    Регистрация
    08.12.2012
    Адрес
    Astrakhan
    Сообщений
    17

    По умолчанию

    А меня всё прекрасно работает, применяю на 3-ёх серверах.
    В логах что пишет? возможно каких-то perl модулей у вас нет.

  5. #5
    Junior Member
    Регистрация
    08.12.2012
    Адрес
    Astrakhan
    Сообщений
    17

    По умолчанию

    Обновленная версия плагина trifle для ISP 4
    http://dym.su/isp_plugins/plugins.xml (добавить в плагины -> источники)

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •