Користувальницькькі налаштування

Налаштування сайту


freebsdremotenas

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Остання ревізія По сторонах наступні версії
freebsdremotenas [2018/12/04 15:09]
freebsdremotenas [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
Рядок 1: Рядок 1:
 +====== Настройка удаленного NAS на FreeBSD с rscriptd ======
  
 +====== Что нужно ======
 +
 +  - Хотябы приблизительное представление что вы делаете и зачем
 +  - Чистая(!) [[video|FreeBSD 13.1 amd64]] установленая на адекватном железе
 +  - Настройки rc.conf с учетом физиологии доступа
 +
 +====== Соглашения ======
 +
 +{{ :rscriptdnas1.png? |}}
 +
 +Для примера допустим, что Ubilling со всеми потрохами расположен по адресу 172.16.0.1 и что наш rc.conf на момент начала установки выглядит следующим образом:
 +
 +<code>
 +defaultrouter="1.2.3.4"
 +gateway_enable="YES"
 +hostname="nas.isp"
 +ifconfig_igb0="inet 172.16.0.2 netmask 255.255.252.0"
 +ifconfig_igb1="inet 1.2.3.5 netmask 255.255.255.0"
 +sshd_enable="YES"
 +</code>
 +
 +Из чего не сложно заключить, что аплинковым у нас будет интерфейс igb1 с айпишкой 1.2.3.5, смотрящий в сторону дефолтраута 1.2.3.4. На нем же будет производиться NAT пользовательской подсети 172.16.0.0/22 доступной через интерфейс igb0. Шейпинг будет в свою очередь проводится на интерфейсе igb0. 
 +
 +====== Приступаем к установке ======
 +
 +Все автоматизировано какраз до того уровня, чтобы оградить от сего действа домохозяек, а нормальным людям можно было быстренько установить необходимые параметры и уйти пить чай, пока скрипт соберет все что нужно сам\\
 +
 +  # fetch http://ubilling.net.ua/ubinstaller.tar.gz
 +  # tar zxvf ubinstaller.tar.gz
 +  # cp -R ubinstaller/nas_preconf /tmp/
 +  # cd /tmp/nas_preconf/
 +  # vi autosetup.sh
 +  
 + Далее нам следует установить все опции в соответствии с реальностью нашего NAS-a:
 +
 +<code>
 +############ CONFIG SECTION #############
 +
 +
 +#Интерфейс смотрящий в интернет (WAN)
 +EXT_IF="igb1"
 +
 +#Интерфейс смотрящий на пользователей (LAN)
 +INT_IF="igb0"
 +INT_IP="172.16.0.2"
 +
 +#Подсеть пользователей и масочка в виде CIDR
 +INT_NET="172.16.0.0"
 +INT_NET_CIDR="22"
 +
 +#Установки хоста Ubilling
 +MYSQL_HOST="172.16.0.1"
 +MYSQL_LOGIN="somelogin"
 +MYSQL_PASSWORD="somepassword"
 +MYSQL_DB="stg"
 +
 +#Ключ rscriptd (смотрим его в stargazer.conf), местоположение коллектора Netflow и комьюнити SNMP 
 +RSCRIPTD_KEY="kotiki"
 +NETFLOW_HOST="172.16.0.1:42111"
 +SNMPCOMM="changeme"
 +
 +#Путь по которому должен располагаться bandwidthd
 +BANDWIDTHD_PATH="band"
 +</code>
 +
 +После чего в принципе можно пробовать запускать наш скрипт сборки:
 +  # sh autosetup.sh
 +  
 +После завершения работы скрипта сборки следует перегрузиться.
 +
 +Вот в общих чертах и все.
 +
 +====== Немного о логике фаервола и табличках ======
 +  * **(2)** - подсети пользователей, попадают в NAT, по умолчанию запрещено прохождение пакетов через внутренний интерфейс 
 +  * **(3)** и **(4)** - таблички используются для шейпа (3-вверх/4-вниз). Попадают сюда пользователи при помощи OnConnect. 
 +  * **(47)** - сюда попадают пользователи отстреленные вызовами OnDisconnect
 +  * **(9)** - адреса и подсети для которых не будет производиться NAT
 +  * **(17)** - адреса которые будут доступны всегда по-умолчанию (зарезервировано)
 +  * **(6)** - префиксы UA-IX [[uaixshape|(зарезервировано)]]
 +  * **(10)** - пользовательские подсети, для которых не следует производить NAT (зарезервировано)
 +  * **(42)** - адреса или подсети трафик которых будет дропаться в самом начале (зарезервировано)
 +
 +Почему именно так? "Так сложилось исторически" и "Потому что так захотелось" - по-моему достаточные причины. В любом случае вам никто не запрещает сделать как угодно, но мы стремимся к единообразию и какой-никакой стандартизации, чтобы при разборе ваших же проблем не тратить лишних усилий, на то, чтобы понять что это, и как оно по вашей задумке должно было бы работать.
 +
 +====== О создании пользователя с удаленным доступом к базе ======
 +<code sql>
 +CREATE USER 'somelogin'@'%' IDENTIFIED BY 'somepassword';
 +GRANT ALL PRIVILEGES ON *.* TO 'somelogin'@'%' WITH GRANT OPTION;
 +</code>
 +
 +
 +====== Со стороны Ubilling-a ======
 +Перед первым использованием, убедитесь, что со стороны сервера биллинга, в /etc/stargazer.conf присутствует раскомментированная секция вида
 +
 +<code ini>
 +
 +<Module remote_script>
 +SendPeriod = 10
 +SubnetFile =/etc/stargazer/remote_nas.conf
 +Password = kotiki
 +UserParams=Cash Tariff
 +Port = 9999
 +</Module>
 +
 +</code> 
 +
 +Также требуются **включенные** опции RESET_AO и STGNASHUP в billing.ini для предотвращения проблем с реинициализацией пользователей на удаленных NAS. 
freebsdremotenas.txt · Востаннє змінено: 2023/06/19 11:33 повз borisov