31
|
Нетехнически теми / Предложения за български проект / Re: IMSLU- “Система за управление на интернета за потребители в локална мрежа”
|
-: Aug 01, 2017, 13:26
|
Какво наложи пренаписването на bash? Написах си find на Python и работи пъти по-бързо, отколкото същата команда в bash.
bash/shell е достъпен за по-голяма аудидория, който използва Unix подобна ОС, рано или късно се сблъсква със shell. Целта е нещата да са максимално опростени и разбираеми за повече разработчици. Особеното при python е, че първо създаваш командите, а после ги изпълняваш. sh позволява директно изпълнение на командите и с по-малко код се получава същия ефект. Когато се добавят и коментари, на sh се пишат по-разбираеми скриптове. Малко информация за това как работи системата: ip_edit.php -потребителите работят с тази станица, за да направят мрежови промени. ip_edit_apply.php - прилага мрежовите промени Няма дълбоки зависимости в php кода. *.php и *_apply.php - има страница с формуляр и страница, която обработва информацията от формуляра. Ако се направят промени в ip_edit.php или ip_edit_apply.php, те по никакъв начин няма да засегнат работат на останалите страници. include/network.php - библиотека, която с малки изключения, отговаря за повечето мрежови промени. etc/imslu/scripts/functions-php.sh или usr/local/etc/imslu/scripts/functions-php.sh (за FreeBSD) - тези функции се използват от PHP, за да се приложат мрежови промени. Мрежовите промени се прилагат по следния начин: ip_edit.php-->ip_edit_apply.php-->network.php-->functions-php.sh--> Linux or FreeBSD * на други места също се правят мрежови промени, но начина на работа е подобен или директно се извиква функция от functions-php.sh
|
|
|
32
|
Нетехнически теми / Предложения за български проект / Re: IMSLU- “Система за управление на интернета за потребители в локална мрежа”
|
-: Aug 01, 2017, 00:32
|
В описанието на програмата пишеш, че всичко е пренаписано на Bash. Преди на какво е било? Браво, че си помислил за FreeBSD!
Прав си, там бях описал промените за Линукс. Предишните скриптове бяха на python и ги смених с bash. Прав си и за bash във FreeBSD, bash трябва да се инсталира допълнител и него използват изобще във FreeBSD. След като първо писах на bash, писането на sh ме затрудни много, но беше наложително. На времето, ако имах сегашния опит, нямаше да се лутам толкова много.
|
|
|
34
|
Нетехнически теми / Предложения за български проект / Re: IMSLU- “Система за управление на интернета за потребители в локална мрежа”
|
-: Jul 31, 2017, 23:16
|
Благодаря на всички, които са взели участие в темата и са допринесли за развитието на системата. Прочетох темата отново, след толкова години и ми подейства добре. Някой има ли информация за gat3way? Малко информация за това какво се случва с проекта. След като имаше нещо работещо, макар и с доста въпросителни относно използваните решения, не се занимавах сериозно със системата. Еднин администратор се престраши да я използва в реална среда и оправях само бъговете, които намираше. Според хронологията в github, това е продължило до Apr 8, 2015. Във фирма, където работя, мигрирахме на Ipacct. След като видях, какво са направили хората, тотално изоставих проекта. Това продължи към една година. Вече не помня, какво ме мотивира да започна, отново да разработвам проекта. Част от отговорите, които търсех преди, за да мога, да продължа с развитието на системата, бяха в Ipacct. Но тези от вас, които са имали достъп до Ipacct, добре знаят, че Боян добре се е погрижил, за да заключи системата Поздрави на Боян, въпреки, че Ipacct е комерсиален продук, има голяма заслуга за развитието на много интернет доставчици в България! Също много поздрави и на колегата networker, който сподели опита си с мен, за да се спра на работещи решения. След доста работа, която продължи по-малко от колкото очаквах, около 2-3 месеца голяма част от системата беше променена. Няма да се спирам подробно на промените, най-важните ги описах тук. Какъв е резултата? Ако не са ми дали грешна информация, новата версия на системата поддържа 1000+ PPPoE потребителя и 1 - 2Gb трафик с 6 ядрен xeon (старо поколение). Мисля, че постигнах първоначалните си цели. Създадох алтернатива на комерсиалните продукти. Какво следва? freebsd-11-howto свърших с голяма част от интеграцията на системата. Остана да разгледам как стоят нещата с mpd5 и dns сървърите под FreeBSD. Нямам информация, някой да използва системата под FreeBSD и за това не си давам много зор. Ако някой иска да помогне с развитието на системата, всяка помощ е добре дошла. Ако изпратите "pull request" през github, още по-добре
|
|
|
35
|
Linux секция за начинаещи / Настройка на програми / Re: MySQL не се спира и не гаси и не рестартира сървъра нормално!
|
-: Jul 28, 2017, 23:41
|
Сървъри, които ще работят 24/7 се правят така: http://www.linux-bg.org/forum/index.php?topic=47747.msg299091#msg299091Сървъри, които постоянно ще правят проблеми, се правят, както си започнал. MySql умира, когато дръпнеш захранващия кабел на сървъра в работещ рещим, направи си изводите. telepoint, RAID1, RAID5, RAID10, двойно захранване + UPS-и захранени от независими източници, агрегат ... са неразделните приятели на сървъра.
|
|
|
36
|
Програмиране / Web development / Re: PHP+Sqlite3 проблеми с INSERT
|
-: Jul 17, 2017, 01:09
|
Ако искаш да ти помогнат, дай пълния код от формуляра и на обработващата страница. Добави защити и повече проверки. Примерно: if (!empty($_POST['save'])) { $client_name = !empty($_POST['client_name']) ? htmlspecialchars($_POST['client_name']) : ''; } Разгледай PHP Data Objects (PDO) Виж работещ пример: pdoinstance.phpdatabase_config.phpИзвиква се по следния начин: <?php
$DATABASE_CONFIGURATION = 'database_config.php'; require_once dirname(__FILE__).'pdoinstance.php'; $db = new PDOinstance();
if (!empty($_POST['new'])) { $userid = $_POST['userid']; $operid = $_POST['operid']; $add = date('Y-m-d H:i:s'); $created = date('Y-m-d H:i:s').' '.$_SESSION['data']['name']; $name = strip_tags($_POST['name']); $address = strip_tags($_POST['address']); $phone_number = strip_tags($_POST['phone_number']); $notes = $_POST['notes']; $sql = 'INSERT INTO `tickets` (`userid`, `operid`, `status`, `add`, `assign`, `end`, `created`, `notes`) VALUES (:userid, :operid, :status, :add, :assign, :end, :created, :notes)'; $sth = $db->dbh->prepare($sql); $sth->bindValue(':userid', $userid, PDO::PARAM_INT); $sth->bindValue(':operid', $operid, PDO::PARAM_INT); $sth->bindValue(':status', '1', PDO::PARAM_INT); $sth->bindValue(':add', $add); $sth->bindValue(':assign', $_POST['assign']); $sth->bindValue(':end', $_POST['end']); $sth->bindValue(':created', $created); $sth->bindValue(':notes', $notes, PDO::PARAM_STR); $sth->execute(); header("Location: user_tickets.php?userid={$userid}"); exit; }
?> Хубавото на PDO е, че не си обвързан с определена БД. Поддържа различни видове БД и ако кода е читаво направен, променяш само променлива $dbtype='mysql';
|
|
|
37
|
Linux секция за напреднали / Хардуерни и софтуерни проблеми / Gargoyle Router Management Utility
|
-: Jul 13, 2017, 21:23
|
Gargoyle Router Management Utility ( src) е уеб интерфейс за най-успешния и най-популярен проект с отворен код за рутери OpenWRTНа последък наблюдавам много голяма активност във форума, което ме радва. Реших да споделя една моя разработка, която се надявам да бъде полезна и на другите: Simple Port ManagementТова са кръпки за Gargoyle и OpenWRT, които предоставят разширена функционалност (прочетете README.md), която ви позволява да променяте WAN порта на рутера. Обикновените потребители могат да използват тази функционалност, за да събудят стария си рутер с изгорял WAN порт, а интернет доставчиците, които предлагат IPTV, за да направят няколко WAN порта и да спестят суич. Хората, които искат да научат малко повече за Gargoyle и OpenWRT, могат да си спестят време с ровене из проектите и да видят, къде точно да променят, за да си направят image със собствени настройки по подразбиране.
|
|
|
38
|
Linux секция за начинаещи / Настройка на програми / Re: Linux рутер с Shorewall !!!!???????
|
-: Jul 13, 2017, 20:26
|
Когато започна да чета някое ръководство, правя бърз поглед на командите и конфигурационните променливи. Ако има много обяснения, мързи ме да ги чета и ми става скучно. Има няколко ключови неща, с които ако не сте запознати тъпчите на едно място (мрежови решения). За линукс: 1. packet flow: 2. Инструмент за манипулиране на мрежовия трафик (в случая iptables): Основи на iptablesIPTables AdvancedСлед като имаме представа за движението на пакета в мрежовия стек на Линукс и знаем как да боравим с инструмент за манипулиране, може да минем на следващото ръководство: Shorewall Setup GuideПравим основни настройки и пускаме Shorewall да работи. Ако не сте се свързали чрез ssh или нямате физически достъп до сървъра преди пускането на Shorewall , филма вече свърши. root@server:~# iptables -nvL Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 70 5649 net-fw all -- ens32 * 0.0.0.0/0 0.0.0.0/0 2 136 loc-fw all -- ens33 * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 Reject all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "Shorewall:INPUT:REJECT:" 0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0 [goto]
Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 net_frwd all -- ens32 * 0.0.0.0/0 0.0.0.0/0 0 0 loc_frwd all -- ens33 * 0.0.0.0/0 0.0.0.0/0 0 0 Reject all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "Shorewall:FORWARD:REJECT:" 0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0 [goto]
Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 40 3462 fw-net all -- * ens32 0.0.0.0/0 0.0.0.0/0 0 0 fw-loc all -- * ens33 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0 0 0 Reject all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "Shorewall:OUTPUT:REJECT:" 0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0 [goto]
Chain Broadcast (2 references) pkts bytes target prot opt in out source destination 7 1373 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type BROADCAST 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type MULTICAST 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type ANYCAST
Chain Drop (2 references) pkts bytes target prot opt in out source destination 26 2461 all -- * * 0.0.0.0/0 0.0.0.0/0 26 2461 Broadcast all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3 code 4 /* Needed ICMP types */ 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11 /* Needed ICMP types */ 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID 0 0 DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 135,445 /* SMB */ 0 0 DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:137:139 /* SMB */ 0 0 DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:137 dpts:1024:65535 /* SMB */ 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 135,139,445 /* SMB */ 0 0 DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:1900 /* UPnP */ 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 0 0 DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:53 /* Late DNS Replies */
Chain Reject (5 references) pkts bytes target prot opt in out source destination 2 136 all -- * * 0.0.0.0/0 0.0.0.0/0 2 136 Broadcast all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3 code 4 /* Needed ICMP types */ 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11 /* Needed ICMP types */ 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID 0 0 reject udp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 135,445 /* SMB */ 0 0 reject udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:137:139 /* SMB */ 0 0 reject udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:137 dpts:1024:65535 /* SMB */ 0 0 reject tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 135,139,445 /* SMB */ 0 0 DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:1900 /* UPnP */ 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 0 0 DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:53 /* Late DNS Replies */
Chain dynamic (4 references) pkts bytes target prot opt in out source destination
Chain fw-loc (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 Reject all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "Shorewall:fw-loc:REJECT:" 0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0 [goto]
Chain fw-net (1 references) pkts bytes target prot opt in out source destination 40 3462 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain loc-fw (1 references) pkts bytes target prot opt in out source destination 2 136 dynamic all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID,NEW,UNTRACKED 0 0 tcpflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 2 136 Reject all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "Shorewall:loc-fw:REJECT:" 0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0 [goto]
Chain loc-net (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain loc_frwd (1 references) pkts bytes target prot opt in out source destination 0 0 dynamic all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID,NEW,UNTRACKED 0 0 tcpflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 loc-net all -- * ens32 0.0.0.0/0 0.0.0.0/0
Chain logdrop (0 references) pkts bytes target prot opt in out source destination 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain logflags (7 references) pkts bytes target prot opt in out source destination 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 4 level 6 prefix "Shorewall:logflags:DROP:" 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain logreject (0 references) pkts bytes target prot opt in out source destination 0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0
Chain net-fw (1 references) pkts bytes target prot opt in out source destination 26 2461 dynamic all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID,NEW,UNTRACKED 65 4412 tcpflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 44 3188 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 26 2461 Drop all -- * * 0.0.0.0/0 0.0.0.0/0 21 1224 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "Shorewall:net-fw:DROP:" 21 1224 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain net-loc (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 Drop all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "Shorewall:net-loc:DROP:" 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain net_frwd (1 references) pkts bytes target prot opt in out source destination 0 0 dynamic all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID,NEW,UNTRACKED 0 0 tcpflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 net-loc all -- * ens33 0.0.0.0/0 0.0.0.0/0
Chain reject (10 references) pkts bytes target prot opt in out source destination 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match src-type BROADCAST 0 0 DROP all -- * * 224.0.0.0/4 0.0.0.0/0 0 0 DROP 2 -- * * 0.0.0.0/0 0.0.0.0/0 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset 0 0 REJECT udp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable 0 0 REJECT icmp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-unreachable 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain sha-lh-9fb35c85dc42dde9cbdc (0 references) pkts bytes target prot opt in out source destination
Chain sha-rh-359ff2fc27a8cde8c2f2 (0 references) pkts bytes target prot opt in out source destination
Chain shorewall (0 references) pkts bytes target prot opt in out source destination 0 0 all -- * * 0.0.0.0/0 0.0.0.0/0 recent: SET name: %CURRENTTIME side: source mask: 255.255.255.255
Chain tcpflags (4 references) pkts bytes target prot opt in out source destination 0 0 logflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] tcp flags:0x3F/0x29 0 0 logflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] tcp flags:0x3F/0x00 0 0 logflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] tcp flags:0x06/0x06 0 0 logflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] tcp flags:0x05/0x05 0 0 logflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] tcp flags:0x03/0x03 0 0 logflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] tcp flags:0x19/0x09 0 0 logflags tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] tcp spt:0 flags:0x17/0x02
Това е Shorewall с базисни настройки. Няма да ги обеснявам. Допада ли ми? Не, на сървър който поддръжам, никога не бих качил подобно нещо. Ще работи ли? Да, всичко зависи от желязото и трафика, който ще минава.
|
|
|
39
|
Linux секция за начинаещи / Настройка на програми / Re: Linux рутер с Shorewall !!!!???????
|
-: Jul 13, 2017, 09:36
|
Много писане за нещо просто. Да обесня простичко какво иска да направи колегата backinblack. Ubuntu сървър + Webmin + shorewall plugin за webmin - iptables правилата да се пускат през shorewall plugin-а.
shorewall plugin-а колкото и да го лансират за лесен инструмент, за писане на iptables правила не съм съгласен. Обаче след като е настроен и работи, добавянето на правила през уеб интерфейса е по-добрия вариант. Това го знам от предишни опити, настройваш, показваш как се добавят правила през уеб интерфейса и не те занимават излишни неща.
Никога не съм използвал Webmin, още повече shorewall plugin. Предполагам, че и повечето колеги, които писаха коментари по темата не са го използвали.
След толкова спамене, темата вече няма да е полезна на никой с подобен проблем.
Това, което иска да постидне backinblack, ще работи не зависимо, че Ubuntu сървъра е виртуален.
|
|
|
41
|
Linux секция за напреднали / Хардуерни и софтуерни проблеми / Re: Проблем с linux cluster
|
-: Jun 16, 2017, 11:32
|
Интересно:
PBX2 Slave Interface: eth0 Link Failure Count: 6627
Тук грешките са най-много, следователно проблема трябва да е в тази машина. Закачи ли монитор на тази машина? Ако имаш прим. роблемна памет или хдд, ще видиш грешките на монитора.
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) - еднаква версия ли е и на двете машини?
|
|
|
|