LINUX.ORG.RU

Сообщения WeSTMan

 

OpenWRT NAT POSTROUTING

Добрый день. Есть сервис, который висит на 54 порту. Хочу, чтобы с него выходил трафик и исходный порт был 53.

через nft

nft add table ip nat

nft create chain ip nat postrouting ‘{ type nat hook postrouting priority srcnat; }’

nft add rule ip nat postrouting ip udp sport 54 counter

Аналогично и с iptables-legacy

Для начала хочу просто посмотреть, ходят ли пакеты или нет. В итоге никакие пакеты не ходят. Но если запускать tcpdump port 54, то сниффер видит все пакеты, которые уходят с порта 54. Но почему я не вижу их в postrouting nft или iptables? В цепочке OUTPUT вижу, но там нельзя сделать SNAT. Как их заставить проставлять мой порт? ip forward = 1. Благодарю за ответы)

 , ,

WeSTMan
()

slapd и ldapmodify

Добрый день! Хочу внести изменения в файл cn=config.ldif. Изменения касаются сертификатов, чтобы включить SSL.

Использую ldapmodify для редактирования файлов и следующее содержимое файла:

dn: cn=config

changetype: modify

add: olcTLSCertificateFile

olcTLSCertificateFile: /etc/ldap/sasl2/ldap_server.crt

далее ldapmodify параметры -f файл.ldif

Все проходит успешно, файл пересчитывает CRC, но вот объект, который я добавил - его нет в config.ldif.

Может я чего-то не понимаю?

Решено, воспользовался скриптом

https://github.com/cepharum/slapd-config

 

WeSTMan
()

u32 или hex-string

Что работает быстрее в iptables - u32 или hex-string? Как по мне - u32. Знающие люди, ответьте, пожалуйста, на вопрос

 

WeSTMan
()

SSH LDAP Invalid credentials

Всем привет. Использую NSS_LDAP для атворизации SSH по доменному имени пользователя AD.

Настроил Nslcd.conf на свой домен

dc=office

binddn cn=testuser,dc=office

bindpw testpass

Перезагружаю nslcd.

Пытаюсь получить пароли getent passwd и в логах syslog вижу, что

<passwd(all)> no available LDAP server found: Invalid credentials

Пользователь есть, пароль верный. Время настроено верно на обоих серверах. Мб я что-то упустил? Подскажите, пожалуйста

Тестирую так же через ldapsearch - та же ошибка (Invalid Credentials)

 , ,

WeSTMan
()

iptables post and pre routing

Всем привет. Не получается перебросить трафик между серверами.

Сервер, который будет перебрасывать трафик - подключен к провайдеру через PPPoE (176.214.77.138).

Сервера находятся не в локальной сети! FORWARD разрешен

Суть:

Получить пакет, переправить его на другую машину.

iptables -t nat -A PREROUTING -p udp –dport 27027 -j DNAT –to-destination 94.103.90.29

iptables -t nat -A POSTROUTING -p udp –dport 27027 -j SNAT –to-source 95.31.46.1

Через wireshark вижу, что пакеты идут, нигде дропа нет, но пакет не доходит до конечного сервера. Что я делаю не так?

Заранее спасибо!

WireShark:

374 749.406616910 95.31.46.1 → 176.214.77.138 UDP 61 27027 → 27027 Len=17

375 749.406660498 95.31.46.1 → 94.103.90.29 UDP 61 27027 → 27027 Len=17

 

WeSTMan
()

Соединение с SOCKS5

Всем привет. Я написал приложение, которое поддерживает SOCKS5. Для примера взял пару серверов с SOCKS5. Почему то заметил, что SOCKS5 не сразу отвечает на запросы о установлении соединения TCP. Кто может сказать почему? Через WireShark видно только запрос на установку соединения. Если повторить запрос на соединение пару раз, то возможно и пройдет. Но каждый раз ждать по 5 соединений не вариант. Мб это нормально?

Программа написана на c# и используется метод connect(IPEndPoint). Где IPEndPoint - IP и порт SOCKS5.

При этом, если пинговать просто IP сервера прокси, то все происходит замечательно.

 

WeSTMan
()

UDP через SOCKS5

Всем привет. Не могу понять почему не работает UDP через SOCKS5. Что я делаю:

Я соединяюсь с SOCKS сервером и говорю, что хочу сделать UDP ASSOCIATE. В ответ на это SOCKS высылает IP и Port - куда можно слать UDP.

Я генерирую UDP пакет на этот адрес и порт с содержимым:

2 байта резерв

1 байт - фрагмент

1 байт - протокол ipv4

4 байта IP адрес куда надо отправить UDP с SOCKS

2 байта - порт куда отправить

3 байта - данные. В результате получился такой набор:

000001015f1f2e01029a313233

2 байта резерв + 1 фрагмент + ip = 95.31.46.1 + порт 666 + данные 123.

Все это дело отправляю на SOCKS5. Но к сожалению, на сервер 95.31.46.1:666 ничего не приходит.

 

WeSTMan
()

Изменение данных пакета и пересчет контрольной суммы

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

Получаю адрес начала данных:

user_data_ptr = (char *)(skb->data + sizeof(struct iphdr) + sizeof(struct udphdr));

Вычисляю длину данных:

unsigned long iLenData = skb->len - (sizeof(struct iphdr) + sizeof(struct udphdr));

Модифицирую данные, например так:

user_data_ptr[iLenData-2] = ‘k’;

Пересчитываю контрольные суммы:

udp->check = 0;

udp->check = csum((uint16_t*) udp, (iLenData+sizeof(struct udphdr)));

ip->check = 0;

ip->check = csum((uint16_t*) ip, (ip->ihl << 1));

Еще вопросик: Как добавить свои данные к эти данным? Нужно ли менять tot_len и len в заголовках?

Если ничего не трогать, то пакет отправляется в сеть, но я хочу его модифицировать.

Спасибо за ответы!

 , ,

WeSTMan
()

Модификация или перехват исходящего трафика

Всем привет. Я пишу программу на c++ и у меня есть несколько вопросов.

Сейчас моя программа умеет:

  1. Принимать пакет, расшифровывать, изменять заголовок IP и отправлять нужному приложению.

Приложение в свою очередь отвечает не моей программе, а тому, кого я указал в заголовке IP пакета. (это важно)

Дак вот вопрос, как можно модифицировать или перехватить трафик от приложение, которое отвечает?

Мое приложение и обычное приложение работают на одной машине.

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

Спасибо.

 

WeSTMan
()

IPSec и проблема сертификатов

Сделал тэги [ cut ] (не работают)

Всем привет. Прошу помощи, не смог осилить IPSec с сертификатами. 3 статьи перепробовал. Мб я чего-то не понимаю. Заранее спасибо за ответы. Ошибка до боли банальная :

generating IKE_AUTH response 1 [ N(AUTH_FAILED) ]

Не прошла авторизация. Конфиг сервера:

( читать дальше... )

Конфиг клиента:

( читать дальше... )

Сертификаты, сервер:

../ipsec.d/certs/vpn-server-cert.pem ../ipsec.d/privte/vpn-server-key.pem

Клиент:

../ipsec.d/cacerts/server-root-ca.pem ../ipsec.d/certs/vpn-server-cert.pem

ipsec.secrets (сервер)

( читать дальше... )

ipsec.secrets (клиент)

( читать дальше... )

Добрые люди, выручайте!!))

 

WeSTMan
()

Почему то режется upload VPN

Всем привет. Я создал VPN канал и подключил 1 пользователя. Отключил шифрование. Сервер - Linux. Клиент - Windows. OpenVPN работает по UDP и порту 9999 В оба конфига были внесены изменения: auth none cipher none ncp-disable

При этом, почему то скорость upload очень низкая

Обычный интернет: Прием - 57Мбит/с Отдача 55Мбит/с

Через VPN: Прием - 55 Мбит/с Отдача - 8 Мбит/с

Тесты проводились на сайте speedtest и с одним сервером. Помогите, пожалуйста, разобраться!

 

WeSTMan
()

Бэкап Acronis системы Linux (ошибка суперблока)

Всем привет. Помогите с решением проблемы. Делаю бэкап акронисом и после его окончания система уходит в read only.

Ubuntu 14.04.

Лог:

rs on this target have changed. The Linux SCSI layer does not automatically adjust these parameters.

Apr 17 19:45:45 forum kernel: [297579.888993] sd 2:0:0:0: [storvsc] Sense Key : Unit Attention [current]

Apr 17 19:45:45 forum kernel: [297579.889090] sd 2:0:0:0: [storvsc] Add. Sense: Changed operating definition

Apr 17 19:45:45 forum kernel: [297579.889471] sd 2:0:0:0:

fsck from util-linux 2.20.1 e2fsck 1.42.9 (4-Feb-2014) /dev/sda1: recovering journal Superblock has an invalid journal (inode 8).

Помогает перезагрузка: shutdown -Fr now. Но постоянно так делать - не дело.

Подскажите, в какую сторону посмотреть. Спасибо!!!

 

WeSTMan
()

Изоляция ядер и достижение максимальной производительности

Всем привет. Прошу помочь в решении вопроса. У меня есть процессор Xeon 3470 с турбо бустом до 3.6. Я изолировал от системы ядра с 1-3 (isolcpus). Оставил 4. Запустил свое приложение на изолированное ядро с помощью taskset. Нагрузил и поймал частоту в 3.6. Тогда я запустил это приложение на все изолированные ядра. Сейчас система в простое и показание частот 1.2ГГц. Я сделал тест нагрузки на 1 ядро. И не получил 3.6ГГц. Вопрос почему? Почему когда запущен 1 процесс на изолированном ядре, то достигается 3.6. такие же процессы запущены на изолированные ядра без нагрузки и в момент нагрузки одного процесса не получаю турбо буст 3.6. Я знаю, что нагрузка всех ядер Макс 3.2, но я нашружаю всего одно, остальные простаивают. Но показания частот повышаются и на других ядрах при нагрузке всего 1 ядра. Надеюсь объяснил нормально, если будет нужна дополнительная информация - спрашивайте. Спасибо за помощь в решении вопроса.

 

WeSTMan
()

DoS атака на сервер (закрыты порты)

Всем привет. Вопрос может быть для кого-то банален, но я затрудняюсь в его ответе. Вот смотрите. У меня есть сервер, где интернет от провайдера 100мбит. Если я закрою ВСЕ порты через iptables. Будет ли возможность меня задосить, если посылать трафик свыше 100мбит на мой сервер с закрытыми портами? Получается тупо забивать полосу пропускания. Но если порта закрыты.. я хз. Помогите с ответом, заранее спасибо! Вопрос: Можно ли мне перекрыть доступ в интернет с помощью DoS (атака свыше 100Мбит), если у меня закрыты все порты? Все пакеты идут в DROP

 ,

WeSTMan
()

PostgreSQL с резервным инкрементом

Всем привет. Изучаю азы резервирования БД. Прошу ваших советов.

Я хочу нас троить резервное копирование с инкрементами. Что я нарыл: Есть в коробке с postgres утилита pg_basebackup. и WAL файлы транзакций.

В настройках постгреса надо прописать

wal_level = replica

archive_mode = on Перезагрузить постгрес. Сделать бэкап с WAL файлами, командой

pg_basebackup -U postgres -D /tmp/pg_backup -Ft -z -Xf -P

Вопрос в следующем: Как снимать инкременты? ведь команда pg_basebackup сделает базовый бэкап!

Еще в документации прочитал, что можно это дело распараллелить, если знаете - подскажите, пожалуйста! И еще.. есть файлы WAL в папке кластера БД. Они будут до и после pg_basebackup? Как их определить после команды pg_basebackup? Что непонятно - спрашивайте! Дам дополнительную информацию! Спасибо. Postgres 9.6

 

WeSTMan
()

Ошибка обнаружения

Настроил обнаружение с ключом CheckCert. Сделал прототип данных с ключом GetCertDays[{#aliasname}] В агенте указал UserParameter=CheckCert, Command UserParameter=GetCertDays[*], Command $1 перезагрузил клиент. Сделал zabbix_agentd -t CheckCert - все ок zabbix_agentd -t GetCertDays[name1] - все ок Но на сайте пишет, что Unsupported item key. (Обнаружение) Что я просмотрел? Помогите, пожалуйста!

 

WeSTMan
()

Обнаружение в заббикс

Всем привет. Я генерирую JSON файл вида { «data»: [{ «#CERTNAME»: «CertN1», «#DATELEFT»: «240» }, { «#CERTNAME»: «CertN2», «#DATELEFT»: «40» } ] }

В итоге я хочу получить каждый сертификат и сколько осталось до окончания через обнаружение в заббиксе. Создал только обнаружение. Перечитав литературу - не могу понять - как действовать дальше! Подскажите, пожалуйста. Заранее спасибо! Как сделать прототипы элементов данных и т .д.

 

WeSTMan
()

Получить срок действия сертификата в файле header.key

Всем привет. Требуется получить срок действия сертификата с помощью bash в Linux. Ключ состоит из файлов: header.key masks.key name.key primary.key и т. д.

Как я понял нужная мне информация хранится в файле header.key. Утилита keytool ее не берет. Подскажите, пожалуйста, с решением вопроса! Заранее спасибо!

 

WeSTMan
()

Индекс и сортировка по двум полям

Всем привет. Есть запрос, который выполняется очень долго. Сам запрос: Код: [cut]SELECT ID FROM smev_log ORDER BY LOGDATE DESC, ID ASC LIMIT 150 OFFSET 689113[/cut]

Его план Код: [cut]«Limit (cost=2427156.39..2427156.76 rows=150 width=16) (actual time=20279.759..20279.842 rows=150 loops=1)» " -> Sort (cost=2425433.61..2470694.99 rows=18104552 width=16) (actual time=20012.573..20184.970 rows=689263 loops=1)" " Sort Key: logdate DESC, id" " Sort Method: top-N heapsort Memory: 81462kB" " -> Seq Scan on smev_log (cost=0.00..579249.52 rows=18104552 width=16) (actual time=0.026..7501.096 rows=18104552 loops=1)" «Planning time: 0.460 ms» «Execution time: 20282.103 ms»[/cut]

id - первичный ключ по колонке logdate построен индекс.

Я попробовал составные индексы между ними - толку 0. Он все равно смотрит всю таблицу. Там 20 млн. записей Подскажите, пожалуйста, как заставить запрос работать по индексам! Заранее спасибо!

 , ,

WeSTMan
()

Бэкап БД с партицированием

Добрый день, форумчане. Нужны ваши советы по работе. В чем суть: Мне нужно сделать бэкап БД, в которой есть партиции и развернуть на другом сервере. Чтобы они работали одинаково. Но проблема в том, что я ниразу не делал бэкап с партициями и не знаю всех нюансов. Подскажите, пожалуйста, по грамотному переносу!

 ,

WeSTMan
()

RSS подписка на новые темы