Policy-routing на CentOS

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

Тут нужен policy-routing — маршрутизация на основе определённых правил. Логика получается такая: ответы на запросы из подсети Б к моему адресу из подсети А отправлять с адреса из подсети А (т.е. на шлюз подсети А).

Маркируем соединения из сети Б к нашему адресу из сети А при помощи iptables и таблицу mangle (используется для изменения пакетов):
iptables -t mangle -I INPUT -i eth0 -s 10.1.100.0/24 -d 10.2.96.3 -j CONNMARK --set-mark 1
А на выходе копируем маркировку соединения в маркировку пакетов, насколько я понимаю, это означает, что мы маркируем пакеты промаркированных ранее соединений:
iptables -t mangle -I OUTPUT -s 10.2.96.3 -d 10.1.100.0/24 -j CONNMARK --restore-mark
Вероятно, в этом правиле можно обойтись и без указания адресов источника и адресата, но мне кажется так будет правильнее, более точно чтоли )

В таблицу маршрутизации 111 добавляем маршрут для сети Б, но на шлюз из подсети А:
ip route add to 10.1.100.0/24 via 10.2.96.1 dev eth0 table 111
И, наконец, добавляем правило для перенаправления пакетов с нашей маркировкой в отдельную таблицу маршрутизации:
ip rule add fwmark 1 lookup 111

Для удобства можно назначить название для таблицы в файле /etc/iproute2/rt_tables, которое можно будет использовать вместо номера.

Так же нужно проверить не включена ли проверка обратного пути (reverse path checking):
sysctl net.ipv4.conf.eth0.rp_filter
Если включена, то система будет проверять пакеты на соответствие источника интерфейсу, с которого пакет получен. Например, если пакет пришёл с адреса, который виден через другой интерфейс (а не тот, с которого пакет пришёл), то значит этот пакет надо отбросить.

Если всё заработало как надо, то сохраняем правила iptables в файл "/etc/sysconfig/iptables", а правила для маршрутизации в файл "/etc/sysconfig/network-scripts/route-eth0".

Далее несколько вспомогательных команд, которые могут пригодиться.

Посмотреть определённую таблицу маршрутизации:
ip route show table 111
Удалить маршрут из указанной таблицы
ip route del table 111 to 10.1.100.0/24
Посмотреть правила маршрутизации:
ip rule show
Удалить правило маршрутизации:
ip rule del fwmark 1

Как посмотреть правила iptables писать не буду )

Инженерные коды для Андроид

Android Logo

Многие пользователи Android смартфонов и планшетов даже не подозревают о существовании так называемых инженерных или сервисных кодов. Сервисные коды на смартфонах да и на обычных телефонах появились намного раньше чем вышла первая версия ОС Андроид.

Читать дальше →

Первый раз расстроился из-за событий в сериале



Смотрю сериал Декстер. Не буду рассказывать о чём он. Несмотря на, скажем так, специфичность сюжета воспринимал все события спокойно, как все другие фильмы. Да, сопереживаешь, ожидаешь чего-то, строишь предположения, но не более того, это же кино.
Сегодня посмотрел ещё несколько серий и там случилось то, что неожиданно сильно меня расстроило, поразило, едва ли не шокировало — жестоко убили жену главного героя — Риту. Честно, для меня это стало весьма неприятной неожиданностью, причём не только само событие в сериале, но и мои ощущения после него. Не совсем понимаю почему какое-то, пусть и жестокое и несправедливое, событие из фильма так сильно меня тронуло. Не потому, что Рита была красивой и не потому, что она была положительным героем, ведь такое случается едва ли не в каждом фильме. Вероятно, причиной тому стало то, что, как мне кажется, именно Рита меньше всех других героев сериала, не считая детей, заслуживала смерти… нет, даже не так, несмотря ни на что Рита была… невинной чтоли. Нет, она не была идеальной или какой-то суперправильной, зачастую пилила Декстера почём зря и немного стервозничала, но всё же…
Я считаю, что авторы сериала поступили очень несправедливо, даже как-то подло. Вот, чёрт, чтож такое!
Это первый на моей памяти случай когда я так близко к сердцу принял какое-либо событие, произошедшее в фильме, старею, становлюсь сентиментальным )

Написал, перечитал, подумал и мысль сформировалась получше — несмотря ни на что Рита была чиста, бесхитростна, беззащитна, доверчива как ребёнок, именно поэтому её смерть я воспринял как вопиющую несправедливость и так расчувствовался.

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

П.С. И прочитайте надпись на — «who bathes his hands in blood… will have to wash them with tears».

Сериал "Шерлок"

Мне нравится сериал «Элементарно», я уже коротко упоминал о нём. Решил, для сравнения, посмотреть и другой сериал про современного Шерлока Холмса и доктора Ватсона — «Шерлок».
Этот сериал начался раньше, чем «Элементарно», но я его не смотрел, т.к. я совершенно не перевариваю внешность Холмса в нём. Ну, ничего поделать не могу, вызывает он во мне какое-то стойкое неприятие… не знаю, может некой женоподобностью.

Читать дальше →

Как сделать интересным занятия бегом.

Речь пойдет о приложениях для бега и форумах.

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

Далее зарегистрировался на специальном форуме, skirun.ru, там можно получить ответ на вопросы по ЛА, другие форумы не посещал, возможно есть и другие форумы.

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

Пользуясь случаем хотел бы дать свои контакты runkeeper и nike plus, добавляйтесь-вместе бежать интересней.

Hello world!

Hello world! Обычно с такие слова выводит первая программа в любом учебнике по программированию. На самом деле идея названия нагло скомуниздена у товарища с пузырьковой сортировкой:).

Читать дальше →