Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Как IPv6 помогает роутеры ломать

Время на прочтение5 мин
Количество просмотров122K
image

Предисловие


Проснулся я сегодня с мыслью, что огромное количество инструкций по настройке NAT советуют использовать строку вида:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Многие понимают проблемы этой конструкции, и советуют добавлять:
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Но, зачастую, забывают задать таблице FORWARD действие DROP по умолчанию, или добавить правило REJECT в конец таблицы.
На первый взгляд, вроде бы, все кажется нормальным. Однако, это далеко не так. Дело в том, что если не запретить маршрутизировать трафик из WAN-порта в WAN-порт, кто-нибудь из вашей WAN-сети (предположим, что провайдер садит весь подъезд в одну /24) может маршрутизировать трафик через вас, просто прописав ваш IP в качестве шлюза. Все современные SOHO роутеры это учитывают, а вот неопытный администратор, который делает роутер под обычным linux, может не знать или забыть об этом. В подсети моего провайдера таких роутеров не оказалось, и мой план по захвату мира провалился. Однако, статья совсем не об этом.

Магические двоеточия


Как вы, может быть, знаете, многие современные программы и сервисы биндятся на IP :: (два двоеточия), а не на 0.0.0.0, как было раньше. IPv6 адрес :: значит то же самое, что и IPv4 0.0.0.0, т.е. «слушаем все интерфейсы». Многие считают, что если программа слушает ::, то этот сокет может принимать только IPv6-соединения, однако это далеко не так.
В IPv6 есть так называемое отображение IPv4-адресов в IPv6 диапазон. Если программа слушает сокет ::, а к ней обращаются из IPv4-адреса 1.2.3.4, то программа получит соединение с адреса ::ffff:1.2.3.4. Этого можно избежать, сделав:
sysctl -w net.ipv6.bindv6only=1

Но это нужно далеко не всегда, т.к. обычно удобно, что программа слушает один сокет, а получать соединения может по двум протоколам сразу. Практически во всех дистрибутивах, IPv6-сокеты ведут себя именно так, т.е. bindv6only=0.
Читать дальше →
Всего голосов 115: ↑113 и ↓2+111
Комментарии36

IPv6 теория и практика: введение в IPv6

Время на прочтение7 мин
Количество просмотров136K
Этой статьёй я хочу начать цикл, посвященный IPv6. Я являюсь инструктором академии Cisco, поэтому, если вы в совершенстве знаете материал нового CCNA Routing & Switching, то скорее всего, не найдёте в цикле ничего нового. Речь пойдёт о структуре и особенностях протокола IPv6, а также, применении его на маршрутизаторах Cisco (маршрутизация RIP, OSPF, EIGRP, списки контроля доступа, и др. – как пойдёт). В первой статье мы поговорим о структуре IPv6 пакета, записи адресов, префиксе. Вторая статья цикла доступна здесь. Информация подойдёт для новичков, имеющих, тем не менее, некоторые знания по IPv4 и модели OSI.
Цикл статей основан на материалах моего блога, которые, в свою очередь, основаны на опыте преподавания, работы с оборудованием и вольном переводе и обдумывании официального курса CCNA Routing & Switching.
Итак, начнём. Не буду останавливаться на стандартных рассуждениях о том, что IPv4 адресов мало, о том, что NAT и прокси – это костыли, о том, что костыли пока работают, и никто не хочет переходить на IPv6, вместо этого – сразу к сути.
Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии42

IPv6 теория и практика: виды пакетов и автоконфигурация

Время на прочтение5 мин
Количество просмотров61K
Эта вторая статья, продолжающая цикл, посвященный IPv6. В первой вводной статье речь шла о структуре IPv6 пакета, записи адресов, префиксе. Сегодня мы поговорим о том, какие виды пакетов бывают в IPv6, о важности мультикастов, а также, о видах автоматической конфигурации хоста в IPv6.
Примечание: в этой и других статьях под словом «маршрутизатор» я подразумеваю «маршрутизатор cisco».
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии13

Почему айфон перезагружается от арабской смс

Время на прочтение6 мин
Количество просмотров233K
DISCLAIMER

Не пытайтесь повторить это со своими телефонами и телефонами коллег! Судя по комментариям, много людей уже заразили свои телефоны, а 100%-тного лекарства еще нет!

DISCLAIMER 2

Даже не пытайтесь назвать так Wi-fi точку!

Около 15 часов назад на Reddit появился забавный пост, который рассказывал о перезагрузке айфона после странного сообщения вида:
Не шлите никому на айфон
Power
لُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ



Читать дальше →
Всего голосов 184: ↑178 и ↓6+172
Комментарии138

НЕ Arduino за 55 центов

Время на прочтение3 мин
Количество просмотров104K


Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.

Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.

А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии26

Как подключиться к космическому спутнику и исполнить детскую мечту

Время на прочтение6 мин
Количество просмотров35K
Дмитрию Пашкову из мордовского города Рузаевка 28 лет – возраст, когда многие из нас уже определились со своим профессиональным будущим и уже даже успевают добиться определенных профессиональных высот. Дмитрий в этом смысле исключение — в положительном смысле. По профессии он системный администратор, но по призванию – радиолюбитель. Несколько недель назад он прославился на всю страну, перехватив в момент солнечного затмения 20 марта сигнал с действующего российского метеоспутника «Метеор-М2». Я связался с Дмитрием и он любезно согласился поделиться своим опытом – объяснить, как любой из нас может сам наладить «связь с космосом» и добиться того, о чем мечтал каждый из нас в детстве – увидеть Землю из космоса.



Оригинал фото

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии13

Анонимные платежи: Dash или Bitcoin+Миксеры?

Время на прочтение12 мин
Количество просмотров80K
image

Иногда важно сохранять не только свою личную анонимность, но также анонимность своих финансов. Когда вашим деньгам требуется анонимность — ошибки недопустимы.

ПОТРЕБНОСТЬ

Правительства многих стран результативно работают над установлением тотального мониторинга и контроля за движением денег как своих граждан, так и граждан других государств. Общественному мнению навязывается стереотип: «Если кто-то что-то скрывает, значит наверняка он — преступник, уклоняется от уплаты налогов, спонсирует терроризм или замешан в прочих грехах». В некоторых странах использование наличных, драгметаллов, криптовалют, офшоров и других инструментов, затрудняющих финансовый мониторинг, автоматически наводит на вас подозрения.

Но здравый смысл подсказывает людям, что выражение «Деньги любят тишину» связано не с криминалом, а основано на элементарной бытовой осторожности. Никто в здравом уме не кричит о том, сколько у него в кармане денег, не пишет везде о размере своих доходов и не выставляет всем напоказ банковскую выписку с перечнем операций по карте.

Организации также стараются не афишировать подробности своей финансовой деятельности, не публикуют списки клиентов с детализацией их заказов, ведь это как минимум расстроит клиентов и привлечет недоброжелателей (включая конкурентов).

И если граждане высокоразвитых стран могут хотя бы надеяться, что финансовая слежка за ними ведется в неких национальных интересах, то в странах с высоким уровнем коррупции люди обоснованно опасаются того, что их приватная информация с высокой вероятностью попадет к людям с враждебными намерениями.

Хорошо, я не буду углубляться в философию, а просто констатирую тот факт, что у большинства людей и бизнесов имеется желание (а зачастую — необходимость) сохранить анонимность своих финансов. И причина этого не в том, что они замышляют что-то плохое, а в том, что они сами не хотят стать жертвами чужих злонамеренных или преступных планов.
Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии59

Анонс книги Брайана Кернигана «The Go Programming Language»

Время на прочтение2 мин
Количество просмотров18K
На Амазоне анонсировали новую книгу Брайана Кернигана и Алана Донована с ёмким названием «The Go Programming Language». Кто не в курсе — Брайан Керниган это один из соавторов Unix, автор cron-а и автор одной из самых культовых книг в мире программирования "The C Programming Language", написанную вместе с Деннисом Ричи в 1978-м.

Книга доступна для предзаказа, релиз бумажной версии запланирован на 27 августа 2015.


Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии11

Краткий обзор видео по Go c FOSDEM 2015

Время на прочтение4 мин
Количество просмотров8.6K
Одна из самых популярных конференций по open-source проектам, FOSDEM, прошла 31 января — 1 февраля, и, помимо многих dev-румов, был dev-room, целиком посвященный Go. Видео с этой конференции уже выложены в паблик, доклады по 30-40 минут каждый, и, надо сказать, доклады очень достойные — привычного и надоевшего интро для новичков в стиле «Что мне нравится в Go?» или «Как тестировать в Go» тут не было.

По себе знаю, что пересмотреть 7+ часов технических выступлений далеко не всегда реально, особенно если не знаешь толком, стоит ли вообще смотреть, поэтому я подготовил краткие ремарки по каждому докладу, которые могут помочь выбрать — что стоит посмотреть, а что пропустить. Ремарки, разумеется, сугубо субъективные.



Всего было 8 докладов по 30-40 минут, и полтора часа так называемых Lightning talks — коротких докладов, идущих один за другим.

Сразу привожу ссылки на плейлисты:

Youtube: www.youtube.com/playlist?list=PLtLJO5JKE5YDK74RZm67xfwaDgeCj7oqb
FOSDEM http: video.fosdem.org/2015/devroom-go

Итак, в порядке выступлений.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии1

Сделаем код чище: Специальные расширения vsnprintf() в ядре Linux

Время на прочтение3 мин
Количество просмотров19K
Смотря на кучу исходного кода, который засылают программисты в списки рассылки подсистем ядра Linux иногда хочется плакать. С одной стороны бывает ужасный и непотребный код, с другой — люди, возможно, впервые пытаются что-то сделать для ядра, поэтому не знают всех его особенностей.

Книга Linux Device Drivers устарела, а новая версия выйдет нескоро. Поэтому мне хочется заполнить пробелы в знаниях тех программистов, которые пишут код в ядро.
Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии8

Документируем код эффективно при помощи Doxygen

Время на прочтение18 мин
Количество просмотров344K


Данная статья входит в получившийся цикл статей о системе документирования Doxygen:

  1. Документируем код эффективно при помощи Doxygen
  2. Оформление документации в Doxygen
  3. Построение диаграмм и графов в Doxygen

Это первая и основная статья из упомянутого цикла и она представляет собой введение в систему документирования исходных текстов Doxygen, которая на сегодняшний день, по имеющему основания заявлению разработчиков, стала фактически стандартом для документирования программного обеспечения, написанного на языке C++, а также получила пусть и менее широкое распространение и среди ряда других языков.

В этой статье мы сначала познакомимся с самой системой и её возможностями, затем разберёмся с её установкой и базовыми принципами работы, и, наконец, завершим знакомство рассмотрением различных примеров документации, примеров того, как следует документировать те или иные части кода. Словом, познакомимся со всем тем, что позволит вам освоиться и начать работать с этой замечательной системой.
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии39

Дискретные структуры: матан для айтишников

Время на прочтение4 мин
Количество просмотров222K


Посмотришь на любую программу обучения по IT-специальности, и тут же увидишь дисциплину «Дискретная математика» (возможно, под другим названием), обычно для перво- или второкурсников. И её наличие вполне разумно, поскольку дискретная математика и непрерывная математика (представленная на первом курсе институтов с незапамятных времён математическим анализом) — две грани единой Математики, — красивой, могучей науки.

Хотя раньше такого понятия, как «дискретная математика» вовсе не было, это не значит, что не возникало дискретных задач: Абель, Дирихле, Фибоначчи, Эйлер, чьи имена возникают по ходу изучения дискретной математики, — отнюдь не наши современники! Но просто в те времена для выделения самостоятельной ветви математики ещё не сложилось критической массы задач и приёмов, не было видно взаимосвязей между ними. А большое количество плодотворных взаимосвязей между, на первый взгляд, различными понятиями, — то, что математики в своей науке очень ценят.

Ну хорошо, математикам всё математическое интересно. А зачем дискретная математика программисту?
Читать дальше →
Всего голосов 63: ↑59 и ↓4+55
Комментарии43

Homeworld: Возвращение легенды

Время на прочтение2 мин
Количество просмотров20K
Homeworld Remastered Collection Когда-то давным-давно, в далёком 1999 году студия Relic Entertainment выпустила первую часть игры, которая очень быстро завоевала умы и сердца геймеров тех лет. Игры, которая до сих пор считается многими изданиями лучшим представителем жанра и одной из игр, изменивших мир.

Этой игрой был Альберт Эйнштейн Homeworld.

Игра оказалась не только популярной, но и с огромным потенциалом и уже в 2000 году Barking Dog Studios выпускает продолжение саги под названием Homeworld: Cataclysm, действие которой происходит через несколько десятилетий после событий первой части. Изначально задуманный как дополнение для Homeworld, «Катаклизм» в процессе разработки вырос в самостоятельный проект и в том же году был издан известной многим геймерам компанией Sierra Entertainment.

К 2003 году Relic Entertainment (опять) перерабатывает игровую механику, управление, значительно улучшает графику и звук и выпускает продолжение оригинальной игры, Homeworld 2. Действие этой части разворачивается сто лет спустя после событий «Катаклизма» и является продолжением истории «хиигарцев», столкнувшихся с новой угрозой.
В том же году Relic Entertainment выпустила исходный код игры в открытый доступ под ограниченной некоммерческой лицензией.

Все три части имели огромный успех как у поклонников жанра RTS и космических стратегий, так и у обычных геймеров и критиков от гейм-индустрии.

В 2014 году правами на серию Homeworld овладели Gearbox Software и анонсировали выход Remastered Collection в 2015 году, включающую в себя оригинальные версии первой и второй частей, адаптированные под HD, а так же полностью переработанные версии первой и второй частей, с улучшенной (значительно улучшеной) графикой, озвучкой и старым-добрым сюжетом оригинальных частей.

Этот день настал!


Под катом несколько трейлеров и море обожания.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии32

Фантастические фильмы для долгих зимних вечеров

Время на прочтение5 мин
Количество просмотров71K


Около года назад мы опубликовали подборку интересных фантастических сериалов. В январе поэкспериментировали с новинками фантастической литературы и даже настольными играми из всё той же фантастики. Давайте теперь поговорим о полнометражных фантастических фильмах.

Полнометражная фантастика — тема необъятная. Количество снятых за всю историю кинематографа фантастических фильмов наберётся великое множество. Поэтому мы решили ограничиться некими временными рамками, скажем, последними десятью годами.
Читать дальше →
Всего голосов 78: ↑57 и ↓21+36
Комментарии136

Обзорные онлайн-курсы по математике

Время на прочтение2 мин
Количество просмотров64K
Часто на собеседованиях в магистратуру СПбАУ или CS центр ребята затрудняются ответить на вопросы об элементарных понятиях как из классической, так и из дискретной математики. А эти знания требуются для освоения курсов алгоритмов, машинного обучения и прочих Computer Science дисциплин. Чтобы облегчить подготовку, Академический университет совместно с Computer Science Center этой весной запускают два онлайн-курса:

  1. Ликбез по дискретной математике. Преподаватель — А.В. Омельченко (СПбАУ РАН).
  2. Введение в математический анализ. Преподаватель — А.И. Храбров (СПбГУ, СПбАУ РАН, CS центр).

Цель этих курсов — рассмотреть самые элементарные понятия дискретной и классической математики. Они не нацелены на глубокое изучение вышеупомянутых наук, однако помогут получить необходимую базу и подготовиться к освоению курсов, требующих знания математических основ, а также научиться отвечать на математические вопросы на собеседованиях.

Курсы размещены на дружественной платформе Stepic.
Подробнее о курсах
Всего голосов 28: ↑26 и ↓2+24
Комментарии14

1987 год — Выставка «Информатика в жизни США»

Время на прочтение2 мин
Количество просмотров37K
Наверное не ошибусь, если предположу, что какая-то часть хабра-сообщества помнит это мероприятие, которое проходило в Москве, Киеве, Ростове-на-Дону, Тбилиси, Ташкенте, Иркутске, Магнитогорске, Ленинграде и Минске.

image

Лично для меня с него началось мое знакомство с высокими технологиями, хотя придя туда, увидел достаточное количество сверстников, оккупировавших компьютеры своими болгарскими 5-дюймовыми дискетами, а как пишет New York Times за 6 июня 1987 года, некоторые уже пытались уломать гидов скопировать им Lotus 1,2,3. Итак,
back in USSR 1987
Всего голосов 42: ↑41 и ↓1+40
Комментарии29

Давайте изобретать велосипеды

Время на прочтение3 мин
Количество просмотров20K
Мотивации пост.



Я занимаюсь алгоритмами обучения нейронных сетей. Пока что простых нерекурентных нейронных сетей. Пока сравнительно простыми алгоритмами, той или иной формой градиентных спусков. Сегодня разговаривал на интересном семинаре по нейроинформатике, и меня спросили, зачем переоткрывать то, что придумано?

И правда, есть же матлаб. Любой может в два движения создать и обучить стандартную сетку одним из готовых стандартных и уже оптимизированных алгоритмов, обучить какой-нибудь страшно стандартной задаче классификации и всё у него будет хорошо. Тем более это актуально, учитывая что с 70-ых годов прошлого века в деле обратного распостранения ошибки не произошло ничего принципиально нового. А новые сетки уже тоже есть в матлабе.

В этом посте я постараюсь показать, почему нужно изобретать велосипед.
Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии38

Конференция dotGo 2014 в Париже

Время на прочтение3 мин
Количество просмотров4.2K
Лучше поздно, чем никогда. В октябре 2014 в Париже прошла первая в Европе конференция посвященная целиком языку Go. Организаторами стали ребята из dotConference, которые черпают вдохновение от TED-овских конференций и позаимствовали некоторые моменты для всех своих dot-конференций. Получается у них, надо сказать, здорово. Видео-материалы конференции, а также немного личных впечатлений читайте ниже.


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Встраиваем бэкдор в Bitcoin (ECDSA) или еще раз о клептографии

Время на прочтение3 мин
Количество просмотров43K
Привет, %username%!
Пользуешься неофициальными bitcoin клиентами? Есть повод присмотреться к ним повнимательней.
После реализации бэкдора для RSA мне стало интересно, как обстоят дела с остальными криптографическими примитивами. Оказывается, целая наука под названием клептография занимается передачей информации в так называемых «подсознательных» каналах. Таких, о которых никому не известно кроме отправителя и получателя. Вроде стеганографии, только внутри криптоалгоритмов.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии36

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 2 из 6

Время на прочтение7 мин
Количество просмотров142K

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Update:


Внимание, статья 4в даёт новую, более простую версию растеризатора.

Давайте знакомиться, это я.



То есть, модель моей башки, отрендеренная в программе, которую мы сделаем за ближайшие час-два.

В прошлый раз мы нарисовали проволочную сетку трёхмерной модели, в этот раз мы зальём полигоны. Точнее, треугольники, так как OpenGL практически любой полигон триангулирует, поэтому ни к чему разбирать сложный случай. Напоминаю, что этот цикл статей создан для самостоятельного программирования. Время, которое я здесь привожу — это не время чтения моего кода. Это время написания вашего кода с нуля. Мой код здесь только для того, чтобы сравнить ваш (рабочий) код с моим. Я совсем не являюсь хорошим программистом, поэтому ваш код может быть существенно лучше моего. Любая критика приветствуется, любым вопросам рад.

Пожалуйста, если вы следуете этому туториалу и пишете свой код, выкладывайте его на github.com/code.google.com и им подобные и давайте ссылки в комментариях! Это может хорошо помочь как и вам (другие люди могут чего посоветовать), так и будущим читателям.
Читать дальше →
Всего голосов 119: ↑116 и ↓3+113
Комментарии116

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность