Биллинговая система Nodeny
28 Апреля 2024, 13:20:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Бланк настроек  (Прочитано 3601 раз)
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« : 21 Августа 2013, 10:12:32 »

Нещодавно вирішив відредагувати бланк налаштувань під власні потреби.
Зіткнувся з проблемою призначення DNS сервера та основного шлюзу для декількох підмереж.
В 50.32 в настройках "Параметрах сети" можна було вказати шлюз та DNS сервер для бланку налаштувань. Також адресу завантаження авторизатора l2 що відповідала шлюзу.
В N+ ці дані можна змінити відредагувавши сам бланк, але це не допоможе в разі коли у вас 2 або більше підмережі...
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #1 : 21 Августа 2013, 11:58:10 »

Почему не поможет? В Н50 у тебя жесткое условие: сеть = днс. В Н+ гибче - логика задается в самом бланке. Ты может в зависимости от кучи условий выдавать нужный ДНС (или другой параметр).

Вот дока по шаблонизатору: https://app.nodeny-plus.com.ua/docs/develop/tmpl.html

Вооружившись знаниями, лезем в шаблон и правим:

Код:
{% if ip.ipn > 174326785 && ip.ipn < 174326804 %} 1.1.1.1 {% else %} 1.2.3.4{% endif %}

Это условие: если ip>'10.100.4.1' и ip<'10.100.4.20', то вставить в шаблон 1.1.1.1, иначе 1.2.3.4.

Откуда берутся числа 174326785 и 174326804? Это представление 10.100.4.1 и 10.100.4.20 в числовом виде:

Код:
mysql> select inet_aton('10.100.4.1');
+-------------------------+
| inet_aton('10.100.4.1') |
+-------------------------+
|               174326785 |
+-------------------------+
1 row in set (0.00 sec)

mysql> select inet_aton('10.100.4.20');
+--------------------------+
| inet_aton('10.100.4.20') |
+--------------------------+
|                174326804 |
+--------------------------+
1 row in set (0.00 sec)
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #2 : 21 Августа 2013, 14:59:32 »

nice
« Последнее редактирование: 21 Августа 2013, 15:37:39 от cojiict » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #3 : 21 Августа 2013, 15:27:07 »

Цитировать
ip>'10.100.4.1' и ip<'10.100.4.20'
это не диапазон?

Напишу доку
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #4 : 21 Августа 2013, 15:46:06 »

Код:
<tr> <td>Шлюз</td>          <td>{% if ip.ipn > 3232239361 && ip.ipn < 3232239614 %} 192.168.15.5 {% else %} глюк {% endif %}</td> </tr>
це "якщо 192.168.15.1-192.168.15.254 то 192.168.15.5 - решта глюк"
а як сюди вліпити ще 8 діапазонів??? який синтаксис використовується?
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #5 : 28 Августа 2013, 14:52:57 »

Код:
<tr> <td>Шлюз</td>          <td>{% if ip.ipn > 3232239360 && ip.ipn < 3232239614 %} 192.168.15.5 {% if ip.ipn > 3232240128 && ip.ipn <
3232240383 %} 192.168.18.5 {% else %} 192.168.19.5 {% endif %}</td> </tr>

Код:
cat /tmp/nodeny_1377688881_1439666.log

28.08.2013 14:47:08 [stat.pl(168) stat.pl::__ANON__(30) stat.pl(30) stat.pl::Hard_exit(89) stat.pl(90)]
Ошибка рендеринга /usr/local/nodeny/web/tmpl/user_blank.html
Missing right curly or square bracket at (eval 25) line 170, at end of line
syntax error at (eval 25) line 170, at EOF
Compilation failed in require at /usr/local/nodeny/web/calls.pm line 1103.

де правильно поставити ті дужки?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #6 : 28 Августа 2013, 19:28:46 »

В школе хоть немного программирование учил? Бейсик там, Паскаль? На любом языке подобное выдаст ошибку:

Код:
if( условие )
   if( условие )
      ....
   else
      ....
   endif
тут чего то, мля, не хватает, может endif?

Только я вас умоляю, не надо говорить, что после изменения не будет работать. Работает неправильно и выдает ошибку - это разные вещи. Я тебе показал как надо делать без ошибки. Следующий шаг - подумать что же мы хотим получить и при каких условиях. Надеюсь, ты не будешь это делать рандомом как некоторые.

И еще читай http://forum.nodeny.com.ua/index.php?topic=2323.0 :

Цитировать
фича inet.aton('192.168.0.0')
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!