What The Hack 2005
by Vasil KolevБеше невероятно. Направо неописуемо.
(и тук съвсем подло бих могъл да спра, с това оправдание :) )
Събитието в общи линии представляваше събиране на ~3000 човека в един къмпинг, на палатки, като имаше душове, нормални тоалетни, храна, пиене и 8-9 огромни палатки (едната събираше 1500 човека) за лекции, барове и т.н.. Имаше сериозна мрежа (която ще опиша по-долу, схемите и по-подробна информация могат да се намерят във wiki.whatthehack.org/index.php/FHQ). Основния организационен екип не беше особено голям, повечето работа се вършеше от доброволци, разделени в екипи, което беше страхотно, понеже не само че всеки можеше да участва, но и се свършваше страшно много работа. Не мога да си представя как ще стане такова събитие без огромното количество доброволци, което имаше там (по въпроса може да гледате заключителната реч на Rop).
Събитието беше съпътствано от огромно количество дъжд, ама наистина огромно – валя през повечето време, въздуха беше влажен, гъст, резервоарите на климатиците в NOC-а трябваше да се изпразват на около 8 часа, и даже има няколко снимки как се изпомпва вода изпод големите палатки. На 29/30ти валя един страшен дъжд, заради който много хора се пренесоха да спят на други места (особено главния екип, който беше на поле K, което се оказа без дренаж). Няколко човека спаха в NOC палатката, аз спах при сървърите, а на Walter му се беше случило да стане, и да усети електричество от водата на пода в палатката му. Чудех се дали по някое време хората нямаше да почнат да се разхождат с лодки, вместо с колела.
Искаше ми се да опиша всички хора, с които се запознах, понеже бяха наистина интересни, но ще отнеме твърде много място и време, а като си знам паметта, сигурно ще напиша някоя глупост, за това просто ще ги изброя – Arien (core switch-ове, пълен с идеи), Walter (шеф на FHQ), Athilla (основния човек в опъването на кабелите за пръстените), Willem (следене на switch-овете в полето), Andre (switch-ове в полето), Ernst (какво ли не, този човек не можеше да стои без работа :) ), Reggie (и той какво ли не, постоянно намираше някаква интересна шега :) ), Maxim (шеф на Wirelles NOC-а, спаси ме една сутрин с една бутилка schnapps), Pim (който ми показа как се настройва Juniper, и не ми се развика след това, което бях направил по мрежата :) ), Stephanie (нея думи не могат да я опишат, като се усмихнеше и нямаше нужда от слънце :) ), English Pete (който не се спря на едно място, и беше направо адреналина на събитието :) ), Bassam Hassan (който не можах да намеря после, за да го разпитвам надълго и нашироко за Ирак, ще му издиря отнякъде email-а), и други знайни и незнайни хора …
Най-накрая и се видях на живо с Бине – познаваме се online от времето когато ползвах orkut, и сме си говорили за какво ли не, но виждането на живо си е нещо съвсем различно. Жалко, че и двамата имахме адски много работа, и не можахме да се видим за по-дълго (тя ме спаси от измръзване с резервното си надуваемо легло, за което съм и адски благодарен :) ).
Много сериозно впечатление ми направи колко много хора ползват Mac OSX – поне половината laptop-и бяха mac-ове, няколко човека ми предсказаха, че и аз някой ден ще мина на такъв (което не ми се вярва да стане, казвам си честно – не ми харесва операционната система, не мога толкова да я бърникам :) ).
Ще се опитам накратко да предам някои забавни моменти от събитието:
Един оптимист беше пуснал arp spoof и се опитваше да прави ssh man-in-the-middle атака. Беше хванат за нула време, и снимката му се появи на wiki-то :).
Напълнихме линията на около 1/3 (изглежда никой не беше дошъл да точи :) ).
Една девойка се разсъблече пред един webcam.
Някой беше обявил на майтап, че полицаите, присъстващи на събитието (общо 16 на брой) ще изнасят лекция в техния фургон на тема “Lawful interception”. Съответно бая хора бяха отишли, полицаите се оказаха бая изненадани ( ето и новината в нашето Wiki, даже AP се бяха подлъгали :) )
Накрая толкова бях изпушил, че направих wireless кабел и преходник wired/wireless (какви бяха точно, оставям на вашето въображение :) ) Това беше основно по случай, че преди няколко дни някой беше успял да избъзика един потребител, че му трябва wireless кабел, за да може да ползва wireless мрежата… Един такъв кабел подарихме на wireless хората.
В последните 2-3 дни използвахме NOC-а за сушилня на дрехи – едното въже беше това, с което се вдигаха едните щори, а другото беше UTP кабел, увързан със свински опашки.
Когато полицаите излизаха на обиколка, колата на CERT-а ги следваше с включена сирена. Беше бая забавно:)
С Athilla бяхме попаднали в Megabit бара по едно време, и се беше оказало, че на масата има само един ethernet кабел, та аз се закачих на него и го прекарах през моята wireless платка. Беше бая забавно упражнение:)
Поради странните закони нямаше твърд алкохол, но трева се пушеше повсеместно. Жалко, че не си донесох една бутилка от България, да направя греяна ракия … За сметка на това Бобсън направи един страхотен десерт с водка, сушени череши и шоколад, който ще трябва да се пробва и в локални условия. Все пак имаше разни schnapps-ове, дето бяха около 20% – пак бяха добре :)
Една сутрин водата в душовете беше бая студена, и Pete се беше пошегувал в Wiki-то, че той го е направил нарочно, за да може доброволците да са по-събудени и готови за работа… Мисля, че ако наистина го беше направил, щяхме да го удавим в някой от отточните канали.
Изобщо е невероятен извор на информация :).
Мрежовия setup беше следния:
Основната мрежа се държеше от 3 Foundry BigIron switch-а (в NOC, WhatTheBar и Megabit), свързани помежду си със 10Gbps оптика. Външната връзка и всичкия inter-vlan routing се правеха на един Juniper M40, който освен това (поне за известно време) беше DHCP relay. В полето ползвахме HP2626 и HP2824 switch-ове, с които бяхме направили 2 пръстена по такъв начин, че отпадането на електричеството на повечето места да не е проблем (точката карта я има на wiki-то :) ).
Логически имахме няколко VLAN-а – един за полето (/19), един за големите палатки(/19), един за wireless клиенти (/20), няколко /24 за вътрешни нужди (административен, за switch-овете, pxe за wireless хората), един за сървъри (/24), един за co-location (/23) и един за OLSR хората (май /23 или /22).
Като сървъри имахме 5 машини за разни услуги – Pentuim3 с малки дискове и някакво прилично количество памет. Два от тях бяха HA клъстер за няколко основни услуги (DNS, DHCP, NTP), един беше за spongebob на Arian (система за намаляване на arp трафика), един беше за WINS сървър под Windows (с него се занимаваше Athilla), и последния беше за администрация на switch-овете (syslog, tftp и такивa работи). Всичките без windows машината бяха с debian, който аз бях донастроил, компилирал ядро и т.н., имаха ipv6 поддръжка и в общи линии нямаха проблеми (имаше няколко неща около dhcp-то, но те се оказаха заради relay на juniper-а – жалко, че Pim не беше там, за да го доизтестваме). Единственото нещо, което ме притесняваше през цялото време беше, че машините бяха монитрани в rack-а само отпред, и не ми е много ясно как се задържаха, не бяха особено леки.
(можеше и да имаме малко повече мощност, тогава можеше да сложим wiki-то при нас)
Имаше още един съврър от RIPE за snort, който си имаше собствен оптичен интерфейс, и получаваше mirror от изходящия порт на juniper-а. Машината имаше доста проблеми, понеже FreeBSD 5.4-RELEASE не се справяше с натоварването, а 6.0 гърмеше през 15 минути, не знам докъде стигнаха в крайна сметка.
(около тази машина имаше един адски забавен (за мен) момент, един OpenBSD човек беше се появил в NOC палатката и се заговорихме по тоя въпрос, та той обясни, че poll-ването на интерфейс като идея било много глупаво (и за това го нямало в OpenBSD) и аз го питах – добре, ами ако имаш 100k прекъсвания в секунда? Той каза, че тогава да, ама какво да се прави в случая в който не са толкова много, и аз казах – ами ще се превключва м/у двата варианта при различни натоварвания, като Linux. Той ме изгледа криво и си тръгна, а аз се подхилвах злобно половин час. Има нещо садистично в мене май …)
Имаше и една машина за наблюдение на трафика по интерфейсите, донесена от Pim – на нея работеше само едно cacti.
Wireless хората държаха при нас 2 машини – една за monitoring и една за dhcp и т.н., два бая големи SUN-a.
Имаше няколко големи SUN сървъра със един shared storage, но аз поне не разбрах за какво се ползваха.
Имахме няколко co-located машини на потребители – 3 в NOC-а (едно огромно HP, което ползвахме за маса, на което работеше HP-UX и беше shell server, едно mac mini с OSX, на което имаше ircd закачено към IRCNET, и една AMD64 машина за индексатор на локалните FTP-та, на binary newsgroup-ите, и за vserver за няколко други неща (едното от които беше локалния OpenVPN сървър)), две-три в WhatTheBar (бяха на archive.org, червени 1U кутии).
Всички сървъри си имаха отделни адреси, както и всички услуги, което правеше местенето напред-назад м/у машините много лесно, беше бая улесняващо за heartbeat-а.
Имахме пълна IPv6 поддръжка и routing.
По мрежата имаше един много интересен момент – PEG-DHCP (т.е. щипково DHCP). На желаещите се раздаваха щипки с последните два октета на IP адреса и картонче с останалите настройки (IP префикс, DNS и т.н.), което им гарантираше, че имат уникален адрес и не бяха зависими от нормалния DHCP сървър (който имаше малко проблеми). За самата идея има и RFC … Към края около големия дъжд хората идваха да вземат щипки и за да си окачат мокрите дрехи да съхнат, а в последния ден някой дойде да вземе малко повечко да ги продава на ebay…
Имахме 15 км кабел, от който около 3км отидоха за направата на пръстените в полето и за други цели, останалото хората използваха за връзката на техните машини в полето – около 11 км свършиха за ден-два. Принципът беше следният – имаме клещи, жакове и кабел, който иска, си го прави, който не може, му го правим срещу една бира (приемаха се и енергийни напитки). Бая изпихме…
В самата организация на мрежата и т.н. имаше малко проблеми – някои неща не бяха ясни преди да отидем там, нямаше ясни policies за различни работи и на два пъти ми се скараха за някои действия. Дизайна на мрежата го правихме на място, и доста моменти не бяха ясни, понеже някои от хората, правили началния дизайн ги нямаше на място, та за това се получаваха обърквания, но успяхме да ги преборим :) Въобще не успя да се появи проблем, с който да не се справим – даже в началото имахме скъсване на външния оптичен кабел – оказа се, че холандските железници бяха решили да подрежат тревата с някакъв огромен звяр, и бяха отрязали около метър от самия кабел (не мога да намеря в момента снимките от поправянето, струва си да се видят). Тогава, в поредния голям дъжд се намериха инструменти и няколко човека отидоха да splice-нат кабела (притеснявахме се да не се удавят в някой от каналите, така валеше).
Като малко заключение – там открих много интересни неща, че например мога да спя на светло, на студено, на мокро, в стая с 20 машини и три климатика, да спя по 3 часа и пак да мога да си върша работата, да обикалям в зверски дъжд и да не ми пука колко съм мокър, изобщо – каквото не ме убива, ме прави по-силен (а цялото преживяване беше буквално на убийствено ниво). Като комбинирам това с огромното количество информация, проблеми, решения и т.н., мисля, че разбирам защо се прави веднъж на 4 години …
Ще ида пак след 4 години, ако имам възможността.
TODO:
Да питам Maxim за IDS-а, който ни препоръча.
Да довърша mirror-а на всички видео записи.
Да направя копие на Wiki-то, понеже има слух, че ще го разкарат след около месец.
Да се сетя други интересни моменти, които съм изпуснал.
Tags: wth
August 5th, 2005 at 00:58
ще те убия, да знаеш – в стая с 20 машини можеш да спиш, а с doom-не, така ли ?
ах, да не беше НГВС, какви още неща щеше да откриеш… :-)
August 5th, 2005 at 01:02
Тогава нямах тапи за уши, и не бях минал през школата на WTH… :)
(а и сега по принцип бих избягвал да спя в една стая с машините)
August 5th, 2005 at 09:41
хахахахаха
August 5th, 2005 at 11:26
уникално… и колко хубаво, че има кой да сподели такива емоции :))
спиш на doom а? срамота
August 5th, 2005 at 15:30
Ако имам възможност и аз ще дойда 2009-та.
Мога да коментирам device polling-а по следния начин:
generic freebsd ядро не мъца – трябва да му се сложи по-голяма честота на циклите на запитване – options HZ=1000 и нагоре според документацията.
Аз бутам домашния звер с HZ=4000 и 7-CURRENT.
Ако ме пуснат до ftp-master.eu.FreeBSD.org ще снеса какво има по него ;-).
August 5th, 2005 at 17:35
Чекай, чекай малко, че тука зрителите и радиослушателите май се объркаха :) (поне мен успяхте да объркате, за другите не знам)
Велин, като казваш ‘doom’, кое точно имаш предвид – хубавото старо нещо, което не може да бъде наречено ‘игра’, а по-скоро начин на живот, или хубавата стара машинка на Васил, която (защо ли) се казва doom? :)
August 6th, 2005 at 00:19
HZ == 4000 ? Сигурено поне няколко процента от CPU-то ти отиват за обработване на INT8. Едва ли това помага на обработката на ужасно много IRQ-та идващи от мрежовата карта. За големи трафици единствено polling или някакъв вид coalescing, който се случва в хардуера на картата помага.
August 6th, 2005 at 07:21
Не товари много: 0.1-1.5/0.4 system/interrupt, като interrupt-а се пръква на всеки 5 минути грубо.
По-важното е картата, която ползваш да подържа polling, иначе става лошо.
Не исках да слагам препратки поради мързел, но сега ще сложа
http://www.freebsd.org/cgi/man.cgi?query=polling&apropos=0&sektion=0&manpath=FreeBSD+5.4-RELEASE+and+Ports&format=html
Все пак по-добре да се усера в къщи отколкото някъде другаде.
August 6th, 2005 at 15:11
Ъъъъъ, Жоро, всъщност Димитър говори именно за ситуация, в която Е включено device polling :) Това, което той казва, е, че при настройките по подразбиране самото poll-ване просто не става достатъчно често за големи натоварвания, затова е необходимо това вдигане на честотата.
August 6th, 2005 at 23:40
Много ми харесва този пост. Макар че една част от него за мен е като писана на китайски, като цяло предава много добре атмосферата на събитието – докато четях, се почувствах, все едно съм присъствала и аз. А тъй като купонът се е провел извън България, се сетих за този конкурс: http://bglog.net/konkurs. Мисля, че имаш шанс за 50-те литра бира. ;)
August 8th, 2005 at 17:19
само да не забравиш момента с мирорване-то особенно на лекциите :) wiki-то май ще поостане повечко..