Перейти до

Переадресация из NAS


Рекомендованные сообщения

 

идимо необходимо прописать проброс портов в firewall.conf из локалки на адрес 172.244.127.97

 

не думаю что енто понадобится   

 

Я думал "все пригодиться"

Ссылка на сообщение
Поделиться на других сайтах

 

как вы это представляете ... ???  

и может вас заинтересует такая штука как UHW ... клевая штука ...)) ... облегчает работу админа 

 

Частично поюзал, хорошая вещь 

Ссылка на сообщение
Поделиться на других сайтах

 

вот очень понятная статья

Мудрено, только вот папки apache на NAS нету, есть  /usr/local/etc/nginx/nginx.conf такой файл сканает?)

 

я у вас уже ГУГЛОМ подрабатываю

Ссылка на сообщение
Поделиться на других сайтах

смысл такой что когда народ обращается на НАС пройти в  личный кабинет типа переадресовывает на убилл а так как на насе есть инет .... если конечно его не отключили за неуплату .... то народ увидет свой любимый кабинет даже когда у них нет инета .... ))

Ссылка на сообщение
Поделиться на других сайтах
Спасибо!

Почитал, переписал nginx.conf, после чего перенаправляет с 172.16.2.1 в К/П увы только при положительном балансе, при отрицательном ничего не загружает. 

 

worker_processes  1;

 

 

events {

    worker_connections  1024;

}

 

 

http {

 

 

    server{

    listen 80;

    server_name example.com;

 

    access_log /home/path_to_site/access.log;

    error_log /home/path_to_site/error.log;

 

    location / {

        proxy_pass http://172.244.127.97:80;

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

}

 

}
Ссылка на сообщение
Поделиться на других сайтах

 

Спасибо!
Почитал, переписал nginx.conf, после чего перенаправляет с 172.16.2.1 в К/П увы только при положительном балансе, при отрицательном ничего не загружает. 
 
worker_processes  1;
 
 
events {
    worker_connections  1024;
}
 
 
http {
 
 
    server{
    listen 80;
    server_name example.com;
 
    access_log /home/path_to_site/access.log;
    error_log /home/path_to_site/error.log;
 
    location / {
        proxy_pass http://172.244.127.97:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
 
}

 

ну и что он слушает ... с чем сравнивает .... и куда отправляет ...))  ??? 

Ссылка на сообщение
Поделиться на других сайтах

Всім привіт, тоже боровся з цією проблемою, вирішив її так:

 

(в мене кабінет резолвиться по доменному імені - аля user.isp.com, який вказує на іп білінга)

 

1). в фаєрі на насі роблю редірект на 127.0.0.1:80 / 443 де слухає нжинкс, тобто фаєр завертає все до себе, якшо юзер з насу хоче зайти на прорезолвену ір білінга:

 

${FwCMD} table 17 add іп-адрес-білінга_де ровернутий-кабінет-юзера/32

${FwCMD} add 160 fwd 127.0.0.1,80 ip from table\(2\) to table\(17\) dst-port 80 via vlan*
${FwCMD} add 160 fwd 127.0.0.1,443 ip from table\(2\) to table\(17\) dst-port 443 via vlan*
 
2). Нжинкс на насіф все прокидує (проксує) на внутрішню ір білінга
 
http {
 
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;
 
    server {
 
    listen  80;
    listen 443 ssl;
    server_name localhost;
    client_max_body_size 16m;
 
    # Enable SSL
    ssl_certificate /CA/webserver.crt;
    ssl_certificate_key /CA/webserver.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
    ssl_prefer_server_ciphers on;
 
    location / {
 
        add_header 'Access-Control-Allow-Methods' 'GET,POST,DELETE,OPTIONS';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Origin' "$http_origin";
        add_header 'Access-Control-Allow-Headers' 'WD-Since,WD-Start,WD-Direction,WD-Length,WD-Ids,Content-Type,WD-Client-Id';
        add_header 'Access-Control-Expose-Headers' 'WD-Total-Length,WD-Phone-Modal,WD-Client-Id,WD-Udid,WD-Need-More';
 
        proxy_pass http://100.100.100.10:80/;
 
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
#        root /usr/local/www/data/;
#        index  index.html index.htm;
        }
 
      }
    }
 

3). Так як в мене авторизація в кабінеті без паролю а по ip, то ще в авторизаційному скрипті кабінета підправив трохи код, і  :( постоянно після обнови потрібно його знову змінювати, - бажано би шоб ці зміни включили в оф. версію:

 

vi /usr/local/www/apache24/data/billing/userstats/modules/engine/api.userstats.php 
ф-цію  zbs_UserDetectIp привести до такого вигляду
 
function zbs_UserDetectIp($debug = false) {
    $glob_conf = zbs_LoadConfig();
    $ip = '';
 
    //default auth method
    if ($glob_conf['auth'] == 'ip') {
        if (!empty($_SERVER['HTTP_CLIENT_IP']))
        {
                $ip=$_SERVER['HTTP_CLIENT_IP'];
        }
        elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
        {
                $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
                $ip=$_SERVER['REMOTE_ADDR'];
        }
    }
    //password based auth
    if ($glob_conf['auth'] == 'login') {
        if ((isset($_COOKIE['ulogin'])) AND ( isset($_COOKIE['upassword']))) {
            $ulogin = trim(vf($_COOKIE['ulogin']));
            $upassword = trim(vf($_COOKIE['upassword']));
            $ip = zbs_UserCheckLoginAuth($ulogin, $upassword);
        }
    }
    if ($debug) {
         //$ip='172.30.0.2';
    }
 
    return($ip);
}
 
P.S таким чином в мене все наразі працює без проблем, також при цій схемі в мене проходить редірект боржників , заморозків, на відповідні сторінки (субдомени), які розвернуті на білінгу, а дефолтний скрипт на білінгу вирішує кого куда перенаправити
Відредаговано chinhis
Ссылка на сообщение
Поделиться на других сайтах

 

Всім привіт, тоже боровся з цією проблемою, вирішив її так:

 

(в мене кабінет резолвиться по доменному імені - аля user.isp.com, який вказує на іп білінга)

 

1). в фаєрі на насі роблю редірект на 127.0.0.1:80 / 443 де слухає нжинкс, тобто фаєр завертає все до себе, якшо юзер з насу хоче зайти на прорезолвену ір білінга:

 

${FwCMD} table 17 add іп-адрес-білінга_де ровернутий-кабінет-юзера/32

${FwCMD} add 160 fwd 127.0.0.1,80 ip from table\(2\) to table\(17\) dst-port 80 via vlan*
${FwCMD} add 160 fwd 127.0.0.1,443 ip from table\(2\) to table\(17\) dst-port 443 via vlan*
 
2). Нжинкс на насіф все прокидує (проксує) на внутрішню ір білінга
 
http {
 
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;
 
    server {
 
    listen  80;
    listen 443 ssl;
    server_name localhost;
    client_max_body_size 16m;
 
    # Enable SSL
    ssl_certificate /CA/webserver.crt;
    ssl_certificate_key /CA/webserver.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
    ssl_prefer_server_ciphers on;
 
    location / {
 
        add_header 'Access-Control-Allow-Methods' 'GET,POST,DELETE,OPTIONS';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Origin' "$http_origin";
        add_header 'Access-Control-Allow-Headers' 'WD-Since,WD-Start,WD-Direction,WD-Length,WD-Ids,Content-Type,WD-Client-Id';
        add_header 'Access-Control-Expose-Headers' 'WD-Total-Length,WD-Phone-Modal,WD-Client-Id,WD-Udid,WD-Need-More';
 
        proxy_pass http://100.100.100.10:80/;
 
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
#        root /usr/local/www/data/;
#        index  index.html index.htm;
        }
 
      }
    }
 

3). Так як в мене авторизація в кабінеті без паролю а по ip, то ще в авторизаційному скрипті кабінета підправив трохи код, і  :( постоянно після обнови потрібно його знову змінювати, - бажано би шоб ці зміни включили в оф. версію:

 

vi /usr/local/www/apache24/data/billing/userstats/modules/engine/api.userstats.php 
ф-цію  zbs_UserDetectIp привести до такого вигляду
 
function zbs_UserDetectIp($debug = false) {
    $glob_conf = zbs_LoadConfig();
    $ip = '';
 
    //default auth method
    if ($glob_conf['auth'] == 'ip') {
        if (!empty($_SERVER['HTTP_CLIENT_IP']))
        {
                $ip=$_SERVER['HTTP_CLIENT_IP'];
        }
        elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
        {
                $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
                $ip=$_SERVER['REMOTE_ADDR'];
        }
    }
    //password based auth
    if ($glob_conf['auth'] == 'login') {
        if ((isset($_COOKIE['ulogin'])) AND ( isset($_COOKIE['upassword']))) {
            $ulogin = trim(vf($_COOKIE['ulogin']));
            $upassword = trim(vf($_COOKIE['upassword']));
            $ip = zbs_UserCheckLoginAuth($ulogin, $upassword);
        }
    }
    if ($debug) {
         //$ip='172.30.0.2';
    }
 
    return($ip);
}
 
P.S таким чином в мене все наразі працює без проблем, також при цій схемі в мене проходить редірект боржників , заморозків, на відповідні сторінки (субдомени), які розвернуті на білінгу, а дефолтний скрипт на білінгу вирішує кого куда перенаправити

 

Спасибо! Заворот работает как нужно, очень помогли. Так же редактировал api.userstats.php сделал как у вас по ip, пишет Unknown user EX_EMPTY_AUTHFAILREDIR так что вернул обратно.  Не совсем понимаю как оно должно работать, то есть как Ubilling идентифицирует ip абона в другой сети для доступа в К/П. 

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від Remez
      Ценник 5,500
       
      в наличии 3 шт
       
       





    • Від mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

    • Від Plastilin
      Вітаю. Маю наступний комплект. Ubilling на Debian + Mikrotik CHR як маршрутизатор. Наче все запустилось, але виникло питання яке не вдається розрулити. Читав Wiki, ковиряв, читав знову Wiki, знову ковиряв - не допомогло.
      Чи можливо якось визначити конкретну IP адресу з пулу який видає Mikrotik клієнту через Radius? Мені пропонує обрати наступну вільну адресу з пулу при спробі зміни адреси?
      З цього з'являється додаткове питання, чи можливо контролювати доступ користувачам у яких IP назначений статично, тобто прописаний вручну? Наприклад при зміні статусу не активний - пхати до Firewall Mikrotik правила заборони доступу з IP адреси визначеної вручну, навіть якщо вона не отримана по DHCP.
       
      UPD: з першою частиною знайшов: IP_CUSTOM=1 в alter.ini 
    • Від ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
    • Від ppv
      Проглянув FAQ і Ubilling Wiki. Зацікавило питання чи є в Ubilling якась реалізація reCAPTCHA, чи потрібно додавати руцями, (для прикладу для форми подачі заявок чи для кабінету користувача)?
       
×
×
  • Створити нове...