Pull to refresh

VPN-мост в локальную сеть

Configuring Linux *
Прочитал топик habrahabr.ru/blogs/linux/67209 и решил выложить сюда свою статью, которая была до этого видна только в закрытой корпоративной Wiki.

Обычно, при создании VPN, используется подключение типа точка-точка к некоторому серверу, либо установка ethernet-туннеля с некоторым сервером, при котором туннелю назначается определённая подсеть. Сервер VPN при этом выполняет функции маршрутизации и фильтрования трафика для доступа к локальной сети через VPN.

Данная статья рассматривает другой подход к созданию виртуальной сети, при котором удалённые системы включаются в уже существующую локальную подсеть, а сервер VPN выполняет роль Ethernet-шлюза. При использовании такого подхода мы всё ещё имеем возможность фильтровать трафик на основании способа подключения (например, использовать для локальной сети и для удалённых пользователей разные фильтры), но исключается необходимость настройки маршрутизации, а удалённые машины включаются прямо в локальную сеть, видят ресурсы, даже способны использовать широковещательные посылки вообще без дополнительной настройки. Через такой VPN у них отображаются все компьютеры локальной сети Windows, все доступные XDMCP-серверы при XDMCP broadcast и т. д.

Читать дальше →
Total votes 29: ↑23 and ↓6 +17
Views 203K
Comments 14

Ubuntu, KVM и proxy_arp — как обмануть злого провайдера

Configuring Linux *
Одна фирма расположила на колокейшне серверочек для внутренних нужд и сразу купила /30 адреса для соих потребностей. Сконфигурено это было как алиасы (eth0:0, eth0:1 и т.п.). Все работало великолепно, пока по прошествии некоторого времени появилась здравая идея разнести разные сервисы на разные виртуальные машины. Поскольку в качестве хоста использовался Ubuntu Server, то выбор KVM в качестве виртуализатора произошел сам собой. И здесь, и в остальном нете уже немало умных слов было написано по установку и настройку KVM и сетевого окружения, не буду на этом останавливаться, расскажу лишь про маленькие детские грабельки, удобно подложенные со стороны провайдера.
Продолжение повествования
Total votes 54: ↑48 and ↓6 +42
Views 7.4K
Comments 33

Разведчики США против закрытия социальных сетей

Social networks and communities
Управление директора Национальной разведки США распорядилось в целях безопасности закрыть популярные среди разведчиков платформы коммуникации uGov и Bridge. Обе системы производства компании Intel имеют выход в интернет, что и стало поводом для их закрытия.

У разведывательного сообщества США (в него входит 16 учреждений) остаётся в распоряжении ряд экспериментальных коммуникационных веб-сервисов, в том числе Chirp (шпионская версия Twitter) и Intellipedia, но эти инструменты гораздо менее популярны, ещё не все агенты их освоили.

Новость о закрытии интернет-сервисов была разослана в пятницу по внутренней почте нескольких секретных подразделений. Рядовые сотрудники выражают своё возмущение через прессу, а среди агентов начался сбор подписей (доступ по паролю). Есть надежда, что под напором общественности разведчикам всё-таки оставят их любимые социальные сервисы, тем более что они реально помогают в работе.
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views 329
Comments 5

Паттерн проектирования «Мост» / «Bridge»

Perfect code *
upd: Изменил диаграмму и код. Расширил пример и описание.

Почитать описание других паттернов.

Предыстория


Вернувшись домой, после непродолжительных посиделок у старого друга, я обнаружил, что оставил у него свой мобильный телефон, а вместе с тем и единственный в квартире будильник. Ситуация осложнялась тем, что завтра в 8:00 надо было быть на работе. Вариант вернуться за мобильником в 11 часов вечера я даже не рассматривал. И первое, что пришло мне на ум — написать свой будильник, причем с применением паттерна «Мост», который мне и без того надо было реализовать в рамках спецкурса. Как говорится, двух зайцев… Я думаю, не стоит пояснять что лег спать я под утро, но довольный собой. А утром, ровно в 7:00 меня победоносно разбудил мой bridge-будильник, весело наигрывая мотив из TBBT.

Как я до такого докатился, читайте под хаброкатом.
Читать дальше →
Total votes 69: ↑50 and ↓19 +31
Views 41K
Comments 72

FreeBSD Netgraph на примере Ethernet тоннеля

*nix *
Всем привет.

Думаю многим системным администраторам, работающим с FreeBSD, известно о существовании ядерной подсистемы Netgraph. Но не многие знают/понимают как это работает, и что из этого можно построить.

Расскажу что это такое, а также разберу на простом примере сборку Ethernet моста через интернет.

Читать дальше →
Total votes 76: ↑70 and ↓6 +64
Views 16K
Comments 20

Дворовой бридж — соревнование ИИ (libcanvas)

HTML *

Предлагаю устроить спортивное программирование — написание ИИ на Javascript для игры в дворовой бридж. Предоставляю уже готовую игру на libcanvas и изящный интерфейс для создания AI. Все, что вам надо — браузер, немного азарта и знание JavaScript. Первый этап — вы программируете свой ИИ, играя против него. Второй этап — вы программируете свой ИИ и он играет против лучших из первого этапа. После второго этапа проводим турнир и объявляем итоги. Уверен, что получим много фана и удовольствия. Победителям — слава и почет. Если победят не зарегистрированные на Хабре — готов предоставить инвайты.

Читать дальше →
Total votes 42: ↑38 and ↓4 +34
Views 172K
Comments 21

Идиомы Pimpl и Fast Pimpl – указатель на реализацию

Designing and refactoring *
Sandbox
Другие названия: Bridge, Compilation Firewall, Handle/Body
Допустим, нам необходимо написать кроссплатформенное сетевое приложение с использованием сокетов. Для этого нам необходим класс GeneralSocket (“Видимый класс”), который будет инкапсулировать в себе детали реализации конкретной платформы (“Скрываемый класс”). Часто требуется скрыть детали реализации от пользователей или других разработчиков:
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 37K
Comments 3

NodObjC — мост между Objective-C и Node.JS

Node.JS *
Translation
Я просто хотел бы шокировать вас моими последними достижениями в области хакинга: я создал двунаправленный мост к библиотекам выполнения Objective-C из среды Node. Эта сумасшедшая штука позволяет делать замечательные вещи, например, писать родные приложения для MacOS X и iOS полностью на Node и JavaScript!

Я создал высокоуровневую библиотеку, которую назвал NodObjC, и она предлагает лёгкий для использования API, непосредственно формируемый из API библиотек Objective-C. Вот пример из README:
var $ = require('NodObjC');

// First you need to "import" the Framework
$.import('Foundation');

// Setup the recommended NSAutoreleasePool instance
var pool = $.NSAutoreleasePool('alloc')('init');

// NSStrings and JavaScript Strings are distinct objects, you must create an
// NSString from a JS String when an Objective-C class method requires one.
var string = $.NSString('stringWithUTF8String', 'Hello Objective-C World!');

// Print out the contents (calling [string description])
console.log('%s', string);
//   → Prints "Hello Objective-C World!"
pool('drain');
Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Views 1.7K
Comments 22

Идея реализации пакета I/O в Java

Java *

Совершенство достигается не тогда, когда уже нечего прибавить,
а когда уже ничего нельзя отнять.
Антуан де Сент-Экзюпери, Ветер, песок и звезды, 1939

Часто приходится проектировать и разрабатывать пакеты ввода/вывода для приложений на Java. С одной стороны есть java.io, которого бывает более чем достаточно. Однако, на практике редко удается обойтись набором стандартных классов и интерфейсов.

В статье, приводится практический пример идеи для реализации пакетов ввода/вывода на платформе Java.

Читать дальше →
Total votes 21: ↑15 and ↓6 +9
Views 5.8K
Comments 49

Правильное использование паттерна «Мост» (Мост с двухсторонним движением) или MVC->«Бизнес-сущность — Визуализация — Контроллер»

Perfect code *Designing and refactoring *
Предыстория

Статья Неверное использование паттерна проектирования «Мост» / «Bridge» как то так получилось разделила аудиторию на двое. Далее я подумал, сказав А не сказать Б, будет не правильно. Нет я не отказываюсь от своих слов, но я нашел где и как я использовал паттерн «Мост». Т.к. его еще и неверно понимают, кажется альтернативное название «Описатель/тело» — меньше вводит в заблуждение.

Так где же? Оказалось в моем аналоге использования концепции MVC (Модель/Представление/Контроллер).

Поэтому вначале ознакомлю со своей вариацией «Бизнес-сущность — Визуализация — Контроллер». Я уже ее писал, но думаю мало кто с этим знаком. А затем посмотрим где же там «Правильный мост».

P.S. Мне тут выдали кредит доверия, и я обязался написать еще одну статью о усовершенствовании паттерна Flyweight — отчитываюсь написал.

Читать дальше →
Total votes 18: ↑10 and ↓8 +2
Views 6.9K
Comments 3

Еще раз про Bridge (в картинках)

Programming *
Еще раз, если позволит сообщество, обращусь к теме паттерна Мост (Bridge), ибо последние статьи, на мой взгляд, объясняют его не так просто, как нужно.

Основная идея: «Используем Мост там, где нужно менять не только имплементацию, но и абстракцию».

Одна картинка стоит 1000 слов…

Читать дальше →
Total votes 44: ↑34 and ↓10 +24
Views 3.8K
Comments 53

Шаблон Bridge дополнительные штрихи

Designing and refactoring *
Обсуждение многострадального шаблона Bridge на хабре, выявило много интересных мнений и заблуждений. Попробуем разобраться, реанимировать данный шаблон в глазах тех кто борется с формулировками оригинального каталога GoF, а интересующимся темой шаблонов показать несколько дополнительных штрихов.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 7K
Comments 27

Строим OpenVPN мост под Mac OSX

IT-companies
Sandbox
Tutorial
Однажды у меня появилась необходимость иметь доступ к локальной сети из удаленного места. Для выполнения данной задачи на iMac был поставлен OSX server в котором был настроен удаленный доступ VPN. Все работало вполне сносно кроме mDNS(Bonjour). Как оказалось данная реализация VPN не поддерживает мультикаст. А он был жизненно необходим из за наличия некоторых специальных приложений которые работают только в локальной сети.

После непродолжительного поиска нашлось несколько решений данной проблемы. Одно из них бесплатное предполагало установку программы «Network Beacon» и прописывания в ней руками путей к службам «Bonjour». Другое решение было платным и предполагало установку специального приложения «ShareTool» которое во первых может строить собственные SSH туннели и во вторых передавать по туннелю информацию о службах на стороне сервера.

Минусов у этого решения два. Первый это то что надо покупать лицензию на каждую машину. Ну и второй заключается в том что это решение все равно костыль. А мне хотелось все сделать как можно чище.

Решением оказалась постройка VPN моста на базе OpenVPN с виртуальным адаптером «tap».
Но как это сделать? В сети я нашел много разных инструкций по настройке подобной конфигурации но ни одного варианта постройки моста под OSX.

И тут я вспомнил как настраивал мост для расширения беспроводной сети и решил сделать все похожим образом.
Вся магия под катом
Total votes 11: ↑8 and ↓3 +5
Views 27K
Comments 2

Организация локальной сети с одновременным подключением к двум интернет-провайдерам при помощи маршрутизатора MikroTik

System administration *IT Infrastructure *Network technologies *
Sandbox
Предположим, что у нас есть два интернет провайдера. Первый получает настройки по L2TP, для второго необходимо задать настройки статически, а нам требуется организовать безотказную работу интернет соединения. То есть, в случае отказа первого интернет провайдера маршрутизатор должен автоматически переключиться на второго (резервного) провайдера. А при восстановлении связи с первым провайдером маршрутизатор должен снова начать с ним работать.


Читать дальше →
Total votes 38: ↑28 and ↓10 +18
Views 88K
Comments 58

Основы компьютерных сетей. Тема №4. Сетевые устройства и виды применяемых кабелей

IT Infrastructure *Cisco *Network technologies *Server Administration *
Tutorial


Приветствую всех! Добрались мы до 4-ой темы. Поговорим сегодня про различные сетевые устройства и применяемые кабели. Узнаем, чем отличается коммутатор от маршрутизатора, что такое концентратор и многое другое. Приглашаю заинтересовавшихся под кат.
Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Views 182K
Comments 43

Конвертируем десктопное приложение в appx с помощью Desktop Bridge

.NET *Development for Windows *

С выходом Visual Studio 2017 должна появиться возможность конвертировать существующие .NET/Win32 проекты в Windows Store приложения более комфортным образом.

Впрочем, сейчас для создания appx пакета из .NET приложения совсем не обязательно устанавливать 2017-ую студию. Достаточно установленного пакета SDK для Windows 10 и Visual Studio 2015 с Developer Command Prompt. Что радует, так это то, что после Anniversary Update уже не обязательно скачивать образ десятки и производить установку какого-то стороннего софта, если у вас есть исходный код проекта или исполняемый файл.

Предлагаю создать из .NET приложения appx пакет с помощью Desktop Bridge (ex. Project Centennial).
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 11K
Comments 10

Mikrotik RoS 6.41: Большие изменения в Bridging и VLAN

System administration *Network technologies *
Tutorial
Разработчики RoS уже достаточно давно анонсировали изменения в работе мостов (bridge), и включили эту новую функциональность в Release Candidate ветку, вот теперь они внесли это и в Current.
Читать дальше →
Total votes 18: ↑15 and ↓3 +12
Views 65K
Comments 8

Паттерны проектирования в Cocos2d-x

Programming *Designing and refactoring *Game development *
Sandbox
Привет, Хабр! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk.

Статья будет интересна для разработчиков Cocos2d-x и тех, кто изучает паттерны. Она выполнена в форме краткого конспекта, в котором можно быстро посмотреть где применяется тот или иной паттерн в Cocos2d-x. Целью статьи не является полное описание каждого паттерна.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 3.9K
Comments 0

Мост из мира .NET в мир JavaScript

Website development *Open source *JavaScript *.NET *Development of mobile applications *
Sandbox
Хочу поделиться интересной находкой — Bridge.net. Если в двух словах, это фреймворк, позволяющий транслировать C# код в JavaScript. Идея, которая движет командой разработчиков очень проста и понятна — транслировать логику настолько идентично, насколько это возможно. Что радует, если вспомнить все различия и специфику этих языков.


Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Views 5.9K
Comments 9

Выбираем систему видеонаблюдения: облачная vs локальная с Интернетом

Ivideon corporate blog Working with video *Monetization of IT systems *Cloud services IOT
image

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

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

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

А может быть, так и надо? Может быть, «традиционное» видеонаблюдение действительно закрывает все потребности бизнеса?

Мы решили провести практическое сравнение двух систем, чтобы окончательно поставить точку в споре об эффективности облака и подключенной к Интернету локальной системе.
Total votes 31: ↑19 and ↓12 +7
Views 12K
Comments 29
1