Перейти до

Ghost_1987

Маглы
  • Всього повідомлень

    25
  • Приєднався

  • Останній візит

Сообщения додав Ghost_1987

  1. Хотелка на будущее.

    Возможность сборки на clang во Freebsd 9.1.

     

    Ну вроде как собрался на 3-м релиз кандидате 9 фряхи.

    Из портов нужно поставить gmake.

    Так он давно шлангом собирается, в чем хотелка-то?

     

    Стандартный build скрипт требует gmake.

     

    Нужно перед сборкой make config?

    Или где то ручками править?

    Требует и будет требовать. Т.к. BSD Make совсем не то-же что GNU Make.

    Про make config не понял.

     

    В FreeBsd 9.1 в base больше не будет gmake. :unsure:

    А поправить BSD Make нельзя? Если можно сделать самому то как? Не хочется ставить из портов gmake когда все другие порты собираются без него.

     

    про make config это я прогнал, по какой то причине когда писал то думал что stg из портов ставлю :facepalm: .

  2. Хотелка на будущее.

    Возможность сборки на clang во Freebsd 9.1.

     

    Ну вроде как собрался на 3-м релиз кандидате 9 фряхи.

    Из портов нужно поставить gmake.

    Так он давно шлангом собирается, в чем хотелка-то?

     

    Стандартный build скрипт требует gmake.

     

    Нужно перед сборкой make config?

    Или где то ручками править?

  3. Кроме того, я даю гарантию что при реальном использовании у вас начнут воротиться какие-то свои примочки-дописки-довески-обвески требующие развертывания поверх новых релизов. Это к слову, что придется обновлялку под свои нужды править.

     

    Буду обновлять вручную а обновлялку использовать как шпаргалку.

    Не хоца попасть на грабли на продакшене.

  4. Оно уже в продакшне с обеда у десятка сетей. Багфиксы там достаточно критичных вещей.

     

    Ну я и не спорю что нужно обновляться дабы пофиксить старые баги и найти новые. :)

     

    Но как бэ сервак еще в пути на продакшен, физически не доступен и в полном оффлайне.

    Вот как доступ будет, сделаем.

     

    P.S. Я так понимаю что обновления не инкриментальные, а тупо накати сверху пачку файлов и ручками поправь основные конфиги.?

  5. А учитывая что есть такой няшечный веб морда к stg, к нему (stg) будут вообще относиться как к еще одной фигне которую нужно поставить чтобы это все заработало :) .

    Пздц комплимент :D

    P.S. Вы того, осторожнее, а то madf сейчас обидиться и интегрирует в stargazer самоуничтожение при одном виде StoreModule store_mysql :P

     

    Зачем обижаться ведь на самом деле продукт (stg) хороший, просто страшный в плане "Ох ёпт твоюж, сикоко тут всяго, как это фсе конфигить, да еще и через консоль"

     

    P.S.2. имеете возможность еще поискать баги в обновляторе, вкатив себе каррент релиз.

    Сервак ушел в продакшен, протестирую наверно уже немного папожа, а там гляди еще одну новую версию выкатите. :)

  6. ...

    Но это есть ересь по отношению к биллингу, этот акт не рекомендуется к воспроизводство и вообще ни как не комментируется разработчиком. ;)

    Я об этом уже столько раз говорил что, скорее всего, просто забыл описать в документации.

     

    Подозреваю что ее никто не читает. А учитывая что есть такой няшечный веб морда к stg, к нему (stg) будут вообще относиться как к еще одной фигне которую нужно поставить чтобы это все заработало :) .

     

    Ну а если серьезно, необходимости как таковой читать доки по stg нет и если бы не загон с паролем то честно признаюсь даже бы и не открыл педеэфку с мануалом.

     

    Там скорее для разработчиков и модуляписателей нежели для простых смертных :) .

     

    Ну а ведь всегда же хоца чтобы завелось сразу, с пол пинка. И только апосля, если не завелось, с грустью погружаешься в чтение манов.

  7. но после его рестарта в тех же логах нет никаких ошибок и все действия с пользователем логируются в соответствии с его новым логином.

    Ключевой момент "после рестарта".

     

    Допустим есть себе запущенный старгейзер - вы исправляете поле cash юзера на ручнике с 50, до скажем на 100. Всюду отображается что у него таки 50 денег на балансе. После чего добавляете ему 20 денег и оппа - у него на счету 70 денег.

    Старгейзер перечитывает базу только на старте, после чего просто ее "помнит". Так есть и так было всегда.

     

    Я так изначально и понимал :). Теперь еще более уверен.

     

    Подводя итог, если не дай бог появится необходимость править базу в ручную, тушим старгейзер, правим, стартуем.

    Но это есть ересь по отношению к биллингу, этот акт не рекомендуется к воспроизводство и вообще ни как не комментируется разработчиком. ;)

  8. Это вы пока не попробовали с этим пользователем ничего сделать. Денег например добавить, или тариф сменить. Stargazer читает данные из базы только при запуске, после чего держит их актуальными в памяти и вносит изменения в базу когда ему это нужно. При этом все внешние изменения затираются. Именно поэтому такая здоровая кухня с конфигураторами и прочими штуками нагорожена - Ubilling родные таблички stargazer использует только в режиме read-only - все остальное через многоступенчатые прослойки и уровни абстракции.

     

    Ну вы мне наверно не поверите, проверил еще раз, тарифы меняются, деньги добавляются.

    Заглянул в логи старгейзера, подтверждаю что после ручной правки старгейзер отсыпал ошибку, но после его рестарта в тех же логах нет никаких ошибок и все действия с пользователем логируются в соответствии с его новым логином.

     

    Вот такие дела. Возможно такая ситуация наблюдается со старой версией старгейзера?

     

    Какой-то не рандомнный рандом получается в вашем понимании. С таким понтом проще взять и тупо использовать unix timestamp.

     

    Имел ввиду как то так (ниже питонокод):

    import hashlib
    import time
    hash = hashlib.sha1()
    hash.update(str(time.time()))
    print hash.hexdigest()
    print hash.hexdigest()[:10]
    

     

    По поводу наколенных решений типа PPPoE/PPTP и присутствия хотя бы одного управляемого свича на месте схода всех магистральных линий, полностью согласен :) .

  9. Все изменения в табличках users, tariffs и admins - при вмешательстве извне, при запущенном stargazer будут затерты. Все изменения в них происходят при помощи внутренних вызовов конфигураторов старгейзера описанных в опции baseconf конфига billing.ini. sgconfxml к слову тоже по дефолту изза того, что наиболее стабилен на данном этапе.

     

    Ну вот не скажите, буквально за пол часа до поста менял логин через phpMyAdmin вручную минуя stg.

    Есественно после этого билинг сыпанул ошибку, но как то не очень навязчиво, пролечилось это все простым рестартом stg.

    В логи старгейзера не заглядывал так как уже не впервой так изменяю табличные данные и все работает, пока :D.

    Ну конечно на продакшен серваке себе такого не позволю, просто это была обкатка билинга в конфигурации для домохозяек.

    Что на самом деле очень удачно получается на вашем творении, после основным телодвижений в настройке

    даже домохозяйка сможет регистрировать абонентов.

     

    Там и пассворды плейнтекстом к слову.

     

    Еще один повод фаерволить все и вся :). Благо конфиг у ipfw не сильно замороченный.

    А по хорошему вообще админку прокинуть по внутренней сети без выхода во вне.

    На LAN только кабинет пользователя ну и др. плюшки а на WAN вообще все рубануть ну или оставить модуль заявок на подключение.

     

    Генерация для единообразия происходит так:

    [алиас города]+[алиас улицы]+[номер дома]+ap+[номер квартиры]+_(немного рандома, надеемся на отсутствие коллизий)
    

     

    Лично на мой вкус так бы было лучше (логины были бы короче и если вдруг хотелка захочет авторизацию по логинам сделать, не нужно будет абоненту логин-простыню диктовать)

    (немного рандома)
    

     

    При чем рандом генерировать исходя из текущей даты, времени на серваке, ну и еще так чегонить подкинуть. И всю это ересь привести в читаемый вид, не больше 8-12 символов.

     

    В сегодняшних реалиях тотального IPoE вид логина не имеет концептуального значения. Пользователи в 99% случаев и не узнают, что они у них есть.

    Основными критериями идентификации пользователей в Ubilling исторически являются адресные данные и возможно ФИО. Оттуда и удобные выбиралки с уличками-домиками и прочие заточки, ориентированные на то, чтобы что пользователи, что персонал на кассах по возможности не особо задумывался о том, что у пользователя есть еще что-то кроме "где вы живете?" и "как вас зовут?".

    Адресоориентированность генерации логинов, тоже чисто историческая - для удобства разбора полетов по логам, постоянно не гоняя неизвестно куда, чтобы посмотреть "а что же это за юзер?".

    [/code]

     

    Тут конечно не спорю, но реалии таковы что не каждый оператор может себе позволить ставить управляемые свичи, некоторые даже и не слышали о таких. А по мне IPoE без возможности контроля на уровне магистралей как то стремна.

    Так и живем еще в 2000 -х :facepalm:

     

    Можно, че. Мне рандома не жалко - забирайте сколько хотите :)

     

    Но не раньше 0.3.4 точно. Не хочется ничего более-менее критичного (таким считается работа с баблом, регистрациями, сетями) трогать на фоне уже на 90% готового релиза.

     

    Ну на самом деле это хотелка на будущие релизы, а основной функционалом для целевой аудитории вполне себе присудствует и не смотря на некоторые костыли работает на ура.

     

    А большего от халявы и не требуется :)

  10. Сегодня кстати прочувствовал на себе причины почему по дефолту стоит SAFE_REGMODE=1 в alter.ini. :facepalm:

    Благо шлюз еще в тесте был и легко поправил косяк через phpMyAdmin.

     

    Однако стремает что уникальное поле таблички есть логин а не какойнить замысловато сгенерированный из /dev/random набор хеш сумм.

     

    При таком раскладе уж лучше пусть сам биллинг их генерирует и не будет давать их изменять.

     

    Хотя и получаются этакие черезмерно замысловатые логины которые по сути сложнее сгенериных паролей.

     

    Может прикрутить опцию метода генерации логинов?

    По мне так пусть логин и пароль генерется через pwgen like код чем то как оно сейчас генерит основываясь на адресах и рандоме.

     

    UPD. Ветку пора переименовать во Флейм :D

  11. Кстати по вашему совету все же решился и отключил nginx как фронтэнд.

    Ну я против него в роли фронтэнда не имею ничего против, если скажем нужно отдавать здоровую статику типа киношек гигабитами :)

    Ну наверно субъективно мое мнение но nginx фронтэндом с ssl было настроить проще чем Apache + mod_ssl :facepalm::D

     

    находяться в отдельной анально огороженной сети

     

    :D БУГАГА !!! тогда конечно нет смысла.

     

    ну тогда уж заодно и net-snmp, cacti, monit и chef - как минимальнейший набор, для управления биллинговым сервером :)

     

    Интересно какую нужно будет машину если все это на нее поставить + NAT и дофига пользователей. :huh: Какойнить гуголь клауд арендовать.

     

    Посмотрел. А почему всюду где нужно и не нужно AllowOverride None? Возможно есть смысл только для cgi-bin?

    В таком расскладе у вас не должны работать все штатные замашки растущие ногами из mod_rewrite.

    Тоесть ваш вагон Allow from 127.0.0.1, localhost можно свободно заменить тем же .htaccess в корневой директории морды вида скажем

    deny from all
    allow from откуда вам там нужно
    

     

    Перепроверил и AllowOverride None стоит для

    /, 
    /usr/local/www/apache22/cgi-bin, 
    /usr/local/www/phpMyAdmin, 
    /usr/local/www/apache22/data/phpMyAdmin, 
    /usr/local/www/apache22/data/billing/phpsysinfo/, 
    /usr/local/www/apache22/data/band/
    

     

    А для /usr/local/www/apache22/data стоит AllowOverride All

     

    На самом деле просто копировал с шаблона с AllowOverride None и поменял только для корневой папки биллинга на AllowOverride All.

     

    Не фанат конечно с .htaccess возится по древу папочек вебки, вот и захотелось все в кучу в один конфиг.

     

    Но впринципе да можно просто нафиг их убрать от туда. :)

  12. У мну не планируется удаленных NAS, все на одной машине, посему рублю порты фаером.

    Пусть так, а вдруг какую-то циску на агрегацию поставите, либо микротичину и захотите снимать нетфлоу с нее? :)

     

    Поправим фаер :) .

     

    Кстати да, с двумя интерфейсами на которых запущен dhclient у меня постоянно возникали какие-то странные проблемы, оттуда и склонность использовать только статику.

     

    Вот и мои мысли тоже, поэтому прописал все статикой и нафиг dhclient.

     

    Кстати по вашему совету все же решился и отключил nginx как фронтэнд.

     

    Настроил Apache + mod_sll + openssl.

     

    Пришлось из портов ставить openssl и пересобирать Apache.

    В дефолтном виде без обновления openssl, nikto страшно матюкался на устаревшие либы.

     

    Возможно ли в новой версии онлайн установщика включить по дефолту установку openssl перед Apache? Ну и возможно сразу оптом phpmyadmin и portupgrade.

     

    P.S. Если есть интерес простыня-конфиг Apache: http://pastebin.com/tSJjNZQm

  13. add 1 deny all from any to any dst-port 42111 via re0
    

    А как вы будете получать netflow с удаленных NAS?

     

    У мну не планируется удаленных NAS, все на одной машине, посему рублю порты фаером.

     

    Вобще хорошим practice в таких случаях считается оставлять в начале хоть немого зазора, для описания исключений. Вам же не жалко номеров правил? :)

     

    Как то так?

     

    # Stargazer
    ${FwCMD} add 1000 deny all from any to any dst-port 5555 via re0
    ${FwCMD} add 1000 deny all from any to any dst-port 5555 via re1
    ${FwCMD} add 1000 deny all from any to any dst-port 42111 via re0
    ${FwCMD} add 1000 deny all from any to any dst-port 42111 via re1
    

     

    Пробовал изменить адрес маршрутизатора в предыдущих конфигах, но даже после этого NAT не хотел взлетать.

    В принципе работает, но в таких случаях думаю логичнее рисовать NAT по интерфейсу и исходя из to me а не статической айпишки.

     

    Я так понимаю как то так?

    # Networks define
    ${FwCMD} table 2 add 10.10.0.0/20
    ${FwCMD} table 9 add 192.168.1.100 # тут тоже to me можно?
    #NAT
    ${FwCMD} nat 1 config log if re0 reset same_ports
    ${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via re0
    ${FwCMD} add 6001 nat 1 ip from any to me via re0
    

     

    P.S. Очень помогло это http://jodies.de/ipcalc

    https://aur.archlinu...es.php?ID=22384

     

    Ух ты, спасибо, приятнейший такой морда :)

  14. Решил проблему хирургическим удалением лишних сетевух и немножко магии :)

     

    cat /etc/firewall.conf

     

    #!/bin/sh
    
    # firewall command
    FwCMD="/sbin/ipfw -q"
    
    ${FwCMD} -f flush
    
    # Stargazer
    ${FwCMD} add 1 deny all from any to any dst-port 5555 via re0
    ${FwCMD} add 1 deny all from any to any dst-port 5555 via re1
    ${FwCMD} add 1 deny all from any to any dst-port 42111 via re0
    ${FwCMD} add 1 deny all from any to any dst-port 42111 via re1
    
    # Networks define
    ${FwCMD} table 2 add 10.10.0.0/20
    ${FwCMD} table 9 add 192.168.1.100
    
    #NAT
    ${FwCMD} nat 1 config log if re0 reset same_ports
    ${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via re0
    ${FwCMD} add 6001 nat 1 ip from any to 192.168.1.100 via re0
    
    # default block policy
    ${FwCMD} add 65533 deny all from table\(2\) to any via re1
    ${FwCMD} add 65534 deny all from any to table\(2\) via re1
    ${FwCMD} add 65535 allow all from any to any

     

    cat /etc/rc.conf

     

    keymap="us.iso"
    
    hostname="gateway.isp"
    ifconfig_re0="inet 192.168.1.100 netmask 0xffffff00"
    ifconfig_re1="inet 10.10.0.1 netmask 0xfffff000"
    
    defaultrouter="192.168.1.1"
    static_routes="wan"
    route_wan="-net 192.168.1.0/24 192.168.1.1"
    
    gateway_enable="YES"
    sshd_enable="YES"
    sshd_flags="-p 2222"
    syslogd_flags="-s -b 127.0.0.1"
    
    #ntpdate_hosts="0.ua.pool.ntp.org"
    #ntpdate_enable="YES"
    
    mysql_enable="YES"
    apache22_enable="YES"
    apache22_http_accept_enable="YES"
    #nginx_enable="YES"
    
    dhcpd_enable="YES"
    dhcpd_flags="-q"
    dhcpd_conf="/usr/local/etc/multinet/dhcpd.conf"
    dhcpd_ifaces="re1"
    
    #access/shape/nat
    firewall_enable="YES"
    firewall_nat_enable="YES"
    dummynet_enable="YES"
    firewall_script="/etc/firewall.conf"

     

    ipfw show

     

    00001	 6	 264 deny ip from any to any dst-port 5555 via re0
    00001	 25	 1566 deny ip from any to any dst-port 5555 via re1
    00001	 0		 0 deny ip from any to any dst-port 42111 via re0
    00001	 0		 0 deny ip from any to any dst-port 42111 via re1
    06000	 255	 20033 nat 1 ip from table(2) to not table(9) via re0
    06001 953195 50400173 nat 1 ip from any to 192.168.1.100 via re0
    10002 4421	 260350 pipe 101 ip from 10.10.0.2 to any via re1 in
    10003 3390 1664025 pipe 4101 ip from any to 10.10.0.2 via re1 out
    10004	 0		 0 allow ip from 10.10.0.2 to any
    10005	 0		 0 allow ip from any to 10.10.0.2
    65533	 0		 0 deny ip from table(2) to any via re1
    65534	 0		 0 deny ip from any to table(2) via re1
    65535 1918261 1692094867 allow ip from any to any

     

    ifconfig

     

    re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
    ether f4:6d:04:50:77:21
    inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active
    re1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
    ether 84:c9:b2:46:f9:39
    inet 10.10.0.1 netmask 0xfffff000 broadcast 10.10.15.255
    media: Ethernet autoselect (none)
    status: no carrier
    ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
    inet6 ::1 prefixlen 128
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=3<PERFORMNUD,ACCEPT_RTADV>

     

    cat /usr/local/www/apache22/data/billing/multinet/dhcpd.conf

     

    option domain-name "ourisp";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    default-lease-time 3600;
    max-lease-time 43200;
    authoritative;
    ddns-update-style none;
    log-facility local7;
    one-lease-per-client true;
    deny duplicates;
    
    shared-network ourisp {
    
    subnet 10.10.0.0 netmask 255.255.240.0 {
    default-lease-time 3600;
    option domain-name "ourisp";
    option subnet-mask 255.255.240.0;
    option routers 10.10.0.1;
    include "/usr/local/etc/multinet/ethernet.conf";
    }
    
    }
    
    

     

    Причем самое интересное наблюдалось когда ручками прописал все стандартные маршруты и адреса сетевых карт, внезапно заработал NAT так как нужно.

     

    Вывод не делать вот так:

    ifconfig_re0="DHCP"

     

    Или использовать такие сети 192.168.128.0/17 , что поразительна стоило только поменять класс сети как сразу все заработало.

     

    Пробовал изменить адрес маршрутизатора в предыдущих конфигах, но даже после этого NAT не хотел взлетать.

     

    Наверно на будущее нужно в вики пометить так не делать :facepalm::D .

    И тему переименовать как не нужно настраивать DHCP для локали :rolleyes: .

     

    Еще раз большое спасибо nightfly, за очень толковые подсказки :) .

     

    P.S. Очень помогло это http://jodies.de/ipcalc и это http://www.pawprint.net/designresources/netmask-converter.php

  15. Если в фаерволе сделать так для каждой сетевухи:

    С точки зрения секурности - это хорошее решение.

    По умолчанию этого не сделано поскольку нету гарантии, что сам ubilling и такие штуки как userstats, uhw и чего там еще есть будут находиться на одном хосте со старгейзером.

     

    Аж прям навивает отдельный онлайн инсталятор для малоимущих провайдеров а-ля все в одном на одном кампе :D .

    Для всех других случаев проще наверно статью в вики написать, а то ХЗ сколько вариантов существуют, а кому нужно масштабирование на много машин думаю сможет сам справится с ручной установкой по вики.

     

    Я вон к Апачу nginx прикручивал чтобы проксировал вся через SSL, не дай бог такую ересь в установщик запихнуть.

    Уж лучше сразу с nginx + php-fpm. Вот бы кто протестировал это связку. На апач больно и тошно смотреть.

     

    Конфиг nginx если кому интересно:

    user www www;
    worker_processes 2;
    error_log /var/log/nginx/error.log;
    pid	 /var/run/nginx.pid;
    events {
    worker_connections 1024;
    use kqueue;
    }
    http {
    include	 mime.types;
    default_type application/octet-stream;
    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    #				 '$status $body_bytes_sent "$http_referer" '
    #				 '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log /var/log/nginx/access.log main;
    server_tokens off;
    sendfile	 on;
    tcp_nopush	 on;
    tcp_nodelay	 on;
    client_max_body_size	 10m;
    client_body_buffer_size 128k;
    client_header_timeout	 3m;
    client_body_timeout	 3m;
    send_timeout			 3m;
    keepalive_timeout		 2m;
    server {
     listen 80;
     server_name _;
     rewrite ^ https://$host$request_uri? permanent;
    }
    server {
     listen	 443;
     server_name localhost;
     server_name_in_redirect off;
     ssl				 on;
     ssl_certificate	 ssl/cert.pem;
     ssl_certificate_key ssl/cert.key;
     ssl_session_timeout 5m;
     ssl_protocols SSLv3 TLSv1;
     ssl_ciphers HIGH:!aNULL:!MD5;
     ssl_prefer_server_ciphers on;
     #access_log /var/log/nginx/host.access.log main;
     location / {
    	 proxy_pass		 http://127.0.0.1:8080/;
    	 proxy_redirect	 off;
    	 proxy_set_header Host			 $host;
    	 proxy_set_header X-Real-IP	 $remote_addr;
    	 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    	 proxy_connect_timeout	 90;
    	 proxy_send_timeout		 90;
    	 proxy_read_timeout		 90;
    	 proxy_buffer_size		 4k;
    	 proxy_buffers			 4 32k;
    	 proxy_busy_buffers_size 64k;
    	 proxy_temp_file_write_size 10m;
    	 location /billing/phpsysinfo/ {
    		 proxy_pass		 http://127.0.0.1:8080/billing/phpsysinfo/;
    		 proxy_redirect	 off;
    		 proxy_set_header Host			 $host;
    		 proxy_set_header X-Real-IP	 $remote_addr;
    		 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		 proxy_connect_timeout	 90;
    		 proxy_send_timeout		 90;
    		 proxy_read_timeout		 90;
    		 proxy_buffer_size		 4k;
    		 proxy_buffers			 4 32k;
    		 proxy_busy_buffers_size 64k;
    		 proxy_temp_file_write_size 10m;
    		 auth_basic		 "[#_#]";
    		 auth_basic_user_file htpasswd;
    	 }
    	 location /band/ {
    		 proxy_pass		 http://127.0.0.1:8080/band/;
    		 proxy_redirect	 off;
    		 proxy_set_header Host			 $host;
    		 proxy_set_header X-Real-IP	 $remote_addr;
    		 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		 proxy_connect_timeout	 90;
    		 proxy_send_timeout		 90;
    		 proxy_read_timeout		 90;
    		 proxy_buffer_size		 4k;
    		 proxy_buffers			 4 32k;
    		 proxy_busy_buffers_size 64k;
    		 proxy_temp_file_write_size 10m;
    		 auth_basic		 "[#_#]";
    		 auth_basic_user_file htpasswd;
    	 }
     }
    }
    }
    

     

    В httpd.conf от апача поправить:

    Listen 127.0.0.1:8080

     

    Сразу напрашивается вопрос а нафига location /band/ и location /billing/phpsysinfo/ с авторизацией по htpasswd, а потому что они доступны по прямым ссылкам без необходимости авторизации в биллинге :facepalm: .

  16. Может стоит сразу патчить сорцы perl'ом прям из скрипта перед компиляцией чтобы избежать костылей с bash и sgconf_xml ?

    Есть еще хитрый план, нагло пихать пароль в базу на завершающей стаддии. Нужно просто разобраться как старгейзер криптует пароли и наваять небольшую криптовалку для приведения последних в удобный для него вид. Благо на финальном этапе похапе уже установлен.

     

    Но меня не покидает надежда на выход 2.409 в обозримом будущем.

     

    Не ищем легких путей :)

     

    Кстати немного смущает сетевая черезмерно активность старгейзера. Если в фаерволе сделать так для каждой сетевухи:

     

    ${FwCMD} add 1 deny all from any to any dst-port 5555 via re0
    ${FwCMD} add 1 deny all from any to any dst-port 42111 via re0
    

     

    Нечего не упадет?

  17. В любом случае затестю чего там с кавычками и сборкой ядры, да и наверное таки изобразю отдельный причессанный онлайновый инсталлер под 8.3.

    Перебирать все бинарные пакеты для домохозяек - здоровья сейчас никакого нет.

     

    Хде вы были раньше :P .

     

    Оффлайн инсталятор. А оно вообще нужно?

     

    Имеет смысл только при одновременной инсталяции биллинга на 100500+ машин. А так и дистрибутив меньше и проще скрипт поддерживать для текущей стабильной ветки фряхи.

     

    Конфиг ядра если что http://diffchecker.com/Sl0q00Ov

  18. Ветку на форуме видел, но у мну вот эта комманда вываливала - не найден идентификатор :blink: , ХЗ вообщем. Благо есть виндовый конфигуратор.

    Это артефакт sh - оное должно пускаться из под bash. Засим и закоментировано. Кроме того оно в 2.408 таки грохает права :(

     

    Может стоит сразу патчить сорцы perl'ом прям из скрипта перед компиляцией чтобы избежать костылей с bash и sgconf_xml ?

  19. На sh и вылетело кстати

    Насколько помню под видом sh в линуксах идет dash который более Almquist shell либо симлинк на bash. На BSD это таки Bourne shell.

     

    На линухе так и есть в арче так точно это сим линк на bash.

     

    Но в первый раз словил ошибку на фре и потом попробовал на линухе, затем погуглил :D

    http://www.linuxquestions.org/questions/programming-9/bash-echo-bin-bash-event-not-found-trying-to-generate-profiles-automatically-441233/

  20.  

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

     

     

    На sh и вылетело кстати :rolleyes: на zsh тоже косяк, проверял на домашнем Arch :) .

     

    Хм, возможно в 8.3 что-то изменилось на эту тему. Надо будет почитать на досуге.

     

    Там прям пишет в консоль не дай боже юзерь не забудь

    Don't forget to do `` make cleandepend & & make depend''

  21. . А в новой версии stg еще ко всему прочему не меняется стандартный пароль через консольный sgconf_xml. Делал через вин конфигуратор.

    Он меняется, просто после этого слетают права администратора :)

    Баг уже зарепорчен madf-у.

    Ветку на форуме видел, но у мну вот эта комманда вываливала - не найден идентификатор :blink: , ХЗ вообщем. Благо есть виндовый конфигуратор.

    sgconf_xml -s localhost -p 5555 -a admin -w 123456 -r "<ChgAdmin Login=\"admin\" Password=\"${STG_PASS}\"/>"
    

     

    Пропишу наверно 192.168.128.0 - 192.168.199.255, не принципиально где IP резервировать, а вот не хочется делать лишних телодвижений с шаблонами. Пусть все будет по дефолту как задумано :D .

     

    Спасибо за помощь кстати :) .

     

    Я там выше отписался по поводу инсталятора, если интересно загляните в пост №3 :) .

  22. ifconfig_re0="DHCP" - встроенная сетевуха, оставил так на всяк пожарный вдруг нужно будет залезть на сервак локально если будет какая нибуть трабла.

    ifconfig_re1="DHCP" - присваевает 192.168.1.70 с рутера смотрящего в инет, на рутере прописано статикой, не хотелось морочить голову с маршрутами.

    ifconfig_re2="inet 192.168.128.1 netmask 0xffff8000" - локаль на которой DHCP, смотрит в сторону юзеров, так точно 192.168.128.0/17 раздает.

     

    cat /usr/local/www/apache22/data/billing/multinet/dhcpd.conf

    option domain-name "ourisp";
    option domain-name-servers 8.8.8.8;
    default-lease-time 3600;
    max-lease-time 43200;
    authoritative;
    ddns-update-style none;
    log-facility local7;
    one-lease-per-client true;
    deny duplicates;
    
    shared-network ourisp {
    
    subnet 192.168.128.0 netmask 255.255.128.0 {
    default-lease-time 3600;
    option domain-name "ourisp";
    option subnet-mask 255.255.128.0;
    option routers 192.168.128.11;
    include "/usr/local/etc/multinet/ethernet.conf";
    }
    
    }
    

     

    cat cat /usr/local/www/apache22/data/billing/multinet/ethernet.conf

    host m192x168x128x11 {
    hardware ethernet 00:e0:4c:09:70:41;
    fixed-address 192.168.128.11;
    }
    

     

    Я так понимаю что проблемма в

    option routers 192.168.128.11;

    должно быть?

    option routers 192.168.128.1;

     

    Но блин я же его уже 3 раза до этого правил, возможно ли что веб интерфейс затирает значение?

     

    Ахаха и охохо БЛИН!

     

    Шаблоны DHCP

     

    subnets.template

    Поддерживаются макро:

    {ROUERS} - шлюз, по умолчанию - это начальная IP+1

     

     

    У мну начальная IP = 192.168.128.10 - думал, ай да зарезервирую себе в начале немного адресов :facepalm:

    Теперь все начинает проясняться :facepalm::D

     

    Завтра вечером попробую изменить и отпишусь.

     

    И вже же чистно из интереса почему ipfw nat 1 show и ipfw nat show config нечего не показывают? :unsure:

  23. Все настраивалось по вики и в ручном режиме из автоматичекого инсталятора.

    Эммм, нифига не понял :blink:

    На Freebsd 8.3 онлайн инсталятор отваливается, т.к. названия пакетов в портах изменилось. Там еще местами с кавычками косяк. Ставил пошагово через удаленный терминал. А в новой версии stg еще ко всему прочему не меняется стандартный пароль через консольный sgconf_xml. Делал через вин конфигуратор.

    За основу установки брался инсталятор + статьи из вики )))

    По ходу устоновки правил скрипт установщика:

     

    http://diffchecker.com/1GB85Alc

     

    Особенно смущает:

    echo "#!/bin/sh" >> /etc/rc.d/billing

     

    Нужно так:

     echo '#!/bin/sh' >> /etc/rc.d/billing 

     

    Без

    make cleandepend

    скрипт переодически вываливается так и не скомпилировав ядро.

  24. Установка свежего Ubilling на FreeBSD 8.3 в кофигурации СУБД (MySQL), Stargazer, Ubilling, NAS на одном физическом сервере.

     

    Все настраивалось по вики и в ручном режиме из автоматичекого инсталятора.

    Сам биллинг работает, stg тоже. DHCP присваевает адреса на локальном интерфейсе и при условии что абонент зарегистрирован и активен, есть доступ к биллингу и личному кабинету.

     

    Но в интернет не пускает!

     

    Я так понимаю что не работает NAT, т.к. эти комманды не выводят результат:

    ipfw nat 1 show

    ipfw nat show config

     

    uname -a

    FreeBSD gateway.isp 8.3-RELEASE-p4 FreeBSD 8.3-RELEASE-p4 #1: Fri Nov 2 17:00:04 EET 2012	 admin@gateway.isp:/usr/src/sys/i386/compile/UBNAS i386
    

     

    Ядро собрано с (за основу взято GENERIC):

    options IPFIREWALL

    options IPFIREWALL_DEFAULT_TO_ACCEPT

    options IPFIREWALL_FORWARD

    options IPFIREWALL_VERBOSE

    options IPFIREWALL_VERBOSE_LIMIT=50

    options IPFIREWALL_NAT

    options LIBALIAS

    options ROUTETABLES=2

    options DUMMYNET

    options HZ="1000"

     

    cat /etc/rc.conf

    keymap="us.iso"
    hostname="gateway.isp"
    ifconfig_re0="DHCP"
    ifconfig_re1="DHCP"
    ifconfig_re2="inet 192.168.128.1 netmask 0xffff8000"
    gateway_enable="YES"
    sshd_enable="YES"
    sshd_flags="-p 2222"
    syslogd_flags="-s "
    mysql_enable="YES"
    apache22_enable="YES"
    apache22_http_accept_enable="YES"
    dhcpd_enable="YES"
    dhcpd_flags="-q"
    dhcpd_conf="/usr/local/etc/multinet/dhcpd.conf"
    dhcpd_ifaces="re2"
    firewall_enable="YES"
    firewall_nat_enable="YES"
    dummynet_enable="YES"
    firewall_script="/etc/firewall.conf"
    

     

    cat /etc/firewall.conf

    #!/bin/sh
    # firewall command
    FwCMD="/sbin/ipfw -q"
    ${FwCMD} -f flush
    # Networks define
    ${FwCMD} table 2 add 192.168.128.0/17
    ${FwCMD} table 9 add 192.168.1.70
    #NAT
    ${FwCMD} nat 1 config log if re1 reset same_ports
    ${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via re1
    ${FwCMD} add 6001 nat 1 ip from any to 192.168.1.70 via re1
    # default block policy
    #${FwCMD} add 65533 deny all from table\(2\) to any via re2
    #${FwCMD} add 65534 deny all from any to table\(2\) via re2
    #${FwCMD} add 65535 allow all from any to any
    

     

    ifconfig -a (re1 - мир; re2 - локаль)

    re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
    ether f4:6d:04:50:77:21
    media: Ethernet autoselect (none)
    status: no carrier
    re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
    ether fc:75:16:56:d1:07
    inet 192.168.1.70 netmask 0xffffff00 broadcast 192.168.1.255
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active
    re2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
    ether 84:c9:b2:46:f9:39
    inet 192.168.128.1 netmask 0xffff8000 broadcast 192.168.255.255
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active
    

     

    ipfw show

    06000 0	 0 nat 1 ip from table(2) to not table(9) via re1
    06001 0	 0 nat 1 ip from any to 192.168.1.70 via re1
    10002 1236 94581 pipe 101 ip from 192.168.128.11 to any via re2 in
    10003 1621 239349 pipe 4101 ip from any to 192.168.128.11 via re2 out
    10004 0	 0 allow ip from 192.168.128.11 to any
    10005 0	 0 allow ip from any to 192.168.128.11
    65535 2918 1572530 allow ip from any to any
    

     

    ipfw table 2 list

    192.168.128.0/17 0
    

     

    ipfw table 9 list

    192.168.1.70/32 0
    

     

    sockstat -4l

    USER	 COMMAND PID FD PROTO LOCAL ADDRESS		 FOREIGN ADDRESS	
    www	 httpd	 1405 4 tcp4 *:80				 *:*
    www	 httpd	 1403 4 tcp4 *:80				 *:*
    www	 httpd	 1402 4 tcp4 *:80				 *:*
    www	 httpd	 1401 4 tcp4 *:80				 *:*
    www	 httpd	 1400 4 tcp4 *:80				 *:*
    www	 httpd	 1398 4 tcp4 *:80				 *:*
    root	 stargazer 1303 1 tcp4 *:5555			 *:*
    root	 stargazer 1303 2 udp4 *:5555			 *:*
    root	 stargazer 1303 4 udp4 *:42111			 *:*
    root	 stargazer 1303 5 tcp4 *:42111			 *:*
    root	 sendmail 1264 3 tcp4 127.0.0.1:25		 *:*
    www	 httpd	 1263 4 tcp4 *:80				 *:*
    www	 httpd	 1261 4 tcp4 *:80				 *:*
    www	 httpd	 1260 4 tcp4 *:80				 *:*
    www	 httpd	 1259 4 tcp4 *:80				 *:*
    root	 sshd	 1256 4 tcp4 *:2222			 *:*
    root	 httpd	 1247 4 tcp4 *:80				 *:*
    mysql mysqld	 1196 11 tcp4 127.0.0.1:3306	 *:*
    dhcpd dhcpd	 891 7 udp4 *:67				 *:*
    dhcpd dhcpd	 891 20 udp4 *:51469			 *:*
    root	 syslogd 789 7 udp4 *:514				 *:*
    

     

    Подскажите что делаю не правильно?

×
×
  • Створити нове...