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

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


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

freebsdremotenas

Налаштування віддаленого NAS на FreeBSD с rscriptd

Що потрібно

  1. Хоча б приблизне уявлення що ви робите і навіщо
  2. Чиста(!) FreeBSD 13.1 amd64 встановлена на адекватному залізі
  3. Налаштування rc.conf з урахуванням фізіології доступу

Угоди

Для прикладу припустимо, що Ubilling з усіма потрохами розташований за адресою 172.16.0.1 і що наш rc.conf на момент початку встановлення має такий вигляд:

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"

З чого не складно зробити висновок, що аплінковим у нас буде інтерфейс 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:

############ 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"

Після чого в принципі можна пробувати запускати наш скрипт збірки:

# sh autosetup.sh

Після завершення роботи скрипта збірки слід перезавантажитися.

Ось у загальних рисах і все.

Трохи про логіку фаєрвола та таблички

  • (2) - підмережі користувачів, що потрапляють у NAT, за замовчуванням заборонено проходження пакетів через внутрішній інтерфейс
  • (3) і (4) - таблички використовуються для шейпа (3-вгору/4-вниз). Потрапляють сюди користувачі за допомогою OnConnect.
  • (47) - сюди потрапляють користувачі відстріляні викликами OnDisconnect
  • (9) - адреси та підмережі для яких не буде проводитися NAT
  • (17) - адреси, які будуть доступні завжди за замовчуванням (зарезервовано)
  • (6) - префікси UA-IX (зарезервовано)
  • (10) - призначені для користувача підмережі, для яких не слід робити NAT (зарезервовано)
  • (42) - адреси або підмережі, трафік яких буде дропатися на самому початку (зарезервовано)

Чому саме так? “Так склалося історично” і “Тому що так захотілося” - по-моєму достатні причини. У будь-якому разі вам ніхто не забороняє зробити як завгодно, але ми прагнемо до однаковості та певної стандартизації, щоб під час розбору ваших же проблем не витрачати зайвих зусиль на те, щоб зрозуміти, що це, і як воно, за вашою задумкою, мало б працювати.

Про створення користувача з віддаленим доступом до бази

CREATE USER 'somelogin'@'%' IDENTIFIED BY 'somepassword';
GRANT ALL PRIVILEGES ON *.* TO 'somelogin'@'%' WITH GRANT OPTION;

З сторінки Ubilling-a

Перед першим використанням, переконайтеся, що з боку сервера білінгу, в /etc/stargazer.conf присутня розкоментована секція вигляду

<Module remote_script>
SendPeriod = 10
SubnetFile =/etc/stargazer/remote_nas.conf
Password = kotiki
UserParams=Cash Tariff
Port = 9999
</Module>

Також потрібні увімкнені опції RESET_AO та STGNASHUP у billing.ini для запобігання проблемам із реініціалізацією користувачів на віддалених NAS.

freebsdremotenas.txt · Востаннє змінено: 2023/06/19 11:33 повз borisov