LINUX.ORG.RU

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

Как запустить программу в фоне без привязки к терминалу?

Форум — General

Есть ли способ лучше, чем что-то типа такого:

bash -c 'command &'

Если использовать просто запуск в фоне, то программа закроется при закрытии терминала. nohup работает странно. Или проще написать свой костыль на C?

Описанный выше способ не очень-то удобный.

Upd. Решение найдено благодаря unDEFER.

 , ,

Werenter
()

ARP - существуют ли апи или надо парсить вывод?

Форум — Development

Мне нужно получать ip-адреса устройств в сети. В консоли это выводит команда arp -a. Но, существуют ли какие-то апи функции сокетов,чтобы получить этот список? Или только парсить выхлоп командной строки / открывать на чтение файл /proc/net/arp и парсить регуляркой его содержимое?

 ,

zer0cat
()

При всей моей нелюбви к Мелкософту, MSEdge пока лучший браузер

Форум — Desktop

Сейчас очередной прецедент, меня все назовут «нищеброд», но сейчас (Сейчас это: «В данный момент, в другом городе, в другой хате», дома у меня оптика до дома) я сижу на бесплатном интернете от Йота, и вот там какая то сложная технология редиректов для включения бесплатного интернета.

Регулярно выскакивает окно типа: «Подключить пакет или продолжить бесплатно на 64Кбит».

Сейчас пишу с нищебродского нетбука на Атоме, с дохлой матрицей работающем на 15" монитор с MicroSD карты на 32Gb.

Пишу сообщение в MSEdge, потому что Имеющийся штатный файрфокс, почему то отказывается показывать это окно и включать бесплатный интернет.

А вообще как ни странно, у MSEdge лучшая работа с памятью. И Firefox и Chrome и Даже Опера - Постепенно съедают память при нескольких открытых окнах и вкладках, и их приходится регулярно убивать и перезапускать.

MSEdge не требует таких мероприятий. Хотя конечно в нём не хватает мастер пароля как у Мозиллы.

Это сугубо моё мнение, есть масса браузеров, но MSEdge пока отрабатывает всё в лучшем виде.


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

 ,

n0mad
()

Nmap не находит открытые порты

Форум — Admin

Здравствуйте спасители! 😁 Имеется VPS с Ubuntu v20.04, который я сканирую с помощью Nmap 7.94. Вот скриншот с результатами сканирования Nmap: https://disk.yandex.ru/i/7Rv6xP-ecmMxKg

Профили использовал эти: Intense scan plus UDP и Intense scan, all TCP ports. А вот мои правила пре-роутинга из файла rules v4:

*MANGLE
:PREROUTING ACCEPT
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT

*NAT
:PREROUTING ACCEPT
:INPUT ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
-A PREROUTING -i eth0 -p udp -m udp --dport 443 -j DNAT --to-destination 140.82.121.3:443
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 140.82.121.3:80
-A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE

Zenmap не находит порт с tcp 80. Более того, когда я ввожу IP_своего_сервера:80 перенаправления на 140.82.121.3:80 не происходит 😒 Ограничений по 80 порту со стороны провайдера нет.

Ещё я проверил порт 2347 для shadowsocks с помощью https://www.reg.ru/web-tools/port-checker и он оказался открыт, а Nmap его тоже не нашёл 😒

Мой список открытых портов в системе, правда в нём почему-то выдаётся ещё протокол v6, но у меня адрес выдан только ipv4:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      349226/cupsd
tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN      650/xray
tcp        0      0 127.0.0.1:8889          0.0.0.0:*               LISTEN      650/xray
tcp        0      0 127.0.0.1:8443          0.0.0.0:*               LISTEN      650/xray
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      655/nginx: master p
tcp        0      0 127.0.0.1:8444          0.0.0.0:*               LISTEN      655/nginx: master p
tcp        0      0 0.0.0.0:2700            0.0.0.0:*               LISTEN      652/sshd: /usr/sbin
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      265/systemd-resolve
tcp6       0      0 ::1:3350                :::*                    LISTEN      664/xrdp-sesman
tcp6       0      0 ::1:631                 :::*                    LISTEN      349226/cupsd
tcp6       0      0 :::3389                 :::*                    LISTEN      684/xrdp
tcp6       0      0 :::2347                 :::*                    LISTEN      650/xray
tcp6       0      0 :::2700                 :::*                    LISTEN      652/sshd: /usr/sbin
udp        0      0 0.0.0.0:67              0.0.0.0:*                           633/dhcpd
udp        0      0 0.0.0.0:631             0.0.0.0:*                           349228/cups-browsed
udp        0      0 0.0.0.0:35500           0.0.0.0:*                           297500/vpnserver
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           297/avahi-daemon: r
udp        0      0 0.0.0.0:42734           0.0.0.0:*                           297/avahi-daemon: r
udp        0      0 0.0.0.0:8967            0.0.0.0:*                           297500/vpnserver
udp        0      0 192.168.10.1:4500       0.0.0.0:*                           297500/vpnserver
udp        0      0 127.0.0.1:4500          0.0.0.0:*                           297500/vpnserver
udp        0      0 ip_сервера:4500         0.0.0.0:*                           297500/vpnserver
udp        0      0 0.0.0.0:33207           0.0.0.0:*                           297500/vpnserver
udp        0      0 192.168.10.1:500        0.0.0.0:*                           297500/vpnserver
udp        0      0 127.0.0.1:500           0.0.0.0:*                           297500/vpnserver
udp        0      0 ip_сервера:500          0.0.0.0:*                           297500/vpnserver
udp      768      0 0.0.0.0:58926           0.0.0.0:*                           297499/vpnserver
udp        0      0 0.0.0.0:53              0.0.0.0:*                           297500/vpnserver
udp        0      0 127.0.0.53:53           0.0.0.0:*                           265/systemd-resolve
udp6       0      0 :::5353                 :::*                                297/avahi-daemon: r
udp6       0      0 :::2347                 :::*                                650/xray
udp6       0      0 fe80::5c35:f6ff:fe:4500 :::*                                297500/vpnserver
udp6       0      0 ::1:4500                :::*                                297500/vpnserver
udp6       0      0 fe80::216:3cff:fe1:4500 :::*                                297500/vpnserver
udp6       0      0 :::52120                :::*                                297/avahi-daemon: r
udp6       0      0 fe80::5c35:f6ff:fe0:500 :::*                                297500/vpnserver
udp6       0      0 ::1:500                 :::*                                297500/vpnserver
udp6       0      0 fe80::216:3cff:fe1f:500 :::*                                297500/vpnserver
raw        0      0 0.0.0.0:1               0.0.0.0:*               7           297500/vpnserver
raw        0      0 0.0.0.0:1               0.0.0.0:*               7           633/dhcpd
raw        0      0 0.0.0.0:1               0.0.0.0:*               7           309/pingtunnel
raw        0      0 192.168.10.1:50         0.0.0.0:*               7           297500/vpnserver
raw        0      0 127.0.0.1:50            0.0.0.0:*               7           297500/vpnserver
raw        0      0 ip_сервера:50           0.0.0.0:*               7           297500/vpnserver
raw        0      0 192.168.10.1:52         0.0.0.0:*               7           297500/vpnserver
raw        0      0 127.0.0.1:52            0.0.0.0:*               7           297500/vpnserver
raw        0      0 ip_сервера:52           0.0.0.0:*               7           297500/vpnserver
raw6       0      0 fe80::5c35:f6ff:fe00:50 :::*                    7           297500/vpnserver
raw6       0      0 ::1:50                  :::*                    7           297500/vpnserver
raw6       0      0 fe80::216:3cff:fe1f::50 :::*                    7           297500/vpnserver
raw6       0      0 fe80::5c35:f6ff:fe00:52 :::*                    7           297500/vpnserver
raw6       0      0 ::1:52                  :::*                    7           297500/vpnserver
raw6       0      0 fe80::216:3cff:fe1f::52 :::*                    7           297500/vpnserver

 , , ,

Kisliy
()

Как перехватить сетевой пакет и послать его повторно?

Форум — General

Тестирую надёжность Single Packet Authorization. Меня смущает, что сервер никак не участвует в формировании пакета. В этом есть свои плюсы, но есть и минусы. Хочу проверить свои опасения.

Чем можно перехватить udp пакет и в точности сохранить его, чтобы затем повторить его отправку?

И чем его отправить повторно?

 

newbie24
()

ПОЧАЛОСЬ!!11

Форум — Talks

На Федеральном портал проектов нормативных правовых актов зарегистрирован проект № 149457

Проект представляет из себя приказ

«О внесении изменения в Критерии оценки материалов и (или) информации, необходимых для принятия Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций решений, являющихся основаниями для включения доменных имен и (или) указателей страниц сайтов в информационно-телекоммуникационной сети «Интернет», .., содержащие информацию, распространение которой в Российской Федерации запрещено»

Из двух пунктов:

Подпункт 5 пункта 5 Критериев оценки материалов и (или) информации, необходимых для принятия Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций решений, являющихся основаниями для включения доменных имен … изложить в следующей редакции:

  1. в отношении научной, научно-технической и статистической информации о способах, методах обмена информацией в информационно-телекоммуникационных сетях, в том числе в сети «Интернет», при обеспечении доступа к информационным ресурсам и (или) информационно-телекоммуникационным сетям с применением защищенных каналов связи.

Настоящий приказ вступает в силу с 1 марта 2025 г. и действует ‎до 1 сентября 2029 г.

Напомним, что Пункт 5-ый это «Настоящие Критерии не применяются:» - т.е. это перечень исключений из перечная критериев, которые применяются для занесения источника информации в реестр.

В текущей редакции, этот 5-ый подпункт 5-ого пункта звучит так:

  1. в отношении научной, научно-технической и статистической информации о способах, методах обеспечения доступа к информационным ресурсам и (или) информационно-телекоммуникационным сетям, доступ к которым ограничен на территории Российской Федерации.

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

Информация об обходе блокировок явно внесена в перечень критериев блокировки в самих "Правилах " [1]

  • информации о способах, методах обеспечения доступа к информационным ресурсам и (или) информационно-телекоммуникационным сетям, доступ к которым ограничен на территории Российской Федерации;

[1]

"Правила создания, формирования и ведения единой автоматизированной информационной системы «Единый реестр доменных имен, указателей страниц сайтов в информационно-телекоммуникационной сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в информационно-телекоммуникационной сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено», утверждены постановлением Правительства РФ от 26 октября 2012 г. N 1101.

 

LamerOk
()

На чём было написано ПО Луны-25?

Форум — Development

Вопросец.

На самом деле это не вброс был, мне реально было интересно, и я получил ответ. Спасибо, Лор и конкретно @fluorite

Ссылка на ответ

 

den73
()

Помогите настроить прозрачный прокси на базе 3proxy

Форум — Admin

Есть классический Linux-шлюз с двумя интерфейсами.

Летят два крокодила один смотрит в интернет (eth0), другой в локалку(eth1) 192.168.1.1

Раздача интернетов реализована через NAT, но есть клиенты типа телевизора, куда прокси не пропишешь, а хотелось бы их кое в чем ограничить.

Отключил в iptables для одного клиента NAT и поднял обычный прокси на базе 3proxy и если прописать его в настройках, то все работает как задумано. А вот с прозрачностью выходит косяк, точнее ничего не выходит.

  1. Первое чего я пытаюсь понять, утилиты tcppm (из мешка 3proxy), rinetd и правила в iptables в таблице nat в цепочке PREROUTING делают одно и тоже? Т.е. перенаправляют с порта такого-то на порт такой-то? В этом и заключается прозрачность?

  2. Я отключаю NAT для клиента, перенаправляю 80 и 443 192.168.1.1 на 192.168.1.1:3128, но ничего не работает. Чтобы исключить DNS я проверяю пару сайтов по ip-шнику, но результат аналогичный. При этом netstat’ом видно, что утилита (например tcppm) порты эти (80 и 443) слушает.

  3. В 3proxy есть директивы transparent и notransparent, я пробовал делать аналогично конфигу в примере, но все так же ничего не работает. Куда копать, а?

 , , ,

yaba
()

Bash выражения как значение переменной в скриптах

Форум — General

Не знаю как сформулировать вопрос, иначе бы наверное нагуглил.

В общем есть переменная:

DATE=$(date -d '1 hour ago' +%d/%b/%Y-%H:%m:%S)

А мне надо допустим из переменной $DATE выделить год, с помощью | cut -c 11-14 и записать уже это в другую переменную, допустим $YEAR, как это сделать?

Обе переменные используются в разных местах скрипта.

 

yaba
()

слушать музычку без проводов вдвоем

Форум — Talks

Всех приветствую.

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

Есть ноут с линуксом. Готов туда впердолить если нужен отдельный bt-донгл. Или пару если надо. Нужно готовый рецепт, чтобы подключить два комплекта бт-наушников.

 , , , ,

yax123
()

Архивирование выделенных файлов в MC

Форум — General

Пробую через F2 архивировать выделенные файлы через Insert. Для этого в пользовательском конфиге menu прописал:

= t d   
9       Архивирование выделенных файлов (tar)
        tar -cf "ARCHIVE.tar" "%s" 

Но консоль выдает следующую ошибку:

tar: 1.txt 2.txt : Функция stat завершилась с ошибкой: Нет такого файла или каталога
tar: Завершение работы с состоянием неисправности из-за возникших ошибок

При этом, если не выделять файлы через Insert, а запустить F2, 9 то архивируется текущей файл на котором находится курсор.

В чем моя ошибка? Мне кажется дело либо в = t d (не нашел описания что это такое), либо в переменной %s.

 

Gnom7
()

IPTABLES нужна помощь

Форум — Admin

Есть сервер, хочу реализовать на нем проксмокс с виртуалками. Но и хочу ограничить доступ на него. Настраиваю IPTABLES делаю порт кнокинг по пингу и добавляю айпишник в разрешенный лист на 2 минуты потом правило INPUT - ESTABLISHED,RELATED и правило доступа к порту 8006 для управления веб мордой Проксмокса с адресами разрешенными из списка порткнокинга. Пока адрес висит в этом списке то все работает но через 2 минуты перестает работать. почему не работает правило ESTABLISHED,RELATED? Где ошибка ткните носом пожалуйста. Вот конфиг.


#!/bin/bash
# Объявление переменных
export IPT="iptables"

# Активный сетевой интерфейс
export WAN=vmbr0

# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Установим политики по умолчанию для трафика, не соответствующего ни одному из правил
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP


#Запрет любого трафика по ipv6
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP

# разрешаем локальный траффик для loopback
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

#Port Knockung

$IPT -A INPUT -p icmp --icmp-type echo-request -m length --length 65 -j SET --add-set knock_step_1 src
$IPT -A INPUT -p icmp --icmp-type echo-request -m length --length 854 -m set --match-set knock_step_1 src -j SET --add-set knock_step_2 src
$IPT -A INPUT -p icmp --icmp-type echo-request -m length --length 254 -m set --match-set knock_step_2 src -j SET --add-set knock_allow src --exist

# разрешаем пинги
$IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT


# Разрешаем исходящие соединения самого сервера
$IPT -A OUTPUT -o $WAN -j ACCEPT

# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы
# и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный
# обмен данными становится не возможным, обрубаем
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

#Защита от SYN-flood:

$IPT -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
$IPT -A INPUT -p tcp --syn -j DROP

#Защита от сканеров портов:

$IPT -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
$IPT -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP

#Защита от Ping of death:

$IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j DROP



# Открываем порт для Proxmox 
$IPT -A INPUT -i $WAN -p tcp --dport 8006 -m set --match-set knock_allow src -j ACCEPT
# Открываем порт для DNS
$IPT -A INPUT -i $WAN -p udp --dport 53 -j ACCEPT
# Открываем порт для NTP
$IPT -A INPUT -i $WAN -p udp --dport 123 -j ACCEPT

# Записываем правила в файл
/sbin/iptables-save > /etc/iptables_rules

 

Wild_Tigra
()

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

Форум — Admin

Коллеги, есть ли сейчас вменяемый работающий способ подать из скрипта в эмуляторе терминала звуковой сигнал (об окончании, например)? Я посмотрел поиск, но что-то у меня ничего не отработало.

 ,

targitaj
()

Чем отличаются серверный SATA HDD от того что для обычных компьютеров.

Форум — Linux-hardware

Здравствуйте уважаемые. Подумываю о приобретении объемного HDD для длительного хранения информации и при анализе предложений на рынке столкнулся с неким для меня парадоксом. Серверный SATA HDD на 12Тб WD Ultrastar DC HC520 стоит дешевле чем другие модели того же производителя и того же объема но уже для обычного ПК (WD Red Plus [WD120EFBX]12 ТБ и WD Purple Pro [WD121EJRP] 12 ТБ). Почему так и чем же они отличаются? Объясните пожалуйста.

 ,

zzplex
()

Посоветуйте симулятор сети

Форум — General

Нужен для самостоятельного обучения сетям и предварительному тестированию схем перед внедрением в рамках локалхоста.

Чтобы работал под линуксом, разумеется. Желательно FOSS и бесплатный. В гугле нашел штук 10, какой выбрать, не знаю. Что я хотел бы в симуляторе: ручные маршруты, впны, в т. ч. wireguard, failover, пробросы порта, dnat, snat, vlan, сохранение схемы для изменений в будущем, шаблоны схем, экспорт схемы в какой-нибудь распространенный формат изображений или сразу в pdf.

Как вариант - онлайн сервис со всем этим.

Есть что-то такое или много хочу?

 ,

DivNirn
()

Симулятор кота

Форум — Talks

Вроде не было еще. КДПВ

Нужно управлять котом и скидывать вещи на пол. Есть под онтопик и нахаляву (правда у меня почему-то шрифт не видно).

Тыц

 , , ,

xorik
()

CGI в lighttpd на Bash - принятие аргументов URI

Форум — Web-development

В .lighttpd.conf имею

cgi.assign += ( ".sh" => "/bin/bash" )

Скрипт успешно запускается через веб-сервер.

Подставляет ли сервер значения каких-либо аргументов из URI в качестве аргументов командной строки – $@ ($1 и далее)?

Видел примеры с ?var1=x&var2=y, но их в $1, $2 не оказывается.

 , ,

eugrus
()

bash -c ' echo {}"

Форум — Admin

Добрый вечер! Имеется файл и именем ~@#$%^-_(){}’`.mp4 Хочу вывести путь к этому файлу через команду:

find ./ -name "~@#$%^-_(){}\'\`.mp4" -exec bash -c 'FILE=$(echo {} ) ' \;

И получаю ошибку:

bash: -c: line 0: unexpected EOF while looking for matching `''
bash: -c: line 1: syntax error: unexpected end of file

Я понимаю, что можно и без bash -c вывести и будет порядок, но мне нужно писать скрипт с буфером обмена используя | и т.д. Как экранировать эти символы " ’ и ` " в echo или printf или может быть ещё чём-то я не знаю

 ,

SaintAnd
()

fnf 1.1 (теперь 0.1) — форк консольной утилиты нечёткого поиска fzy

Новости — Open Source
fnf 1.1 (теперь 0.1) — форк консольной утилиты нечёткого поиска fzy
Группа Open Source

Leo Abramovich (автор консольного менеджера файлов clifm) после годового игнорирования его PR #170, существенно улучшающего возможности fzy, принял решение создать форк – fnf (fnf’s not fzy).

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

Дополнение: 6 июня автор исправил номер версии проекта на 0.1.

>>> Подробности

 , , , ,

dataman
()

Вход по SSH без пароля по ключу на множество хостов

Форум — Admin

Здравствуйте, Хотел бы с вами посоветоваться. Имеется 20-30 одинаковых учебных ПК, Linux Centos 8. В учебных целях необходимо, чтобы ученики могли логиниться друг к другу под разными пользователями, по ключам и без пароля. То есть нужно обменяться ключами на всех ПК. В принципе задача автоматизируется, я же пошел более простым путем: так как сеть без выхода в Интернет, а строго под одну задачу (тесты и лабы + спецПО), то я сгенерировал криптопару и везде ее и раскидал в каталоги .ssh /home пользователей. Хосты же добавил в authorized_keys и known_hosts. Подскажите, а есть может быть более правильный способ это же сделать? В конечном итоге нужно, чтобы любой пользователь мог зайти на любой хост без пароля по SSH. Сейчас все работает, но может быть я чего-то не учел? Просто пользователи часто уходят и приходят, а каждому нужно закидывать в хомяк открытый и закрытый ключ, чтобы не прерывался доступ. Ну и тут я решил вопрос через подкаталог ./skel, может быть что-то есть попроще?

Спасибо.

 , ,

netvis
()