Автор Тема: IMSLU- “Система за управление на интернета за потребители в локална мрежа”  (Прочетена 14570 пъти)

Naka

  • Участник
  • *****
  • Публикации: 2656
    • Профил
така:
http://www.linux-bg.org/forum/index.php?topic=46936.msg288782#msg288782

ама айде да не спамим повече че му отиде темата на човека.
« Последна редакция: Aug 02, 2017, 11:52 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

mystical

  • Участник
  • *****
  • Публикации: 326
  • Distribution: Debian, FreeBSD
  • Window Manager: XFCE
    • Профил
    • WWW
Искам да дам малко информация за отговора, който писах в друга тема относно линукс рутер и защитна стена.

Линукс рутера, през който минават почти 9 Gb трафик работи с ipacct.com
Линукс защитната стена, през която минават над 100 Gb трафик се разработва от млад човек, който е изключително в час, в тази област.

Тази информация я споделям, за да знаете, че в България също има много добри специалисти.
Моето лично мнение е, че ако държавата използва подобни специалисти, няма да има новините от типа:
- атаки блокираха работата на държавно учреждение, защото преди да падне услугада на това учреждение, че паднат много големи доставчици.
!!! Моля не доразвивайте тази теория в тази тема. Може да отворим друга тема, ако има интерес!!!

Предполагам, че във форума има потребители, които се занимават сериозно с мрежово администриране. Ако дадат своето мнение, за използваните инструменти и начина на работа на системата, ще съм им благодарен.

Системата се стартира в тори ред, Линукс :
rc.local - създава vlan-ни, iptables правила, ipset таблици
start.sh - създава правила за шейпъра, добавя рутиране за IP адреси по интерфейсите, пуска mac защита, проверява платилите клиенти

Ако има интерес, мога да обясня по-подробно.
« Последна редакция: Aug 02, 2017, 23:31 от mystical »
Активен

Ако не можеш да градиш, поне не руши!

10101

  • Участник
  • *****
  • Публикации: 323
  • Distribution: GNU LINUX
    • Профил
Като си започнал давай до край ,на мен ми е интересно.Можеш да споделиш детайли.
Активен

А печат ?

mystical

  • Участник
  • *****
  • Публикации: 326
  • Distribution: Debian, FreeBSD
  • Window Manager: XFCE
    • Профил
    • WWW
Конфигурационни файлове, които се използват от php:
/etc/imslu/config.php - съдържа общи конфигурационни променливи
/etc/imslu/database_config.php - съдържа променливи за база данни
include/os.php - изберете каква ОС използвате, по подразбиране е FreeBSD

/etc/imslu/config.sh  - съдържа общи конфигурационни променливи, които се използват от скриптовете.

За някои потребители може да изглежда малко объркващо и сигурно се питат, дали има нужда от конфигурационни файлове, скриптове, ...?

Идеята е проста.
Конфигурационните файлове съдържат най-общите системни настройки и позволяват лесна промяна на стойности, без да се правят промени по кода.
В база данни се съхранява останалата информация.
Уеб интерфейса променя данните в база данни и стартира functions-php.sh скрипта, за да приложи новите промени.
sh скриптовете имат достъп до системата и прилагат промените.

/etc/rc.local:

. /etc/imslu/config.sh
. /etc/imslu/scripts/functions.sh
Включва променливи от конф. файл и системни функции.

####### IMQ #######
Правилата трябва да се разкоментират, ако imq модула не е част от ядрото. На IMQ интерфейсите не създават правилата за шейпъра.

##### ADD VLANS #####
Тази функция се намира в functions.sh и служи за автоматично създаване на виртуални интерфейси. Разгледайте променливата VLAN_SEQ в /etc/imslu/config.sh, тя определя колко и с какво id да бъдат vlan-ните.

####### ipset #######
Създават се ipset таблици, за да се използват по-късно. ipset създава хеш таблици, чрез които се прави много бърза проверка, дали пакета отговаря на даденото правило. С едно ipset правило може да се заменят много iptables правила.

### kinds of traffic ###
Маркира се входящ и изходящ трафик, който не е български (международен). Българския трафик се използва повече, поради което маркираме международни. Ако има обратна тенденция могат да им се сменят местата, но това ще наложи промени и в другите скриптове. Маркираме може би, не е правилния израз, понеже iptables разполага и с инструмент "-j MARK". Мисля, че "-j TOS" е по-бърза операция в сравнение с "-j MARK", ако греша моля да ме поправите.

### Shaper ###
Тези правила пренасочват трафика за ограничаване на скоростт в IMQ интерфейса.

# Dynamic NAT
Тези правила са интересни. DNETMAP модула позволява частни мрежи да се nat-ват с част или цяла публична подмрежа.

# Redirect expiret users to warning page
Това правило излишно проверява уеб трафика, за да пренасочи неплатилите клиенти към старицата за предупреждение.
Не ми харесва, че има такова правило, но не мога да намеря по-елегантно решение.
Ако има начин това да се прави във FORWARD таблицата, след като е минала проверката за плащането, ще е перфектно.

# NAT
Няма какво да обяснявам.

# Set default policy for chain FORWARD to DROP
Запазва се минимален лог и се извършва проверка за платили клиенти. "-m set --match-set allowed" таблица allowed съдържа IP адреси на клиенти, които са платили услугата. С ipset проверката става чрез бързи хеш таблици и само с две правила.

Разгледайте /etc/imslu/scripts/start.sh има интересни команди. Този скрипт работи с БД, за да създаде правилата за щейпър, платили клиенти, рутиране, mac защита.

Отворен съм на всякакви предложения, за оптимизиране на производителността.
Писането не ми е силната страна, ако имате въпроси, питайте.
Активен

Ако не можеш да градиш, поне не руши!