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 писать не буду )

Apple начала мобильную патентную войну

Не буду копипастить сообщение о том, что Apple обвинило HTC в нарушении кучи патентов.
Удивляет система патентования — патентуются банальные и общеупотребимые решения:
Например, один из патентов предлагает разблокировать телефон, проведя пальцем по изображению на экране.


С такими патентами немудрено, что кто-то что-нибудь обязательно нарушит.
Как-то всё это нечистоплотно, хотя о какой чистоплотности можно говорить в бизнесе :-)
Вот хоть ты тресни, но недолюбливаю я Apple за то, что они всячески ущемляют права владельцев их продукции предподнося это как заботу о них.

QR code - быстрое чтение данных в мобильный телефон

QR (Quick Response) — стандарт кодирования текстовой (и вроде бы графической тоже) информации в небольшую картинку, которую можно отсканировать при помощи камеры сотового телефона и расшифровать в обычный текст — ссылку, емейл, контактные данные — и вам не нужно будет набирать всё это на клавиатуре телефона )
Понятное дело, что в телефоне должны быть камера и соответствующая программа )

Сгенерировать QR-картинку можно и на специальных сайтах, например:
i-nigma.com/CreateBarcodes.html
qrcode.kaywa.com/

Странно, что два сайта кодируют один и тот же текст по-разному, например ссылка
http://blogger.kg/



Поставил себе программку i-Nigma. Работает быстро — я даже не успеваю поймать картинку в нужное окошко, а программа уже выдаёт мне закодированный текст )
Но удобство программы оставляет желать лучшего — ссылку предлает только открыть, отправить по смс и расшарить с парочкой соцсетей, а банально скопировать в буфер обмена нет возможности.

Надо поискать другую программку )

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

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

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

Ещё пара сериалов

Американская история ужасов (American Horror Story)

Посмотрел две первые серии, не понравилось. Во-первых, было противно (но не страшно) смотреть на человеческие органы и части тела в банках; во-вторых, не считаю интересными фильмы, в которых ужас создаётся просто темнотой, мельканием кадров, криками и кровавыми ранами; в-третьих, начальная заставка просто неприятна — то же мелькание кадров, ну и горящие старинные фотографии детей. Короче, никакого желания смотреть дальше не возникает.

Стрела (Arrow)

Очередная банальщина, снятая на основе каких-нибудь комиксов, про современного Робина Гуда, который разит злодеев высокотехнологичными стрелами, вору… перечисляет с их счетов деньги обездоленным людям при помощи некоего хакерского девайса, вмонтированного в стрелу, которая, в свою очередь, была воткнута в стену.
И ещё, меня раздражает когда куча злодеев с автоматами (точнее с пистолетами-пулемётами) стреляя со всех сторон в главного героя не могут толком в него попасть и нанести сколько-нибудь серьёзный урон, при этом сам герой умудряется перестрелять всех из лука, одновременно выполняя различные акробатические трюки.

И снова про ограничения в пользовании устройствами от Apple

Поменял лаптоп, а вот скопировать содержимое папки iTunes не догадался. В результате iTunes при синхронизации данных предлагает удалить контент на iPad и скопировать туда контент из данного, только что установленного, iTunes. Скопировать содержимое iPad-а в комп нельзя.

Благо хоть установленный софт можно слить из iPad-а на комп. Впрочем, это как раз и необязательно, т.к. приобретённый софт всегда можно закачать снова из AppStore.
Таким образом получается, что контакты, календарь, фотки, музыку и прочий контент при подключении к новому iTunes можно только удалить.

С учётом того, что устройство от Apple нельзя подключить как флешку, чтобы залить музыку, видео или картинки, вероятность приобретения мной iPhone вплотную приблизилась к 100 процентам )

Конечно, есть ещё iCloud, но там бесплатно доступно только 5 ГБ, к тому же надо иметь быстрый и дешёвый Интернет.

Кроме того, узнал, что свой идентификатор AppStore можно использовать только с 5-ти компьютеров. По исчерпанию этого лимита можно будет сбросить авторизации (вроде так они это называют) для всех 5-ти компьютеров, но сделать это можно только раз в полгода.
Смысл этого ограничения я не могу постичь, вообще не могу придумать ни одного предположения для чего это было сделано.

Кто какие сериалы смотрит?

Сериалы, которые я смотрю или закончил смотреть и они мне понравились:
— Интерны )
— Доктор Хаус
— Декстер





Пробовал смотреть, но не особо заинтересовался:
— Хранилище номер 13
— Сверхестественное

Что посоветуете ещё? Интересуют прикольные или наоборот «заумные» сериалы, простая попса не нужна )

Не понимаю я феномена микроблогов )

Едва ли не каждый известный человек имеет свой э… (как там пользовательское пространство называется?)… свою страничку на твиттере.
Зашёл я на твиттер, посмотрел странички нескольких знакомых, но не проникся идеей — короткие записи, никакой иерархии — всё сплошным потоком, никакого форматирования, никаких картинок, в целом получается бессвязно. Однако, «стотыщмильёнов» человек не могут ошибаться, может это я что-то упустил? )))
Может мне кто-нибудь глаза откроет? )

В CentOS 8 нет ntpdate?!

Пипец, в CentOS 8 теперь нельзя установить ntpdate, чтобы синхронизировать время с NTP-серверов. Теперь, блин, надо, видите ли, запускать новый демон чтобы просто синхронизировать время.
А как без ntpdate проверить работает ли какой-либо NTP-сервер вообще непонятно. Это я чтоли должен настроить полноценную синхронизацию и ждать сообщения в логах? А мне, блин, не надо синхронизироваться, мне надо просто посмотреть отвечает ли сервер и прям в данный момент интерактивно!
Кроме матов больше слов нет…

Настройка NTP-клиента на CentOS 8.

Посмотреть настройки времени:
timedatectl

Задать часовой пояс:
timedatectl set-timezone Asia/Bishkek

В конфиге нового демона убрать строку с ненужными серверами и указать нужные серверы — источники времени:
#pool 2.centos.pool.ntp.org iburst
server ntp1.domain.tld.
server ntp2.domain.tld.

Запустить новый демон:
systemctl start chronyd

Включить синхронизацию времени:
timedatectl set-ntp true

Подождать какое-то время пока не обновится время в системе или смотреть за логами и ждать появится ли там запись о подстройке времени.