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

Немного: реверсер, администратор, .NET программист

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

Как распутать уроборос роутинга в Linux

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

Описание проблемы


Ситуация: у нас имеется один интерфейс eth0, «смотрящий» в интернет, с IP-адресом 192.168.11.11/24 и шлюзом 192.168.11.1. Нам нужно организовать интерфейс vpn0, который будет через VPN соединяться с неким сервером, и весь исходящий с этой машины трафик должен идти через этот интерфейс vpn0.

Примечание: я оставляю за скобками детали работы с IPv6, поскольку там хватает своих особенностей. Рассматривается только ситуация с IPv4.

Итак, мы берём в руки программу для подключения в VPN-у — она соединяется с неким VPN-сервером по адресу 10.10.10.10 и поднимает нам интерфейс vpn0 например с таким адресом: 192.168.120.10/24, шлюз 192.168.120.1. Казалось бы, всё хорошо, пинги через vpn0 ходят, коннект есть, он стабильный, осталось только прописать нечто вроде

ip route add default dev vpn0 metric 1000

чтобы перенаправить все соединения через новый интерфейс и…

И всё благополучно падает. Пропадает интернет, отваливается VPN, отключается ssh (если вы по нему подключены к хосту). Если приложение VPN-а не выключит интерфейс при потере соединения, то извне вы до этого хоста до ребута больше не подсоединитесь.

Что случилось?
Всего голосов 22: ↑22 и ↓0+22
Комментарии15

Домашний DPI, или как бороться с провайдером его же методами

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

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Всего голосов 179: ↑178 и ↓1+244
Комментарии187

Классы в lua, или избавляемся от двоеточия

Время на прочтение4 мин
Количество просмотров29K
Как всем известно, в lua нет как таковых классов и объектов. Однако есть метатаблицы и синтаксический сахар.
С помощью указанных механизмов достаточно просто реализовать подобие классов.
В итоге и получается нечто такое:
Самый простой класс
local MyClass = {} -- the table representing the class, which will double as the metatable for the instances
MyClass.__index = MyClass -- failed table lookups on the instances should fallback to the class table, to get methods

-- syntax equivalent to "MyClass.new = function..."
function MyClass.new(init)
  local self = setmetatable({}, MyClass)
  self.value = init
  return self
end

function MyClass.set_value(self, newval)
  self.value = newval
end

function MyClass.get_value(self)
  return self.value
end

local i = MyClass.new(5)
-- tbl:name(arg) is a shortcut for tbl.name(tbl, arg), except tbl is evaluated only once
print(i:get_value()) --> 5
i:set_value(6)
print(i:get_value()) --> 6

(взято с lua-users.org/wiki/ObjectOrientationTutorial)

Всё это конечно хорошо, даже при определённой сноровке можно реализовать наследование…
Но где public и private члены класса? Дефакто в этом примере они все public. Да ещё и надо помнить, где использовать двоеточие:
MyClass:myFunc()

а где просто одну точку:
MyClass.myOtherFunc()

А статические члены класса? Неужели придётся отказываться?
Вот я и не захотел отказываться, и начал колхозить...
Всего голосов 10: ↑5 и ↓50
Комментарии13

Заметки о MODX Revo от новичка

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

Disclaimer: Конечно, скорее всего многое, из представленного в этой статье, покажется капитанством для сведующих людей. Однако, возможно, кому-то она поможет...

Введение


Итак, что же такое MODX (кстати, пишется именно так — MODX, а не как название хаба — MODx)? Если читать официальный сайт — то это CMS. Однако, это лишь часть правды. На самом деле, MODX находится примерно посередине между CMS и CMF. Впрочем, любой, кто заинтересовался бы MODX это быстро бы узнал из других статей, поэтому не буду останавливаться на этом пункте подробней.

Поскольку MODX находится посередине между CMS и CMF, то её не так легко освоить, как простую CMS, вроде Wordpress или Joomla. Пожалуй, эта статья написана в целях раскрытия некоторых тонкостей, которые кажутся неочевидными на первый взгляд.

Читать дальше →
Всего голосов 36: ↑26 и ↓10+16
Комментарии23

Beta-тест Bitcasa своими руками

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

Небольшое введение


Некоторое время назад (а точнее 15 сентября 2011 года) на Хабре промелькнула статья — «Облачный» сервис Bitcasa может стать серьезным конкурентом Dropbox
Вот мне и стало интересно, что же это за Bitcasa такая. И, как любопытный человек, я сразу же выдал им аж три своих email-а для участия в предварительном тестировании.

И сегодня, наконец, свершилось… На все три ящика упало приглашение.

Что из этого вышло, смотрим дальше. Внимание! Трафик
Всего голосов 42: ↑37 и ↓5+32
Комментарии73

Объявлены даты окончательного отключения Google Wave

Время на прочтение1 мин
Количество просмотров1.3K
Сегодня Google прислал письмо, в котором указал даты окончательного отключения Google Wave. Отключение будет производиться в два этапа:
1. Перевод всех волн в режим «только чтение» — 31/01/2012
2. Окончательное полное отключение сервиса — 30/04/2012
Google рекомендует сохранять все свои данные с помощью встроенной функции экспорта в pdf.

Оригинальный текст письма под катом:
Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии26

Информация

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