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

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


freebsdremotenas

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
freebsdremotenas [2018/03/22 14:30]
freebsdremotenas [2023/06/19 11:33] (поточний)
borisov
Рядок 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.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.