LINUX.ORG.RU

Сообщения le_

 

Запуск демона на разных адресах/интерфейсах в зависимости от того, активны ли они (интерфейсы)

Есть ноутбук.

Иногда я подключаю его к [одной и той же] сети через провод, иногда - по Wi-Fi. Адреса, при этом, выдаются разные, по Wi-Fi, допустим, 192.168.1.5, по проводу - 192.168.1.55. Они зарезервированы на роутере и всегда одни и те же для соответствующего MAC.

На ноутбуке установлены sshd и x11vnc.

Вопрос: как сделать, чтобы sshd и x11vnc прослушивали на том интерфейсе, через который я подключен (если подключен обоими - то на обоих)?

Если я укажу сразу несколько директив в конфиге sshd:

ListenAddress 192.168.1.5
ListenAddress 192.168.1.55

не вызовет ли это проблем, если я подключен только через один интерфейс (по Wi-Fi, например). Запустится ли вообще sshd при такой настройке?

Ну, и то же самое с x11vnc, если я ему сразу при запуске несколько параметров -listen передам - будет ли оно нормально запускаться и работать?

Вообще, как подобное сделать правильно?

(0.0.0.0 прописывать не хочу из соображений безопасности)

 , , ,

le_
()

Периодически пропадает локалиция Firefox

Linux Mint 21.1, Firefox 111 (x64) (Mint edition 001-0.1) (хотя проблема была уже очень давно, и на более старых дистрибутивах, со старым Firefox).

Периодически «слетает» локализация, все менюшки, настройки - всё на английском.

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

Подскажите, плз, с чем может быть связано и как пофиксить?

 

le_
()

Доступ к unix сокету хоста из lxc-контейнера

Есть некий сервер, который слушает unix-socket в /var/run/app.sock

Можно ли как-то к этому сокету подключится клиентом из lxc-контейнера? Как сделать /var/run/app.sock хоста доступным внутри контейнера?

 ,

le_
()

Как узнать все IP-адреса ресурса, включая CDN?

Не подскажите, есть какой-то способ получить все IPv4-адреса ресурса, включая адреса кеширующих серверов (CDN и т.п.)?

Например, instagram.com сегодня резолвится на один IP, завтра - на другой. Можно их как-то все сразу получить?

 , ,

le_
()

Маршрутизация IPv6 via IPv4 - возможно ли?

Прочитал вот здесь: https://ungleich.ch/u/blog/how-to-route-ipv4-via-ipv6/ о том, как маршрутизируется IPv4 via IPv6.

А мне нужно наоборот - IPv6 via IPv4.

ip -6 route add 2004::3/64 nexthop via 192.168.1.3 dev eth0

Получаю:

RTNETLINK answers: No such device

sch_netem.ko загружен.

ip  a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 532
    link/ether 00:11:32:31:1f:9b brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
3: sit0: <NOARP> mtu 1480 qdisc noop state DOWN 
    link/sit 0.0.0.0 brd 0.0.0.0
4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 00:0e:8e:46:a7:a7 brd ff:ff:ff:ff:ff:ff
5: lbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 00:0e:8e:46:a7:a7 brd ff:ff:ff:ff:ff:ff
    inet 10.1.14.1/24 brd 10.1.14.255 scope global lbr0
    inet6 fe80::1c1b:2fff:fe49:f7db/64 scope link 
       valid_lft forever preferred_lft forever

Возможно ли сделать такое?

 

le_
()

systemctl edit nginx

Хочу, чтобы перед запуском nginx было ожинание 5 сек., т.к., поднимается спецефический сервис, который создает туннель со своим IP-адресом. nginx должен слушать на этом адресе (Requires и After не помогают, т.к., сервис запускается, но IP-адрес получает через пару секунд).

Если в /lib/systemd/system/nginx.service перед строкой:

ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'

Добавить:

ExecStartPre=/bin/sleep 5

то это работает нормально.

Но если делать, как бы, «кошерно» через systemctl edit nginx с созданием override файла, то получается следующее:

Содержание /etc/systemd/system/nginx.service.d/override.conf:

[Service]
ExecStartPre=/bin/sleep 5
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'

Однако, почему-то сначала выполняется /usr/sbin/nginx -t -q -g 'daemon on; master_process on;', потом /bin/sleep 5 и потом еще раз /usr/sbin/nginx -t -q -g 'daemon on; master_process on;'.

Почему так? Разве override не имеет приоритет и не должен подменять фрагмент оригинального юнита?

Как сделать правильно?

Скрин (это после ручного перезапуска)

 

le_
()

В ОС сам собой запускается какой-то странный поиск

Некоторое время назад начал замечать, что после загрузки и входа в систему как-то подозрительно долго горит индикатор использования диска. Раньше этого не было…
Подловил такой момент, запустил iotop - оказалось, там выполняется какой-то поиск от nobody:

su nobody -s /bin/sh -c /usr/bin/find / -ignore_readdir_race      \( -fstype NFS -o -fstype nfs -o -fstype nfs4 -o -fstype afs -o -fstype binfmt_misc -o -fstype proc -o -fstype smbfs -o -fstype autofs -o -fstype iso9660 -o -fstype ncpfs -o -fstype coda -o -fstype devpts -o -fstype ftpfs -o -fstype devfs -o -fstype mfs -o -fstype shfs -o -fstype sysfs -o -fstype cifs -o -fstype lustre_lite -o -fstype tmpfs -o -fstype usbfs -o -fstype udf -o -fstype ocfs2 -o      -type d -regex '\(^/tmp$\)\|\(^/usr/tmp$\)\|\(^/var/tmp$\)\|\(^/afs$\)\|\(^/amd$\)\|\(^/alex$\)\|\(^/var/spool$\)\|\(^/sfs$\)\|\(^/media$\)\|\(^/var/lib/schroot/mount$\)' \) -prune -o -print0

Подскажите, плз, что это за поиск, откуда взялся, кто/что его инициирует и как отключить?

OS: Linuxmint 20.3 una
Kernel: x86_64 Linux 5.4.0-99-generic
DE: Xfce
WM: Xfwm4

 , ,

le_
()

Помогите, plz: wireguard на VPS

Имеется VPS, на нем wireguard. Конфиг wireguard:

[Interface]
Address = 10.0.0.1/24
PrivateKey = 6keykeykeykeykeykeykeykeykekyekykyekeyW/nc= 
ListenPort = 51820
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
#ntb
PublicKey = Zkeykeykeykeykeyekyekyekyekyekyekyekyekyew= 
AllowedIPs = 10.0.0.5/32
...

C клиентов windows/ios подключение работает нормально. C ноутбука с Linux наблюдается следующее: До подключения:

$ ping mail.ru
PING mail.ru (94.100.180.201) 56(84) bytes of data.
64 bytes from mail.ru (94.100.180.201): icmp_seq=1 ttl=53 time=75.8 ms
...

После подключения:

$ ping mail.ru
PING mail.ru(mail.ru (2a00:1148:db00:0:b0b0::1)) 56 data bytes
Пинги не идут.

С самого сервера всё пингуется нормально. В /etc/sysctl.conf прописано:

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

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

[Interface]
Address = 10.0.0.5/24
PrivateKey = ckeykeykeykeykeykey8=
DNS = 94.140.14.14, 94.140.15.15

[Peer]
PublicKey = Gkeykeykeykeykeykeyw=
Endpoint = 18x.x.x.x:51820
AllowedIPs = 0.0.0.0/0, ::/0, 10.0.0.0/24, 192.168.1.0/24

Собственно, вопроса два:

  1. [Для сведений] Почему после подключения пакеты начинают идти по IPv6?
  2. [Главное] Как сделать, чтобы на этой машине после подключения начал нормально работать интернет, шли пинги, открывались сайты и т.п.

 , ,

le_
()

wireguard: доступ от клиента в сеть другого клиента

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

Вводные: Имеется VPS, на ней поднят wireguard, к которому подключаются несколько клиентов из разных мест. Один из клиентов - это роутер без белого IP, за которым есть локальная сеть. Нужно, чтобы другой клиент, подключившийся к wireguard-серверу поимел доступ к локальной сети, находящейся за клиентом-роутером.

Вот конфиг сервера:

[Interface]
Address = 10.0.0.1/24
PrivateKey = kjhkdjfhuerhkjnckwueiufhnwcniwuehfiunwcnj4= 
ListenPort = 51820
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
#Это клиент-роутер за которым сеть 192.168.1.0/24 (в нее должен получить доступ клиент, что ниже)
PublicKey = kljsdhfkjhskdjfhkjshdkjfhksjdhfkjh23jlk=
AllowedIPs = 10.0.0.2/32, 192.168.1.0/24

[Peer]
#Клиент, которому нужен доступ в подсеть
PublicKey = kjhdkfhksjdhfkjq3elkworwiouelcj8793= 
AllowedIPs = 10.0.0.3/32

Настройки wg на роутере (Keenetic) делаются через GUI, но примерно такие:

[Interface]
Address = 10.0.0.2/24
PrivateKey = kj876483658734695sdfkjhskjdhj4=
DNS = 8.8.8.8

[Peer]
#server
PublicKey = 98459849859594859485984958498ksdlkjlw23= 
AllowedIPs = 10.0.0.1/32
Endpoint = 185.105.106.107:51820

На этом этапе при поднятом туннеле с роутера на сервер пинги с сервера на клиент и в его подсеть идут нормально.
Т.е., на сервере:
ping 10.0.0.2 дает ответ
ping 192.168.1.1 дает ответ
ping 192.168.1.4 дает ответ

И вот подключается клиент, которому тоже надо в подсеть 192.168.1.0 за первым клиентом-роутером.

[Interface]
Address = 10.0.0.3/24
PrivateKey = k876543hdgsl8337sjsnx73737hxxh4=
DNS = 8.8.8.8

[Peer]
#server
PublicKey = 98459849859594859485984958498ksdlkjlw23= 
AllowedIPs = 0.0.0.0/0, 10.0.0.0/24, 192.168.0.0/24
Endpoint = 185.105.106.107:51820

Этот клиент подключается, может сидеть в интернете через туннель, но подсеть 192.168.1.0 не доступна для него. Как сделать доступной?

 

le_
()

openconnect: как изменить иконку в трее?

Использую openconnect для соединения с cisco VPN.

Установил network-manager-openconnect-gnome.

Просто openconnect позволяет из командной строки соединение устанавливать, network-manager-openconnect-gnome - добавляет GUI для настройки соединения и, собственно, пунктик в контекстное меню иконки на панели для подключения.

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

Вопрос: как-то можно сказать системе, что надо нарисовать замочек, когда подключаюсь из командной строки?

Linux Mint 20 (Ulyana)

OpenConnect version v8.05-1

Kernel: 5.4.0-58-generic x86_64 bits: 64

Xfce 4.14.2

 , ,

le_
()

x11vnc systemd и gui tray

Подскажите, пожалуйста, возможно ли из юнита systemd запустить x11vnc с ключом -gui tray? Если возможно, то как?

Вот мой юнит:

[Unit]
Description=x11vnc server
Requires=display-manager.service
After=multi-user.target network.target syslog.target network-online.target
Wants=syslog.target network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -display WAIT:0 -nolookup -bg -loopbg -noxdamage -shared -dontdisconnect -rfbport 5900 -no6 -noipv6 -noxfixes -forever -rfbauth /etc/x11vnc.pass
ExecStop=/usr/bin/x11vnc -R stop
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.target

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

*** XOpenDisplay failed (:0)
*** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
*** There may be "Xlib:" error messages above with details about the failure.

Если просто в терминале вбить /usr/bin/x11vnc -auth guess -nolookup -noxdamage -shared -dontdisconnect -rfbport 5900 -no6 -noipv6 -noxfixes -forever -rfbauth /etc/x11vnc.pass -gui tray, то запускается и работает, иконка появляется.

Хочу, чтобы сервер запускался сразу после перезагрузки, а при входе в систему было видно иконку…

 , , ,

le_
()

Энергосбережение на серверах

Вопрос к тем, кто устанавливает и настраивает Linux / BSD на рабочих серверах с высокой и не очень нагрузкой (сервера баз данных, web-сервера, файловые хранилища, proxy, VPN). Используете ли вы на них какие-либо средства энегосбережения, типа pm-utils, laptope-mode-tools, Cpufrequtils и т.п.? Есть ли в этом вообще смысл? И если что-то используете, то что именно?

Я Mint на ноутбуке несколько лет использую (привык что его почти не слышно), в учебных целях установил рядом Debian без графической оболочки и оно как начало свистеть и пыхать жаром, что аж страшно ) Отсюда и вопрос... Подозреваю, на предприятиях можно было бы неплохо сэкономить на электричестве, но как оно будет с производительностью, если, вдруг, нагрузка будет расти?

 

le_
()

Как настроить, чтобы поле загрузки linux не выдавался запрос на ввод учетных данных?

Debian установлен на флешку. Там только консоль, GUI нет. После загрузки выдается запрос на ввод логина и т.д. Как подкрутить, чтобы запрос на ввод учетных данных не выдавался? В идеале после загрузки должен быть чистый черный экран и отключенные клавиатура и мышь.

Там настроены сервисы, которые не требуют никакого участия пользователя. Флешка качует на разные машины, просто втыкается и ОС загружается с неё...

 ,

le_
()

Как выделить подстроку между двумя другими подстроками из строки и раскодировать?

Помогите, пожалуйста. Имеется строка такого вида: ...много текста...<p>[params]-u http:// -t &quot;=CC=C1-=CC=C1&quot; -d 20170510[/params]</p> <p><br>...много текста...

Из нее должна получиться такая строка: -u http:// -t "ла-ла" -d 20170510

Ковыряю grep | sed | awk - в итоге «шарики за ролики» и ерунда какая-то... Кодировка, видимо, quoted-printable KOI8-R.

 , ,

le_
()

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