LINUX.ORG.RU

Избранные сообщения mord0d

Strongswan ipsec, iptables VPN, нет проходят пакеты с VPS

 , , ,

Настроил VPN сервер (Strongswan ipsec, iptables) на локальном тестовом компьютере - все работает (Debian 10). И сервер и клиент в локальной сети за NAT.

  1. С сертификатами проблем нет (опускаю этот момент) - авторизация всегда проходит успешно.
  2. Настраиваю ipsec:
vi /etc/ipsec.conf
config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

conn ikev2-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=192.168.1.6 (в случае VPS здесь его внешний IP)
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.0.0.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightsendcert=never
    eap_identity=%identity
    ike=chacha20poly1305-sha512-curve25519-prfsha512,aes256gcm16-sha384-prfsha384-ecp384,aes256-sha1-modp1024,aes128-sha1-modp1024,3des-sha1-modp1024!
    esp=chacha20poly1305-sha512,aes256gcm16-ecp384,aes256-sha256,aes256-sha1,3des-sha1!
vi /etc/ipsec.secrets
: RSA "server-key.pem"
user : EAP "password"

Перезапускаем ipsec restart

  1. Добавляем в /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.ip_no_pmtu_disc = 1

Запускаем sysctl -p

  1. Настраиваем iptables (по умолчанию все политики на ACCEPT)
iptables -F
iptables -Z
iptables -A FORWARD -j ACCEPT
iptables -t nat -F
iptables -t nat -Z
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE

Этого достаточно для теста - VPN тунель работает, что подтверждает traceroute и tcpdump -i eth0 host 10.0.0.1 esp or upd port 4500

Все работает!

Переносим все тоже самое на VPS (Debian 11). Меняем IP в ipsec.conf, интерфейс в iptables. Запускаем - не работает. Авторизация есть, трафик доходит (что видно по каунтерам iptables), но назад не идет, при таких же настройках iptables как и локально.

Отличительные особенности VPS:

  1. /etc/network/interfaces
auto lo
iface lo inet loopback

# Auto generated venet0 interfaces
auto venet0
iface venet0 inet static
        address 127.0.0.1
        netmask 255.255.255.255
        broadcast 0.0.0.0
        up route add default dev venet0
auto venet0:0
iface venet0:0 inet static
        address xxx.xxx.xxx.xxx
        netmask 255.255.255.255
  1. Обнаружил что rp_filter=1 для всех интерфейсов VPS - выставляю везде 0 - не помогает.

  2. При помощи полных правил для FORWARD цепочки iptables вижу:

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination        
  107  7377 ACCEPT     all  --  *      *       10.0.0.0/24          0.0.0.0/0            policy match dir in pol ipsec proto 50
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            10.0.0.0/24          policy match dir out pol ipsec proto 50
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

В одну сторону идет - обратно уже нет.

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

linuxuser123
()

mbsync не удаляет письма из локального Inbox'a

 

Использую mbsync для бэкапа писем с сервера.

Что хочется:

  • удаляю письма на сервере -> удаляются локальные письма

Что получается:

  • удаляю письма в подпапках (Inbox/subfolder/*) -> письма удаляются локально
  • удаляю письма в Inbox -> письма локально не удаляюся

Есть идеи, почему Inbox пропускается?

PS: если влом отвечать - можете просто скинуть ваш конфиг :)

PPS: Под удалением локальных писем я имею в виду удаление файлов с ними.

Конфиг:

IMAPAccount IMAP-account
Host {{ server }}
User {{ mailbox }}@{{ domain }}
Pass {{ password }}
TLSType IMAPS
Port 993
TLSType IMAPS
AuthMechs LOGIN
TLSVersions +1.2
Timeout 120

IMAPStore remote
Account IMAP-account
PathDelimiter "/"

MaildirStore local
Path /mail/
Inbox /mail/Inbox
Subfolders Verbatim
AltMap yes

Channel backup-all-mail
Far :remote:
Near :local:
Pattern *
Create Near
Expunge Near
SyncState *
Sync Pull Gone
CopyArrivalDate yes

mbsync 1.5.0 из git.

Harliff
()

Управление bios сервера через IPMI SoL ?

 , ,

Может, кто сталкивался. Если подключиться к некоторому серверу (проверял на разных supermicro, hp и т.д.) через serial-over-lan его ipmi, то всё достаточно хорошо работает до момента, когда надо слазать в биос. Там при любом неужели стрелки управления курсором выскакивает окно «Выйти?» Как думаю, это из-за того, что эти самые курсорные стрелки отправляют сочетания клавиш Esc+нечто. Биос реагирует на Esc и радостно предлагает выйти. Собственно, что делать? Сменить режим эмуляции терминала? Где это можно сделать? Ткните пальцем, кто знает.

Перемещено hobbit из general

olegkrutov
()

индикатор раскладок клавиатуры

 , ,

Вдруг захотелось разобраться и написал для себя, как ни странно всё работает, решил поделиться.

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

  • Режим normal - активное окно запоминает последнюю раcкладку
  • Режим first - на активном окне определена строгая очерёдность языковых * раскладок
  • Режим fixed - на активном окне только одна языковая раскладка

Собственно хотелось бы дополнительных еще идей, чего не хватает еще?

https://github.com/AndreyBarmaley/qxkb5

anonymous2
()

X11 | Переключение раскладки разными сочетаниями

 , ,

В общем у меня такая задача, мне надо сделать переключение раскладки на физически на кнопку escape, теоретически на caps lock (у меня местами поменян escape и caps lock). При этом, чтоб вот этот вот switch caps lock’а и escape’а остался.

желательно, чтоб всё это было в keyboard.conf Щас у меня такой вот конфиг

Section "InputClass"
        Identifier      "All Keyboards"
        MatchIsKeyboard "yes"
        Option          "XkbLayout" "us, ru_az"
        Option          "XkbOptions" "caps:swapescape,grp:ctrl_shift_toggle"
EndSection
azim
()

После спящего режима ноутбук на debian реагирует на перезагрузку как на выключение.

 , , ,

Здравствуйте, у меня ноутбук packard bell dot s2 после команды (rtcwake -m mem -s 60) не перезагружается командой sudo reboot или sudo systemctl reboot или sudo shutdown -r now а выключается. Что делать не знаю я им управляю на расстоянии по ssh он у меня в качестве файлового сервера и не могу нормально перезагрузить его после сна….

Groled
()

Странное поведение dnscrypt-proxy и dnsmasq на openwrt

 , ,

Добрый день. Сразу покажу что не так:

nslookup www.themoviedb.org localhost
Server:         localhost
Address:        ::1#53

Name:      www.themoviedb.org
Address 1: 127.0.0.1
Address 2: ::1

без localhost тоже:

nslookup www.themoviedb.org
Server:         8.8.8.8
Address:        8.8.8.8#53

Name:      www.themoviedb.org
Address 1: 127.0.0.1
Address 2: ::1

Настраивал dnscrypt так как именно этот сайт не пускал из зоны ru, и попутно добавил чуть запрещёнки.

Вот конфиги: /etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '0'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
#       option resolvfile '/tmp/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '0'
        option noresolv '1'
        list server '/pool.ntp.org/208.67.222.222'
        list server '127.0.0.1#5353'

/etc/config/dnscrypt-proxy

config dnscrypt-proxy ns1
        option address '127.0.0.1'
        option port '5353'
        option resolver 'yandex'

/etc/dnsmasq.conf

conf-file=/etc/runblock/runblock.dnsmasq

/etc/runblock/runblock.dnsmasq

ipset=/themoviedb.org/rublack-dns
ipset=/tmdb.org/rublack-dns
ipset=/rutracker.org/rublack-dns
ipset=/kinozal.tv/rublack-dns
ipset=/lostfilm.tv/rublack-dns

Еще есть интерфейс wg0 и маршрутизация маркированного трафика в него. Эта часть работает, так как остальные сайты открываются нормально.

Но вот что с themoviedb.org ? Почему он резолвится в 127.0.0.1 ?

Помогите, пожалуйста разобраться.

Alyce
()

Как в awesomeWM запретить мышке переползать с монитора на монитор?

 , ,

Здравствуйте.

Есть awesome и два монитора. В ~/.xinitrc прописаны xrandr-строчки, расписывающие их разрешение и взаимное расположение.

При перемещении мыши она по дефолту имеет возможность переползать с монитора на монитор. Я хочу заблокировать эту возможность, чтобы, сравнявшись с переходом, курсор не проваливался бы дальше на другой моник, а «классически» стопорился бы на границе экрана.

Чтоб перепрыгнуть/переместить что-то с моника на моник, вполне хватит дефолтных хоткеев осома, мышка мне тут только мешается.

Прошу идей и советов, спасибо за внимание.

piyavking
()

Каким образом можно узнать, что открытый SSH-ключ уже скопирован?

 , ,

Привет, народ.

Что-то туплю я. Мне нужно каким-то образом узнать в BASH-скрипте, что открытый SSH-сертификат уже был скопирован на противоположную сторону.

Ну, то есть, для копирования сертификата выполнялись команды:

ssh-keygen -t rsa -q -N ''
ssh-copy-id -i ~/.ssh/id_rsa.pub ouruser@ourserver.lo

Теперь перед этими командами надо сделать проверку, что сертификат уже был передан, чтобы их повторно не вызывать без необходимости.

Вопрос: каким способом наиболее просто можно проверить, что сертификат скопирован? Я так понимаю, надо как-то установить SSH-соединение, если оно установится, то сертификат есть. Но как его установить, как его разорвать внутри bash-скрипта что-то не могу сообразить.

Xintrea
()

Где взять курсы RUR / USD / EUR ?

 

Мне в барахолке надо раз в сутки «подкручивать» цены, в зависимости от того, в чем выставил продавец и в чем смотрит покупатель. Ну и для сортировки по цене. То есть, без особых претензий на точность.

Раньше брал курсы тут https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

Но недавно поперли ошибки, потому что RUR в том источнике просто пропал :). Посоветуйте надежные и бесплатные альтернативы курсов RUR / USD / EUR (всех комбинаций).

Vit
()

не могу понять как прошить роутер через tftp

 , ,

Хай гайс, у меня роутер archer c5 v4, хотел прошить на openwrt, а Гайды подробные тока на win(((

SPRATAY
()

курсор пропадает

 ,

работаю под вайном, в некоторых приложениях курсор просто становится невидимым, поэтому хотелось бы какой-нибудь грязный хак, чтобы например поверх курсора, т е на том месте, где он находится, всегда рисовалась иконка. хотя по-хорошему либо у вайна, либо у х11 должна быть опция «не использовать локальный курсор» или что-нибудь такое… буду рад услышать любые идеи. плазма 5, проверил также на авесоме и хфсе4, и даже на убунте с флешки, проблема присутсвует везде.

fadi1s
()

procmail - как обработать разные subj с одного адреса?

 

Приходят письма с одного адреса, письмо складывается в папку. А как добавить условие, что если у этого письма есть слово «привет» в теме, то перед складыванием в папку, нужно отправить копию по адресу mail@mail.ru?

:0                                                                                                                                                                                                                                                               
* ^From.*@moskva.ru                                                                                                                                                                                                                                        
$HOME/Maildir/.MOSKVA/                                                                                                                                                                                                                               
kevin2
()

Negative lookback & backreferences

 

Допустим, нужно перед каждым словом «трансденсканция», перед которым нет слова «трансценденентальная», вставить это слово. Инвентарь Vim включает negative lookback assertion:

/\(трансценденентальная \)\@<!трансденсканция

Но, поскольку соответствие негативное, первой группе соответствует пустая строка.

s/(трансценденентальная \)\@<!трансденсканция/\1 \2/

не изменяет текст. Хотелось бы найти другой способ кроме

s/(трансценденентальная \)\@<!трансденсканция/трансценденентальная \2/
Xenesz
()

vtm v0.5.9999j

 , vtm

vtm v0.5.9999j
Группа Open Source

Проект vtm развивает мультиплексор терминалов, являющийся одновремненно оконным менеджером и средством совместного использования сеансов. Выгодно отличается от screen и tmux тем, что предосталвяет полноценное многооконное рабочее окружение на базе текста, позволяя внутри одного сеанса терминала выводить несколько окон с виртуальными терминалами. vtm написан на языке C++, лицензия распространения — MIT.

vtm имитирует графические многооконные интерфейсы, с той поправкой, что пользователю в каждом окне предоставлен доступ к консоли. Есть даже подобие панели задач и виртуальных рабочих столов. Окна могут перекрывать друг друга, управлять ими можно в том числе и мышью, при перетаскивании окон отображаются графические эффекты. К одному сеансу возможно подключение и нескольких пользователей.

Для запуска vtm достаточно и эмулятора терминала, с поддержкой Unicode. Из платформ поддерживаются Linux, macOS, FreeBSD, NetBSD, OpenBSD, Windows 10, Windows Server 2019.

О возможности запуска окружения на эмуляторах терминала с KOI-8R в данный момент не сообщается.

>>> Подробности (github.com)

TolkoSprosit
()

dnsmasq, разные адреса для доменов для локалки и VPN

 , ,

Добрый день.

Подскажите как можно настроить dnsmasq так, что бы он отдавал разные записи для одного доменного имени в зависимости от адреса клиента.

Т.е., у меня есть домашняя локальная сеть и я использую dnsmasq только как DNS сервер, что бы блокировать рекламные сайты. Так же я поднял OpenVPN для того что бы иметь возможность подключаться к домашним компьютерам удалённо (не только VNC, но и всякие радости типа умного дома и Git). Теперь я хочу используя один DNS адрес обращаться как из локалки, так и из VPN.

Я добавил в файл /etc/hosts на сервере нужные мне имена два раза, для локалки и VPN. Теперь когда я пытаюсь резолвить эти адреса, то я получаю два адреса. И дело в том что браузер и git пытаются в начале ломиться на локальный адрес и в итоге у них это если и получается, то очень не быстро.

И теперь я хочу что бы если запрос в dnsmasq приходит из 10...* то отдавать один адрес, если из 192.168.. то другой.

На форумах предлагают запускать dnsmasq с различными настройками и привязкой к разным интерфейсам, но я хотел бы всё решить одним демоном в памяти. Если конечно dnsmasq такое умеет.

Если есть у кого то подобный опыт, то подскажите пожалуйста как такое реализовать.

Заранее благодарю!

s_stepanov
()

Подключится по SSH к веб-интерфейсу Syncthing удаленной машины

 , ,

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

через ssh можно пробрасывать порты. если веб интерфейс висит на сервере на http://localhost:8384/ то ты можешь сделать ssh -L 9999:localhost:8384 server и заходить в веб интерфейс с локального компа через http://localhost:9999/ а трафик будет гоняться до сервера по ssh

Но короче я до конца не понял. Может кто-то мне разъяснить на пальцах как это всё сделать? Сейчас я подключаюсь по SSH по ключу вот такой командой:

sudo ssh -p 54789 -i /media/lpuser/4546-8225/key cluser@192.168.0.100

TheLinuxUser
()

Vim: корректное определине кодировки файла

 ,

Иногда попадаются файлы в кодировках cp1251, cp866, koi8r. Как заставить Vim определять их кодировку автоматически?

Пробовал такое:

set fileencodings=utf8,cp1251,cp866,ucs-2le,koi8r

Результаты неудовлетворительные:

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

файл в cp1251 - кодировка определяется верно
файл в cp866  - кодировка определяется как cp1251
файл в koi8r  - кодировка определяется как cp1251
temp_account_123
()

InitWare — форк systemd для Linux, BSD и MacOS

 , ,

Набрёл на форк systemd под названием InitWare. На новость не тянет, к тому же ещё не совсем готов для использования, поэтому я пишу в толксы.

InitWare позволяет управлять службами и системными ресурсами как логическими объектами, называемыми юнитами. Она работает на Linux и всех современных BSD, включая macOS.

InitWare может работать либо как система инициализации, либо как система управления вспомогательными службами с другой системой инициализации. InitWare возникла как форк systemd и сохраняет совместимость со многими интерфейсами systemd даже на платформах, отличных от Linux.

Поддерживаются с сохранением совместимости unit-файлы, команды systemctl, loginctl и journalctl (svcctl, sessionctl и evlogctl соответственно), API-интерфейсы D-Bus systemd1 и Login1, API sd_notify, протоколы сокетов journald stream и датаграмм и несколько других интерфейсов.

В форке отсутствуют несколько компонентов systemd: udev, resolved, networkd, sd-bus и busctl. Причины подробнее описаны здесь.

Философия InitWare отличается от философии systemd тремя принципами:

  1. InitWare должна быть легко переносимой. Она работает на всех основных BSD (включая macOS), а также на GNU/Linux. Перенос на другие платформы Unix (например, Illumos) – цель на будущее.

  2. InitWare должна быть в большей степени модульной, чем systemd. Это касается как архитектуры программного обеспечения, так и функциональности; обратите внимание, например, что InitWare не обязательно запускать как систему инициализации.

  3. У InitWare должна быть четко определенная область действия, касающаяся только управления системой, службами и сеансами, а также некоторыми вспомогательными вопросами, такими как управление журналом событий.

Лицензия LGPL v2.1, так что на основную систему инициализации в BSD системах она не подойдёт.

cocucka
()

Один Vim с разными цветсхемами для разных задач в различных терминалах. (+ awesome)

 , , , ,

Раз уж пацаны гонят оголтелый треш в последнее время в галерее, то тут такое дело:

Не сколько скриншот рабочего стола, хоть не без этого, сколько скриншот демонстрирующий удобную настройку редактора с одним конфигом - для разных задач, с разными цветсхемами для различных терминалов. Всё работает без изменения конфига (~/.vimrc).

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

Я вообще постоянно использую 4 терминала + tmux в некоторых из них, это: urxvt, практически идеальный Terminal-0.4.8 (сейчас называется xfce4-terminal-0.6.x - но оно неюзабельное и с багами), гибко настраиваемый ROXterm и относительно новый и малоизвестный пользователям-рабам тяжелых DE - крутой и моднейший клавиатуро-ориентированный(sic!) терминал termite (вимерам юзать однозначно!).

Каждый терминал для определенной (не жестко) задачи или настроения: для руби, md/haml/coffee, для Си или Эрланга. Для манов через vimpager. Для системных конфигов. Разные цветсхемы, различные шрифты - со сглаживанием или без. С различными схемами не только вима, но и статусбара/интерфейса вима, причем в одном случае это vim-powerline, в других vim-airline в свою очередь также с разными цветами. Кайфотне.

Суть в том, что каждый раз (если использовать один терминал) включать/выключать схему терминала, вима, менять шрифт и сглаживание - жутко неудобно же. Поэтому, можно настроить Vim вот так:

if $COLORTERM == 'Terminal'
    желаемые настройки
endif

Также можно можно настроить вим менять схему и интерфейс в зависимости от дня недели и времени суток, например днём светлую, ночью тёмную:

let weekday=system('date +%u')
let hour=system('date +%H')
if hour == x
  бла бла
endif

Не каждый терминал возвращает $COLORTERM, например Terminal и urxvt - да, а все остальные из списка нет. Поэтому я запускаю их как скрипты на хоткее следующего содержания, например termite.sh:

#!/bin/bash
export COLORTERM="termite" && /usr/bin/termite --geometry=1248x620+60+40
возможно можно как-то более по умному, но и так работает, всё ок.

Ну и детали:

Gentoo GNU/Linux 3.10.5-geek
Awesome-3.4.15
тема осома: Penumbra

На скриншоте Vim 7.4 (не gvim), некоторые цветсхемы работают благодаря плугину CSApprox.

Только полный кастом или никак, пацаны!

Такие дела.

science
()