LINUX.ORG.RU

Сообщения Loafter

 

OpenWrt не срабатывает правило маршрутизации.

Всем привет. Не могу понять по чему не срабатывает правило маршрутизации. Условно мне нужно что бы пакеты с определенного узла шли через определенный интерфейс для 1.1.1.1 .

0:	from all lookup local
1:	from all to 1.1.1.1 oif nederlands lookup local
29996:	from all fwmark 0x30000/0xff0000 lookup pbr_wan
29998:	from all fwmark 0x20000/0xff0000 lookup pbr_nederlands
30000:	from all fwmark 0x10000/0xff0000 lookup pbr_wgserver
32766:	from all lookup main
32767:	from all lookup default

Я ставил уже нулевой приоритет все равно пакеты идут не через нужный интерфейс.

ip route show to match 1.1.1.1
default via 172.17.0.1 dev eth0 

 , ,

Loafter
()

Lighttpd как reverse proxy для MeshCentral

Тут появилась необходимость реализовать reverse proxy на основе Lighttp, документации есть пример для Nginx не очень понятно как его переложить на конфигурацию lightthpd

#  Allows websockets over HTTPS.
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection "upgrade";
   proxy_set_header Host $host;
 # Inform MeshCentral about the real host, port and protocol
   proxy_set_header X-Forwarded-Host $host:$server_port;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
$HTTP["host"] =~ "mesh\.site\.ru$" {
                $SERVER["socket"] == ":443" {
                ssl.engine = "enable"
                ssl.pemfile ="/etc/acme/ai.site.ru/ai.site.ru.cer"
                ssl.privkey ="/etc/acme/ai.site.ru/ai.site.ru.key"
                proxy.server = ( "" => ( ( "host" => "10.9.9.13", "port" => "443" ) ) )
		??????????????????????????????
        }
}

 , , ,

Loafter
()

Обратный прокси https для Aten ipkvm за lighttpd

вот есть такая задача пробросить за lighttpd который уже имеет действующий сертификат, на ipkvm который в свою очередь работает по http. на такой узел

https://someserver.ru/aten проблема в том что когда делаешь прокси, сам узел перекидывает на урл вида http://192.168.2.7/4F8CDC307B913BE95070EA63 те если через прокси заходить то перекидывает туда https://someserver.ru/4F8CDC307B913BE95070EA63 (not found возвращает)

$HTTP["url"] =~ "^/aten" {
        proxy.server = ( "" => ( ( "host" => "192.168.2.7", "port" => "80" ) ) )
        proxy.header = ( "map-urlpath" => ("/aten"  => "/" ))
}

т.е. нужно что все запросы https://someserver.ru/aten переходили https://someserver.ru/ ну результат запросов что бы менял префикс "https://someserver.ru/aten/4F8CDC307B913BE95070EA63"

 , ,

Loafter
()

Tigervnc не могу запустить headless-server Solus OS

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

/usr/sbin/vncsession andrew :1

Завершается ошибкой «Failure demonize» error 71.

cat /home/andrew/.vnc/config
session=budgie-desktop
geometry=1920x1080
cat /etc/tigervnc/vncserver.users
# TigerVNC User assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
:1=andrew
# :3=lisa

Strace я результат снял, но что то не вижу криминала в нем никакого

https://pastebin.com/viFtJm3R

 , ,

Loafter
()

WIreGuard связь между с клиентами за натом.

Ну во общем решил и я прикоснутся к прекрасному VPN будущего и столкнулся с такой проблемой: Собственно конфигурация сети такая есть 3 пира (ABC) и один из них B имеет реальный айпи адрес, не за натом с открытым портом, а сам пир с реальным айпи. Вот пиры А,C сидят за натом. ну и сеть впн 10.9.9.0/24 и у всех клиентов прописано Alloweded IP 10.9.9.0/24. Ну вот по чему то пир B который с реальным айпи видит всех участников, а сами клиенты только участника B, т.е. между ними связи нет (Last handshake never) . и в логах у клиента A такое сообщение.

No valid endpoint has been configured or discovered for peer2.

И кстати сам условный сервер с реальным айпи он видит все энд поинты обоих клиентов. отображает их айпм и с каких UDP портов с ними общаются. Собственно, где это хваленый nat-traversal, где прямая связь между пирами, сеть же видит их айпишники открытые порты UDP.

 , , ,

Loafter
()

Фиксация ttl в nftable

Тут в новой версии OpenWrt заменили iptable на nftable собственно раньше было можно довольно просто зафиксировать ttl одной коммандой iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64 Попробовал через транслятор он какую то ерунду неисполняюему выдал.

 ,

Loafter
()

Rust рекурсивный обход дирректорий.

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

pub fn walk(path: dir) -> io::Result<()> {
    for i in dirs{
        if i=="dirs"{
            walk(i);
        }else {
            all_files.push(i);
        }
    }
}

 

Loafter
()

Вся мощь rust. Генерация алфавита.

Вот я продолжаю эксперименты с rust. Мне нужно сгенерировать массив из символов A-Z, элегантным решением было бы воспользоваться диапазоном

for x in 'A'..'Z' {}
но для char не реализуем типаж iterator. при попытке его самого реализовать
impl Iterator for char {
    type Item = u32;
    fn next(&mut self) -> Option<u32> {
        Some(self)
    }
}
выдает такую ошибку:
only traits defined in the current crate can be implemented for arbitrary types
Те получается для char это не реализуемо?

 ,

Loafter
()

rust cargo не реагирует на features

Продолжаю изучать Rust. есть такой тривиальный юнит тест

//#[cfg(feature = "fileapi")]
pub fn read_root() {
        if cfg!(cargo_feature = "fileapi") {
            println!("_____")
        }
}
[package]
name = "aexplorer"
version = "0.1.0"
authors = ["andrew <andrew@ya.com>"]

[features]
fileapi = []

[dependencies]
winapi ="0.3.4"

Так вот по чему то условие не срабатывает несмотря на то что данная feature включена в cargo.toml

 ,

Loafter
()

Простой конструктор.

Начал изучать RUST. Как в этом вашем RUST сделать некий аналог конструктора бы возвращал уже собранный объект по ссылке. Например

struct A {
    c: String
}
impl A {
    fn new() ->  A {
      A {c:String::from("TEST1")}
    }
}

тут у нас как я понимаю у нас будет одно лишняя копия объекта А. а как сделать что бы не было лишнего копирования.

ну на подобии:

struct B<'b> {
    c: &'b String,
}

impl<'b> B<'b> {
    fn new() -> &mut B<'b> {
        &B { c: String::from("TEST2") }
    }
}

 

Loafter
()

Тестирование UDP-прокси.

Всем привет! Я тут написал в целях самообразования socks5 прокси сервер на go и очень хотелось бы проверить его работу. Поэтому не подскажите какой-нибуть клиент под Windows или Linux, с помощью которого можно проверить работу udp-части socks5-протокола. Что угодно видео-проигрыватель, мессенджер.

 , ,

Loafter
()

Регулярные выражение обработки файлов из proc

У меня вот вопрос такой как будет выглядеть регулярное выражение, для захвата имени процесса bash

http://pastebin.com/raw.php?i=xxeAnrU1

... Name: bash ...

Name: bash State: S (sleeping) Tgid: 25734 Pid: 25734 PPid: 25727 TracerPid: 0 Uid: 1000 1000 1000 1000 Gid: 1000 1000 1000 1000 FDSize: 256 Groups: 4 24 27 30 46 109 123 1000 VmPeak: 27564 kB VmSize: 27500 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 5060 kB VmRSS: 5036 kB VmData: 3100 kB VmStk: 136 kB VmExe: 900 kB VmLib: 2240 kB VmPTE: 76 kB VmSwap: 0 kB Threads: 1 SigQ: 0/63288 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000010000 SigIgn: 0000000000384004 SigCgt: 000000004b813efb CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff Cpus_allowed: ff Cpus_allowed_list: 0-7 Mems_allowed: 00000000,00000001 Mems_allowed_list: 0 voluntary_ctxt_switches: 903 nonvoluntary_ctxt_switches: 84

 ,

Loafter
()

Замена строки в бинарном файле.

Необходимо заменить строку в бинарном файле. Я пробую сделать это через комманду sed. sed -b -i s/1234567890123456/abcdefghklmnrwtr data.bin Все хорошо, строка меняется, но файл портится у него изменяется размер. Хотелось бы узнать как это можно пофиксить?

 , ,

Loafter
()

Доступ в локальную сеть из впн

Всем привет! У меня такой вопрос. Необходимо организовать доступ в локальную сеть 10.0.1.Х из впн сети (10.0.2.Х). Впн сервер находится в двух сетях и имеет адрес(10.0.1.10 --- 10.0.2.170). Можно ли организовать доступ без использования nat (iptables) только средствами ip route. я проверил Bridge не работает с Tun интерфейсами. На сервере есть только iproute2. route http://pastebin.com/raw.php?i=u0A0fKRN

 , ,

Loafter
()

Доступ в локальную сеть из впн

В локальной сети (10.0.1.Х) есть сервер на котором работает Open connect Server. Клиенты подключаются к нему нормально и получают ip адреса из диапазона 10.0.2.X. Клиенты могут видеть сам сервер. Сам сервер видит клиента. Но Клиенты не видят локальную сеть сервера 10.0.1.Х. Destination Gateway Genmask Flags Metric Ref 10.0.2.171 * 255.255.255.255 UH 0 0 0 vpns0 Вопрос как сделать так что бы клиенты в локальной сети видели VPN Клиентов и соотв наоборот? Можно ли для этого использовать bridje?

 ,

Loafter
()

pksc12 не экспортируется хранилище сертификатов Windows.

Всем привет. Я пытаюсь настроить StrongSwan.

Для этого генерирую ключи Корневой сертификат и два сертификата для сервера и для клиента соответственно.

Pasterbin: http://pastebin.com/raw.php?i=F0BksdVs

ipsec pki --gen --outform pem > caKey.pem ipsec pki --self --in caKey.pem --dn «C=RU, O=Loft Inc, CN=loft.suroot.com» --ca --outform pem > caCert.pem ipsec pki --gen --outform pem > serverKey.pem ipsec pki --pub --in serverKey.pem | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem \ --dn «C=RU, O=Loft Inc, CN=loft.suroot.com» --san=«loft.suroot.com» --flag serverAuth --flag ikeIntermediate --outform pem > serverCert.pem ipsec pki --gen --outform pem > clientKey.pem ipsec pki --pub --in clientKey.pem | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem \ --dn «C=RU, O=Loft inc, CN=loft.suroot.com» -san=«loft.suroot.com» --outform pem > clientCert.pem

openssl pkcs12 -export -inkey clientKey.pem -in clientCert.pem -name «client» -certfile caCert.pem -caname «Loft inc» -passout pass:exeexe -out clientCert.p12

После этого проверяю экспортированный файл:

openssl rsa -inform pkcs12 -check -noout -in /root/certs/clientCert.p12 -passin pass:exeexe

Возникает такая ошибка. В Windows соотв не экспортируется.

unable to load Private Key 140212576355984:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:539: 140212576355984:error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:p12_decr.c:104: 140212576355984:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:130: 140212576355984:error:23076072:PKCS12 routines:PKCS12_parse:parse error:p12_kiss.c:129:

Сам файл в ссылке http://wikisend.com/download/585226/clientCert.p12

 

Loafter
()

при проборосе портов х11 возникает ошибка unable to open display ":1.0"

есть рабочая станция на сузе. С нее необходимо получать изображение по Х11 протоколоу. Для этого в putty пробросил порт 6000 порт на 6001 линуксе. Указываю setenv DISPLAY :1.0 при запуске любых приложений возникает ошибка «unable to open display »:1.0"" если поставить setenv DISPLAY 127.0.0.1:1.0 все отлично отображается. Я бы не парился и так все и оставил проблемма в том что программа которую нужно запускать проверяет адрес переменой Display и отказывается запускаться если там что то отличное от :1.0 или :0.0

 ,

Loafter
()

Не запускается сервис systemd-networkd

У systemd какое то странное поведение: Не запускается сервис systemd-networkd выдает такое странное сообщение:

error while loading shared libraries: librt.so.1: cannot open shared object file Permission denied

Mar 26 20:08:16 localhost systemd-networkd[216]: /usr/lib/systemd/systemd-networkd: error while loading shared libraries: librt.so.1: cannot open shared object file: Permission denied Mar 26 20:08:16 localhost systemd[1]: systemd-networkd.service: main process exited, code=exited, status=127/n/a Mar 26 20:08:16 localhost systemd[1]: Failed to start Network Service. Mar 26 20:08:16 localhost systemd[1]: Unit systemd-networkd.service entered failed state. Mar 26 20:08:16 localhost systemd[1]: systemd-networkd.service has no holdoff time, scheduling restart. Mar 26 20:08:16 localhost systemd[1]: Stopping Network Service... Mar 26 20:08:16 localhost systemd[1]: Starting Network Service... Mar 26 20:08:16 localhost systemd[1]: systemd-networkd.service start request repeated too quickly, refusing to start. Mar 26 20:08:16 localhost systemd[1]: Failed to start Network Service. Mar 26 20:08:16 localhost systemd[1]: Unit systemd-networkd.service entered failed state.

Права в дирректории:

-rwxr-xr-x 1 root root 173312 Mar 26 23:33 librt-2.19.so -rwxr-xr-x 1 root root 339784 Mar 26 23:33 librt.a -rwxr-xr-x 1 root root 384838 Mar 26 23:33 librt_pic.a -rwxr-xr-x 1 root root 871 Mar 26 23:33 librt_pic.map lrwxrwxrwx 1 root root 10 Mar 26 23:33 librt.so -> librt.so.1 lrwxrwxrwx 1 root root 13 Mar 26 23:33 librt.so.1 -> librt-2.19.so

Если напрямую запустить исполняемый файл /usr/lib/systemd/systemd-networkd Сеть отлично запускается

 , ,

Loafter
()

Установка драйверов nvidia используя кроскопилятор

у меня вот вопрос как можно установить драйвер nvidia, если есть исходники ядра и кросскомпилятор? Когдая я запускаю инсталятор он начинает «орать» что запущен X11. Можно ли как нибуть это обойти

Loafter
()

Установка apt-get в специфичную папку

Вот мне интересен такой вопрос: Можно ли поставить программу, в конкретную папку со всеми зависимостями при помощи dpkg. Конретно xbmc, и зависимые для него пакеты x11-utils, X11, xbmc-bin, .... рекурсивно ? Ну так что бы они были пригодны для запуска в chroot

 , ,

Loafter
()

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