Почему в state присутствует только unconn
Перейти к содержимому

Почему в state присутствует только unconn

Сетевое администрирование¶

Хочу обезопасить свой Интернет-трафик. Какую реализацию VPN выбрать?¶

WireGuard¶

WireGuard – самый современный и актуальный протокол для VPN. Обеспечивает максимальную скорость работы за счёт реализации в виде модуля ядра Linux и надёжную криптографическую защиту от прослушивания.

OpenVPN¶

OpenVPN – cамая популярная и стабильная в настоящее время реализация VPN. Способен работать как через UDP, так и TCP, имеет плагины маскировки под TLS, обеспечивает высокую защищённость, но имеет низкую производительность из-за постоянных переключений между режимами пользователя и ядра.

L2TP/IPSec¶

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

PPTP¶

Устаревший, уязвимый by design протокол. Трафик, проходящий через сеть, использующую данный протокол, может быть легко расшифрован за несколько часов. Категорически не рекомендуется к применению даже на устаревшем оборудовании.

При использовании SSH появляется ошибка доступа к ключам. Как исправить?¶

При установке VPN-соединения по протоколу PPTP появляется ошибка. Как исправить?¶

Если продключение к VPN по протоколу PPTP не проходит из-за ошибки, включим поддержку GRE в настройках межсетевого экрана .

Для этого выполним следующее:

sudo firewall-cmd --permanent --add-protocol=gre sudo firewall-cmd --reload

Изменения вступят в силу немедленно.

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

Как пробросить локальный порт на удалённый хост?¶

Как поднять OpenVPN сервер в Fedora?¶

См. здесь. В данной статье вместо ovn следует использовать openvpn во всех путях и именах юнитов.

Как поднять WireGuard сервер в Fedora?¶

Как поднять свой сервер Matrix в Fedora?¶

Как запустить простейший веб-сервер в Fedora?¶

Для запуска простейшего веб-сервера можно использовать Python и модуль, входящий в состав базового пакета:

python3 -m http.server 8080

Веб-сервер будет запущен на порту 8080. В качестве webroot будет использоваться текущий рабочий каталог.

Как лучше настраивать сетевые подключения?¶

В Fedora для настройки сети используется Network Manager. Для работы с ним доступны как графические менеджеры (встроены в каждую DE), так и консольный nm-cli.

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

Как сделать замеры скорости локальной или беспроводной сети?¶

Для точных замеров производительности сети нам потребуется как минимум два компьютера (либо компьютер и мобильное устройство), а также утилита iperf3, присутствующая в репозиториях Fedora. Установим её:

sudo dnf install iperf3

На первом устройстве запустим сервер:

iperf3 -s

По умолчанию iperf прослушивает порт 5001/tcp на всех доступных сетевых соединениях.

Теперь временно разрешим входящие соединения на данный порт посредством Firewalld (правило будет действовать до перезагрузки):

sudo firewall-cmd --add-port=5001/tcp

На втором устройстве запустим клиент и подключимся к серверу:

iperf3 -c 192.168.1.2

В качестве клиента может выступать и мобильное устройство на базе ОС Android с установленным Network Tools. В этом случае в главном меню программы следует выбрать пункт Iperf3, а в окне подключения ввести:

-c 192.168.1.2

Параметр -c обязателен. Если он не указан, программа выдаст ошибку.

192.168.1.2 – это внутренний IP-адрес устройства в ЛВС, на котором запущен сервер. Номер порта указывать не требуется.

Как передать содержимое каталога на удалённый сервер?¶

Передача содержимого локального каталога на удалённый сервер посредством rsync:

rsync -chavzP --delete --stats /path/to/local user@example.org:/path/to/remote

Здесь user@example.org – данные для подключения к серверу, т.е. имя пользователя на удалённом сервере и хост.

Как получить содержимое каталога с удалённого сервера?¶

Получение содержимого каталога с удалённого сервера посредством rsync:

rsync -chavzP --delete --stats user@example.org:/path/to/remote /path/to/local

Здесь user@example.org – данные для подключения к серверу, т.е. имя пользователя на удалённом сервере и хост.

Как правильно указать DNS серверы в Fedora?¶

Для того, чтобы указать другие DNS серверы, необходимо использовать Network Manager (графический или консольный): свойства соединения -> страница IPv4 -> другие DNS серверы.

Можно ли править файл /etc/resolv.conf в Fedora?¶

Нет, т.к. этот файл целиком управляется Network Manager и перезаписывается при каждом изменении статуса подключения (активация-деактивация соединений, перезапуск сервиса и т.д.).

Если необходимо указать другие DNS серверы, это следует производить через свойства соответствующего соединения.

Как можно средствами Firewalld запретить ICMP?¶

По умолчанию ICMP трафик разрешён для большей части зон, поэтому запретить его можно вручную:

sudo firewall-cmd --zone=public --add-icmp-block= --permanent

Применим новые правила:

sudo firewall-cmd --reload

В данном примере для зоны public блокируются как входящие, так и исходящие ICMP ECHO и ICMP TIMESTAMP.

Как средствами Firewalld разрешить подключение к OpenVPN серверу только с разрешённых IP адресов?¶

Сначала отключим правило по умолчанию для OpenVPN , разрешающее доступ к серверу с любых IP адресов:

sudo firewall-cmd --zone=public --remove-service openvpn --permanent

Теперь создадим rich rule, разрешающее доступ с указанных IP-адресов (или подсетей):

sudo firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address="1.2.3.4" service name="openvpn" accept' --permanent sudo firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address="5.6.7.0/24" service name="openvpn" accept' --permanent

Применим новые правила:

sudo firewall-cmd --reload

Здесь public – имя зоны для публичного интерфейса, 1.2.3.4 – IP-адрес, а 5.6.7.0/24 – подсеть, доступ для адресов из которой следует разрешить.

Как средствами Firewalld разрешить подключение к WireGuard серверу только с разрешённых IP адресов?¶

Сначала отключим правило по умолчанию для WireGuard , разрешающее доступ к серверу с любых IP адресов:

sudo firewall-cmd --zone=public --remove-port=27015/udp --permanent

Теперь создадим rich rule, разрешающее доступ с указанных IP-адресов (или подсетей):

sudo firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address="1.2.3.4" port port=27015 protocol=udp accept' --permanent sudo firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address="5.6.7.0/24" port port=27015 protocol=udp accept' --permanent

Применим новые правила:

sudo firewall-cmd --reload

Здесь 27015 – порт сервера WireGuard, public – имя зоны для публичного интерфейса, 1.2.3.4 – IP-адрес, а 5.6.7.0/24 – подсеть, доступ для адресов из которой следует разрешить.

Как узнать внешний IP адрес за NAT провайдера?¶

Для этой цели можно использовать внешний сервис, возвращающий только внешний IP и утилиту curl:

curl https://ifconfig.me

Как средствами Firewalld разрешить подключение к веб-серверу только с IP адресов CloudFlare?¶

При использовании CloudFlare в качестве системы защиты от DDoS атак, а также WAF, возникает необходимость разрешать входящие подключения исключительно с IP адресов данного сервиса.

Сначала отключим правило по умолчанию для веб-сервера, разрешающее доступ с любых IP адресов:

sudo firewall-cmd --zone=public --remove-service http --permanent sudo firewall-cmd --zone=public --remove-service https --permanent

Напишем небольшой скрипт foo-bar.sh , который получит актуальные пулы IP-адресов и создаст rich rule, разрешающие доступ лишь с подсетей CloudFlare (IPv4, IPv6):

#!/bin/bash set -ef API=https://www.cloudflare.com/ips-v ZONE=public function fw_add  local IFS=$'\n' local lines=($(curl -sS $API$1)) for i in "$lines[@]>" do firewall-cmd --zone=$ZONE --add-rich-rule="rule family=ipv$1 source address=\"$i\" service name=\"http\" accept" --permanent firewall-cmd --zone=$ZONE --add-rich-rule="rule family=ipv$1 source address=\"$i\" service name=\"https\" accept" --permanent done > fw_add 4 fw_add 6 

Запустим наш скрипт:

sudo ./foo-bar.sh

Применим новые правила файрвола:

sudo firewall-cmd --reload

Здесь public – имя зоны для публичного сетевого интерфейса.

Как пробросить IP адреса клиентов за CloudFlare?¶

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

Для проверки работоспособности сети и наличия, либо отсутствия потерь пакетов между узлами маршрута, широко используется утилита mtr:

sudo dnf install mtr

Запустим проверку маршрута до узла example.org:

mtr example.org

Приостановить работу можно нажатием клавиши P, для возобновить – пробел, а для выхода – Q.

Как получить список установленных сетевых соединений?¶

Воспользуемся утилитой ss для вывода списка установленных сетевых соединений:

ss -tupn

Как получить список открытых портов?¶

Воспользуемся утилитой ss для вывода открытых портов, ожидающих входящих соединений:

ss -tulpn

Статус LISTEN означает, что TCP-порт открыт и ожидает входящих соединений. В то же время для UDP-портов будет отображаться статус UNCONN, т.к. этот протокол не подразумевает предварительное открытие подключений.

Почему при подключении к сети имя хоста машины изменяется?¶

DHCP сервер провайдера способен выдавать помимо IP-адресов и DNS-серверов ещё и нестандартное имя хоста. Полученное таким способом значение называется transient hostname. Оно будет применимо с компьютеру с момента установки соединения и до отключения от соответствующей сети.

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

Как запретить использование полученного от провайдера имени хоста?¶

Для того, чтобы запретить использование полученного от DHCP сервера transient hostname , установим статическое имя хоста .

Как переключить Network Manager на использование systemd-resolved?¶

Начиная с Fedora 30, в комплект базовой системы входит systemd-resolved, который занимается преобразованием имён DNS в IP-адреса, имеет встроенный DNS-кэш и активирован по умолчанию.

В то же время, Network Manager с настройками по умолчанию использует собственный виртуальный файл конфигурации resolv.conf , игнорирующий присутствие systemd-resolved.

Для исправления этой ситуации, убедимся, что systemd-neworkd запущен и функционирует:

sudo systemctl enable --now systemd-resolved.service

Создадим в каталоге /etc/NetworkManager/conf.d файл 99-resolved.conf следующего содержания:

[main] dns=systemd-resolved 

Убедимся, что файл /etc/resolv.conf является символической ссылкой на /run/NetworkManager/resolv.conf :

file /etc/resolv.conf

Если по какой-то причине это не так, то внесём соответствующие правки:

sudo rm -f /etc/resolv.conf sudo ln -sf /run/NetworkManager/resolv.conf /etc/resolv.conf

Перезапустим затронутые сервисы:

sudo systemctl restart NetworkManager.service sudo systemctl restart systemd-resolved.service

Проверим, что в качестве основного сервера DNS применяется виртуальная заглушка:

cat /etc/resolv.conf

Если в выводе присутствует строка nameserver 127.0.0.53 , значит всё настроено верно.

Как проверить статус работы systemd-resolved?¶

Выведем статус systemd-resolved, включающий список используемых DNS серверов и общие параметры конфигурации:

resolvectl status

Выведем статистические данные об использовании systemd-resolved (состояние кэша, количество запросов и т.д.):

resolvectl statistics

Как сделать systemd-resolved основным резолвером?¶

Важно: Начиная с Fedora 33, systemd-resolved уже используется в качестве основного системного DNS-резолвера.

Удалим существующую символическую ссылку, указывающую на Network Manager:

sudo rm -f /etc/resolv.conf

Установим systemd-resolved основным резолвером:

sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

Изменения вступят в силу немедленно.

Как отключить systemd-resolved и вернуться к прежней реализации?¶

Удалим существующую символическую ссылку, указывающую на systemd-resolved :

sudo rm -f /etc/resolv.conf

Установим Network Manager основным генератором файла /etc/resolv.conf :

sudo ln -sf /run/NetworkManager/resolv.conf /etc/resolv.conf

Остановим и заблокируем сервис:

sudo systemctl disable --now systemd-resolved.service sudo systemctl mask systemd-resolved.service

Изменения вступят в силу немедленно.

Можно ли зашифровать DNS при помощи TLS?¶

Да, systemd-resolved, входящий в поставку системы начиная с Fedora 30, полностью поддерживает технологию DNS-over-TLS, позволяющую зашифровать весь DNS трафик устройства.

Настроим систему на использование systemd-resolved либо совместно с Network Manager , либо в монопольном режиме , затем откроем файл конфигурации /etc/systemd/resolved.conf :

sudoedit /etc/systemd/resolved.conf

Внесём следующие правки:

[Resolve] DNS=1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 #Domains= #LLMNR=yes MulticastDNS=yes DNSSEC=allow-downgrade DNSOverTLS=opportunistic Cache=yes DNSStubListener=yes ReadEtcHosts=yes 

Здесь используются серверы CloudFlare с поддержкой DNS-over-TLS.

Сохраним изменения в файле и перезапустим systemd-resolved:

sudo systemctl restart systemd-resolved.service

Теперь в информации об используемых DNS должна отображаться информация об использовании этой технологии.

Как очистить кэши systemd-resolved?¶

Очистим кэш systemd-resolved:

resolvectl flush-caches

Где расположены файлы конфигурации доступных сервисов Firewalld?¶

Предустановленные файлы конфигурации служб Firewalld находятся в каталоге /usr/lib/firewalld/services .

Настоятельно не рекомендуется что-либо изменять в нём ибо при следующем обновлении пакета все изменения будут потеряны. Вместо этого следует создать пользовательское переопределение .

Как переопределить предустановленный сервис в Firewalld?¶

Пользовательские переопределения должны храниться в каталоге /etc/firewalld/services .

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

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml

Откроем скопированный файл в текстовом редакторе:

sudoedit /etc/firewalld/services/ssh.xml

Внесём правки, добавив возможность использования порта 2222/tcp:

   SSH Secure Shell (SSH) is a protocol.  protocol="tcp" port="22"/>  protocol="tcp" port="2222"/>  

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

sudo firewall-cmd --reload

Как правильно импортировать подключение из OVPN файла?¶

Воспользуемся консольной утилитой nmcli для быстрого импортирования подключения из OVPN файла:

nmcli connection import file /path/to/foo-bar.ovpn type openvpn

Здесь /path/to/foo-bar.ovpn – путь к OVPN файлу на диске.

Встроенные сертификаты и ключи будут автоматически импортированы и сохранены в каталоге ~/.cert/nm-openvpn , что не вызовет проблем с SELinux .

Как проверить открыт ли порт на удалённом сервере?¶

Воспользуемся утилитой nc для непосредственного осуществления проверки без полного сканирования портов.

Проверим доступность сервиса на IP 1.2.3.4 с номером порта 443/tcp:

nc -z -v 1.2.3.4 443

Проверим доступность сервиса на IP 1.2.3.4 с номером порта 27015/udp:

nc -z -v -u 1.2.3.4 27015

Как открыть доступ к локальной сети через WireGuard?¶

Для того, чтобы через VPN была также доступна локальная сеть, внесём ряд изменений в файлы конфигурации сервера и клиента WireGuard .

Отредактируем файл /etc/wireguard/wg0.conf сервера:

sudoedit /etc/wireguard/wg0.conf

В директиве AllowedIPs через запятую добавим адрес локальной подсети клиента, например 192.168.1.0/24:

[Peer] PublicKey = CLIENT_PUBLIC_KEY AllowedIPs = 10.9.0.2/32, 192.168.1.0/24

Перезапустим сервис WireGuard на сервере:

sudo systemctl restart wg-quick@wg0.service

На клиенте, к локальной сети которого требуется получить доступ, разрешим перенаправление трафика и включим маскарадинг в Firewalld :

sudo sysctl -w net.ipv4.conf.all.forwarding=1 sudo sysctl -w net.ipv6.conf.all.forwarding=1 sudo firewall-cmd --zone=public --add-masquerade sudo firewall-cmd --zone public --add-forward

Отредактируем файл конфигурации данного клиента, дописав в AllowedIPs подсеть через запятую (однако если там уже указано 0.0.0.0/0, то ничего более делать не требуется).

Проверим доступность компьютеров из локальной сети со стороны других клиентов WireGuard:

ping 192.168.1.2

Здесь вместо 192.168.1.2 укажем реально существующий адрес в локальной сети.

Если всё работает корректно, сделаем изменения на клиенте с LAN постоянными:

sudo bash -c "echo -e \"net.ipv4.conf.all.forwarding=1\nnet.ipv6.conf.all.forwarding=1\" > /etc/sysctl.d/99-wireguard.conf" sudo firewall-cmd --zone=public --add-masquerade --permanent sudo firewall-cmd --permanent --zone public --add-forward

Перезагрузим настройки Firewalld:

sudo firewall-cmd --reload

В chroot окружении не работает DNS. Как исправить?¶

Из-за использования systemd-resolved в chroot-окружениях Fedora не работает преобразование имён DNS, т.е. фактически отсутствует доступ к Интернету.

Для решения этой проблемы настроим классическую временную конфигурацию:

mv /etc/resolv.conf /etc/resolv.conf.orig echo "nameserver 8.8.8.8" > /etc/resolv.conf chown root:root /etc/resolv.conf chmod 0644 /etc/resolv.conf

С этого момента DNS начнёт работать корректно.

По окончании работы обязательно восстановим предыдущие настройки:

rm -f /etc/resolv.conf mv /etc/resolv.conf.orig /etc/resolv.conf

Как установить и запустить собственный DNS-сервер?¶

Почему система обращается к fedoraproject.org каждые 5 минут?¶

С настройками по умолчанию, предустановленными пакетом NetworkManager-config-connectivity-fedora, NetworkManager проверяет доступность Интернета по таймеру каждые 5 минут посредством обращения к файлу hotspot.txt по протоколу HTTP и анализируя ответ сервера.

Подключение считается полнофункциональным после получения строки OK. При любом другом ответе – ограниченным.

С целью сохранения приватности возможно отключить это поведение .

Как отключить автоматические запросы с целью проверки соединения?¶

Для отключения автоматических запросов к домену fedoraproject.org, удалим пакет NetworkManager-config-connectivity-fedora:

sudo dnf remove NetworkManager-config-connectivity-fedora
sudo systemctl restart NetworkManager.service

Почему в state присутствует только unconn

«Что нужно настроить в Ubuntu для безопасности после установки?»

Вариант для распечатки
Пред. тема | След. тема
Форум Сеть / Linux)
Изначальное сообщение [ Отслеживать ]

Здравствуйте. Поставил на компьютер Lubuntu 18.04. К интернету подключается через PPPoE (роутера у меня нет, т.к. единственный компьютер + на телефоне интернетом практически не пользуюсь, потому не нужен). Вопрос. Что нужно настроить для безопасности после установки (и нужно ли)? Никаких фтп и прочих серверов не устанавливал. Использую в основном офисные приложения, браузер, почтовый клиент, аудио и видео плееры.

Оглавление

  • Если быть очень кратким Настроить автообновление Уязвимость может быть в любой , And (??), 22:26 , 25-Мрт-21, (1) +1
    • sudo netstat -antpu 124 grep LISTEN code tcp 0 0 127 0 0 53 53 , Аноним (6), 09:37 , 28-Мрт-21, (6)
      • Уязвимость может быть другая Но ход мысли верный Из браузера с веб страницы мож, And (??), 21:20 , 01-Апр-21, (11)
      • Зачем под рутом Под учёткой, у которой есть sudo, And (??), 21:20 , 01-Апр-21, (12)
      • Пункт второй в советах есть Шифрование Не совсем оно шифрование всего Но bo, And (??), 21:24 , 01-Апр-21, (13)
        • й системы Имеют смысл , And (??), 21:25 , 01-Апр-21, (14)
          • Itegrity при доступе это системные настройки Делаются руками во время установки, Аноним (22), 11:31 , 08-Апр-21, ( 22 )
          • Посмотрите про ключ -K у sudo sudo помнит кеширует данное разрешение на некоторо, And (??), 13:42 , 02-Апр-21, (18)
            • здесь надо сделать оговорку, что любое sudo в контексте того терминала и даже к, Аноним (19), 16:02 , 02-Апр-21, (19)
              • Да, например После правки какой-то системной информации, переключиться на друго, And (??), 18:01 , 02-Апр-21, (20)
              • Только важно не впадать в крайность, не попасть в зависимость от сроков поддержк, And (??), 10:10 , 27-Мрт-21, (5)
              • В данном случае угроза находится между клавиатурой и стулом , муу (?), 22:31 , 26-Мрт-21, (4)
              • Термин модель угроз придумали маркетологи, чтобы впаривать лохам не сертифицир, Аноним (10), 13:42 , 29-Мрт-21, (9)
                • Нормальный термин Надо понимать, к чему есть смысл готовиться, а к чему нет, чт, Аноним (15), 22:43 , 01-Апр-21, (15)
                  • ИТ безопасность честнее и правильнее характеризовать прейскурантом цен Список, Аноним (22), 11:27 , 08-Апр-21, ( 21 )
                    • Вы вообще можете без перевода темы к подсчету чужих денег Откуда эта меркантиль, Аноним (3), 21:09 , 10-Апр-21, ( 23 )

                    Если быть очень кратким:

                    Настроить автообновление. Уязвимость может быть в любой части, связана как-то с обработкой/парсингом материалов из сети. Поэтому обновление всех компонент.

                    Работать под учёткой, у которой нет sudo.

                    Вероятно, выключить Snap. Деинсталлировать snapd. Связано с возможностью приноса неизвестных зависимостей третьей стороны через Snap. Он так устроен. Спекулятивное утверждение, но этот вектор атаки существует. В 20-й версии придётся уйти на Linux Mint, если жить без Snap.

                    Пристально относиться к установкам из сети. Предпочитать репозитории операционной системы. В браузере ограничивать скрипты, использовать adblockers, из числа доверенных.

                    Настроить: sudo ufw enable

                    В случае установки серверных сервисов читать про защиту каждого сервиса. Т.к. роутера нет, то фаервол отсутствует, а комьютер подключён прямо в интернет.

                    Посмотреть

                    sudo netstat -antpu | grep LISTEN

                    Проанализировать. Ненужное выкинуть. Нужное защитить.

                    $ sudo netstat -antpu | grep LISTEN

                    tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 995/systemd-resolve
                    tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1021/cupsd
                    tcp6 0 0 ::1:631 . * LISTEN 1021/cupsd

                    Была тут новость про уязвимость в transmission с поочерёдной отдачей двух IP‑адресов: на первый запрос отдаётся реальный IP‑адрес сервера со страницей, а затем возвращается 127.0.0.1. Получается systemd‑resolve и cupsd тоже могут быть подвержены этой уязвимости, ну, и вообще всё, что принимает соединения, пусть даже только с локальных адресов?

                    Уязвимость может быть другая. Но ход мысли верный.

                    Из браузера с веб страницы можно было получить доступность локальных сетевых портов. Например. В последние пару лет.

                    Дальше — смотря для чего всё это настраивать. Читать, думать.

                    Эти слушают только локалхост — неплохо. Когда слушают 0.0.0.0 — гораздо хуже.

                    > Работать под учёткой, у которой нет sudo.

                    а когда требуются права суперпользователя использовать su или переключаться, например, по Ctrl+Alt+F2 и заходить под рутом?

                    Зачем под рутом. Под учёткой, у которой есть sudo

                    Почему в советах нет:

                    1. Шифрование всего если есть дуалбут.
                    2. Настройки сетевого экрана.
                    3. Настройки Integrity для системы, хотя бы по запросу: AIDE, Tripwire, .
                    4. Настройки антивирусника: обновление баз; сканирование при доступе /home, /tmp, /var/tmp; желательно расшифровывать и сканировать весь входящий трафик с интернетом.

                    Пункт второй в советах есть.

                    Шифрование. Не совсем оно шифрование всего. Но /boot можно настроить шифрованным, но это требует до установки и во время установки врупашную плотно поработать. Убунта в этом месте слаба.

                    Интегрити, антивирус — не совсем настройки само

                    й системы. Имеют смысл.

                    Itegrity при доступе это системные настройки. Делаются руками во время установки или инсталером если он умеет.

                    > Работать под учёткой, у которой нет sudo.

                    Поясните для чайника чем опасно работать под учеткой с sudo? ведь чтобы совершить действие надо все-равно ввести пароль. в чем разница между этим и тем чтобы перейти в другую учетку и там ввести пароль? Неужели админы, у которых основная работа связана с настройкой компов/серверов работают под учеткой без sudo?

                    > Поясните для чайника чем опасно работать под учеткой с sudo? ведь чтобы
                    > совершить действие надо все-равно ввести пароль. в чем разница между этим
                    > и тем чтобы перейти в другую учетку и там ввести пароль?

                    Посмотрите про ключ -K у sudo.
                    sudo помнит кеширует данное разрешение на некоторое время.

                    Можно сделать в скрипте sudo /bin/true первый раз и затем некоторое время любое sudo не попросит пароля. Дальше вопрос того что делают на этой машине или чего не делают. Например, запущенная сборка какого-либо пакета от имени рута может навести порядок в системе так, как не хотелось бы.

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

                    В соседнем постинге верно указали — сначала надо определять от чего защищаться. А так если, без конкретики, то общие неконкретные рекомендации.

                    > Неужели админы, у которых основная работа связана с настройкой компов/серверов работают
                    > под учеткой без sudo?

                    Смотря какие и на каких рабочих станциях. Шуточное прозвище «админ локалхоста» в том, что рабочих станций (компьютеров) может быть несколько, у каждой разное назначений. Зависит от работы и окружения. Разгильдяев тоже много, спасает принцип Неуловимого Джо — кому он нужен.

                    Для домашних применений можно освоить Vagrant (или попророще VirtualBox) и браузер в докере от имени ограниченной учётки. Это позволяет избегать запуска напрямую, изолировать какие-то одноразовые эксперименты или ненужный софт/сайты. Запускать пинесённое снаружи внутри изоляции.

                    > Можно сделать в скрипте sudo /bin/true первый раз и затем некоторое время любое sudo не попросит пароля.

                    здесь надо сделать оговорку, что любое sudo в контексте того терминала (и даже конкретной вкладки терминала), в котором был запущен этот скрипт, но в чём проблема-то? В том, что я могу, например, выполнить «sudo apt-get update» и тут же в этом же терминале случайно или намеренно запустить некий скрипт или программу, которые смогут выполнить что-нибудь с повышенными привилегиями?

                    Да, например. После правки какой-то системной информации, переключиться на другое и запустить совсем др. вещь, но в контексте с sudo доступным без пароля. Изредка встречаются нестандартные, непрофессиональные подходы в скриптах. Редко бывает, но это возможный вектор. Трудно предсказать мысли, реализованные в пакетах из Pip от модностриженного слишком молодого питониста-бигдатиста с свежевыжатым соком. А там бывает и компиляция кода — т.е. что угодно может оказаться.

                    в выводе «sudo ss -tunap» постоянно присутствует эта запись:

                    Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
                    udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:* users:((«dhclient»,pid=8365,fd=6))

                    требуются ли ограничения в фаерволе для dhclient (клиент используется)?

                    Нужно держать свою систему постоянно обновлённой и в самом актуальном состоянии (Lubuntu 20.10).

                    > Нужно держать свою систему постоянно обновлённой и в самом актуальном состоянии (Lubuntu
                    > 20.10).

                    Только важно не впадать в крайность, не попасть в зависимость от сроков поддержки и экспериментальных фич. 20.10 — релиз с коротким сроком поддержки, в таких внедряют новое. А вот 20.04 — LTS — Long Term Support — долгая поддержка. Для не айтишника LTS удобнее.

                    Без формулирования модели угроз слово «безопасность» не имеет смысла.

                    > Без формулирования модели угроз слово «безопасность» не имеет смысла.

                    В данном случае угроза находится между клавиатурой и стулом )

                    > Без формулирования модели угроз слово «безопасность» не имеет смысла.

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

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

                    > чтобы не тратить время и ресурсы впустую.

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

                    Вы вообще можете без перевода темы к подсчету чужих денег? Откуда эта меркантильность? Отчаянная, унизительная нищета постоянно давит на мозг?

                    Термин имеет смысл даже если вы всё сами делаете для себя и никаких денег не платите.

                    У вас есть ограниченный ресурс — ваше время.
                    Нужно выстроить приоритеты, то есть понять, где скорее всего будут ломать и прикрывать прежде всего это. В силу сложности систем вы не можете сделать систему полностью неуязвимой (не факт, что это возможно даже за бесконечное время).

                    Вот эта система приоритетов — это и есть модель угроз.

                    Почему в state присутствует только unconn

                    Установка Active Directory на Samba4

                    Новые веяния в стране: организовать импортозамещение в сфере IT. Бредовая идея, но выполнять надо. Первое, что требуется сделать в существующей, развернутой и нормально функционирующей сетевой среде, основанной на доменной структуре Microsoft Windows — выбрать аналог Active Directory из свободного ПО. Ситуация осложняется тем, что выбор ограничен только сертифицированным ПО. А выбор не то что не богат, а попросту его почти нет. Из всех сборок Linux на сегодняшний день допущены только три: AltLinux, Rosa и AstraLinux. Из всех этих сборок я свой выбор остановил на Rosa Cobalt, т.к. это все же практически RedHat. Ну и замена самой Active Directory. А т.к. процесс перехода обещает быть долгим, и в сети еще долгое время будут жить ПК с Windows, то требуются групповые политики. Из всех аналогов (вернее ПО, поддерживающего LDAP) выбор только один — Samba (начиная с версии 4).

                    В данной статье описывается процесс создание домена Active Directory на Linux с использованием Samba 4.

                      1. Устанавливаем ОС (Rosa, CentOS, RedHat — не важно) в режиме минимальной установки). Процесс описывать не буду, т.к. он тривиально прост.
                      2. После успешной установки и загрузки в первую очередь подключаем репозитарии и обновляем систему. В CentOS:

                      yum install epel-release -y

                      В Rosa Cobalt: Открываем файл /etc/yum.repos.d/rels.repo и меняем в четырех репозитариях enabled=0 на enabled=1 Затем стандартно проводим обновление:

                      yum upgrade
                      setenforce 0
                      net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1

                      Перезапускаем сеть

                      systemctl restart network

                      Меняем в файле /etc/ssh/sshd_config строку «AddressFamily any» на «AddressFamily inet»

                      systemctl restart sshd
                      xxx.yyy.zzz.www namePC.namedomain.prefix namePC
                      yum install samba*
                      yum install perl gcc libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server libaio-devel setroubleshoot-plugins\ policycoreutils-python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel\ cyrus-sasl-devel cups-devel bind bind-utils libxslt docbook-style-xsl openldap-devel pam-devel bzip2 vim wget -y
                      wget https://download.samba.org/pub/samba/stable/samba-4.6.8.tar.gz
                      tar -zxvf samba-4.6.8.tar.gz
                      cd samba-4.6.8 ./configure --enable-debug --enable-selftest --with-ads --with-systemd --with-winbind make make install
                      listen-on < any; >комментируем строку listen-on-v6 allow-query < ваша подсеть; localhost; >forward first; forwarders < IP_внешнего_сервера_DNS; >; recursion yes;Далее запускаем сервер
                      systemctl start named

                      Если запуск прошел удачно, то включаем автостарт сервиса

                      systemctl enable named
                      export PATH=/usr/local/samba/bin:$PATH
                      samba-tool domain provision --use-rfc2307 --interactive
                      ln -sf /usr/local/samba/private/krb5.conf /etc/krb5.conf
                      systemctl restart named
                      firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add-port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \ firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanent; \ firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \ firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \ firewall-cmd --add-port=1024-5000/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent
                      [Unit] Description= Samba 4 Active Directory After=syslog.target After=network.target [Service] Type=forking PIDFile=/usr/local/samba/var/run/samba.pid ExecStart=/usr/local/samba/sbin/samba [Install] WantedBy=multi-user.target
                      systemctl enable samba systemctl start samba
                      samba-tool dns zonecreate (FQDN AD сервера) ZZZ.YYY,XXX,in-addr.arpa -Uadministrator
                      samba-tool dns add (FQDN AD сервера) ZZZ.YYY,XXX,in-addr.arpa NNN PTR (FQDN AD сервера) -Uadministrator
                      smbclient -L localhost -U%

                      Если все прошло удачно, то увидим:

                      Domain=[ИМЯ ДОМЕНА] OS=[Windows 6.1] Server=[Samba 4.6.8] Sharename Type Comment — — — — — — — — — — - netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.6.8) Domain=[ИМЯ ДОМЕНА] OS=[Windows 6.1] Server=[Samba 4.6.8] Server Comment — — — — — — — — - Workgroup Master — — — — — — — — -
                      host -t SRV _ldap._tcp.domain.local host -t SRV _kerberos._udp.domain.local host -t A dc.domain.local host -t PTR (IP адрес сервера AD)

                      Если ошибок нет, то увидим что-то подобное:

                      _ldap._tcp.ИМЯ ДОМЕНА.ПРЕФИКС has SRV record 0 100 389 FQDN сервера. _kerberos._udp.ИМЯ ДОМЕНА.ПРЕФИКС has SRV record 0 100 88 FQDN сервера. FQDN сервера has address IP сервера NNN.ZZZ.YYY.XXX.in-addr.arpa domain name pointer FQDN сервера.
                      # Global parameters [global] workgroup = DOMAIN realm = domain.local netbios name = DC server services = s3fs, rps, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate server role = active directory domain controller # если в DNS нет записей, то перенаправление на Google Public DNS dns forwarder = 8.8.8.8 # Don’t allow any updates | allow unsigned updates | only signed updates # allow dns updates = False | nonsecure | signed allow dns updates = nonsecure # команда для обновления обратной и прямой зоны nsupdate command = /bin/nsupdate -g wins support = yes [netlogon] path = /usr/local/samba/var/locks/sysvol/domain.local/scripts read only = No write ok = Yes [sysvol] path = /usr/local/samba/var/locks/sysvol read only = No write ok = Yes 

                      По умолчанию в последних версиях Linux используется сервер времени Chronicd. Этот сервер специально разработан для «изолированных» систем. Т.е. клиенты могут обновлять свое время не зависимо от того подключен сервер к вышестоящему источнику времени или нет. Но единственный и, в данном случае важный, недостаток этого сервиса в том, что он не совместим с клиентами Windows (во всяком случае мне не удалось с наскока их подружить). Исходя из этого я выбрал несколько другую схему. Устанавливается отдельный сервер времени Chronycd, имеющий выход к вышестоящему источнику времени. А на контролеры домена устанвливается давно проверенный сервер NTPD, который синхронизируется с выделенным сервером времени в локалке. Недостаток NTPd в том, чтот если он не имеет доступа к своему источнику, то он перестает отдавать время своим клиентам. А КД в интернет выпускать — это плохая идея. Поэтому и выбрана такая схема.
                      Наши действия на контроллере домена.
                      Останавливаем и запрещаем автозапуск сервера chronyd:

                      systemctl stop chronyd systemctl disable chronyd

                      Устанавливаем сервер времени NTPd (если еще не установлен):

                      yum install ntp

                      Правим файл конфигупации /etc/ntp.conf. Добавляем строки:

                      restrict -4 default kod nomodify notrap noquery mssntp restrict XXX.YYY,ZZZ.0 mask 255.255.255.0 nomodify notrap ntpsigndsocket /usr/local/samba/var/lib/ntp_signd server XXX.YYY.ZZZ.NNN iburst prefer - адрес локального сервера времени listen XXX.YYY.ZZZ.HHH - адрес интерфейса контролера домена

                      Остальное оставляем без изменений. Стартуем сервер времени:

                      systemctl start ntpd systemctl enable ntpd

                      Проверяем udp порт:

                      ss -u -a

                      Вывод должен содержать строку примерно такого вида:

                      UNCONN 0 0 XXX.YYY.ZZZ.HHH:ntp *.*

                      Если она присутствует, то сервер поднялся и готов служать запросы от клиентов. Открываем соответствующий порт в файерволе контролера домена:

                      firewall-cmd --permanent --add-port=123/udp fiewall-cmd --reload
                      [libdefaults] dns_lookup_realm = false dns_lookup_kdc = true default_realm = ИМЯДОМЕНА.ПРЕФИКС

                      Подключаем сервер в качестве резервного контролера домена:

                      samba-tool domain join имядомена.префикс DC --dns-backend=BIND9_DLZ -U"ИМЯДОМЕНА.ПРЕФИКС\administrator"

                      Удаляем файл /etc/krb5.conf
                      Создаем сиволическую ссылку на новый файл:

                      ln -sf /usr/local/samba/private/krb5.conf /etc/krb5.conf
                      yum install rsync

                      Пакета osync как правило в репозитариях нет. Скачиваем исходник. Текущую версию можно посмотреть и взять здесь: https://github.com/deajan/osync/releases
                      Распаковываем архив и устанавливаем:

                      tar xvf v1.2.tar.gz cd osync-1.2 ./install.sh

                      Установщик скопирует osync в папку /usr/local/bin и создаст первоначальный файл конфигурации /etc/osync/sync.conf.example
                      Необходимо скопировать его с именем osync.conf
                      Вносим изменения в данный файл:

                      #!/usr/bin/env bash INSTANCE_ID="sysvol_sync" INITIATOR_SYNC_DIR="/usr/local/samba/var/locks/sysvol" TARGET_SYNC_DIR="ssh://root@DC2:22//usr/local/samba/var/locks/sysvol" SSH_RSA_PRIVATE_KEY="/root/.ssh/id_rsa" CREATE_DIRS=yes REMOTE_3RD_PARTY_HOSTS="" PRESERVE_ACL=yes PRESERVE_XATTR=yes SOFT_DELETE=yes DESTINATION_MAILS cloak141d9d0a9d4949cf65cce17ee7b26aa9">Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript." #REMOTE_RUN_AFTER_CMD="/usr/local/samba/bin/samba-tool ntacl sysvolreset"

                      Создаем ключ для подключения к другому контроллеру и копируем его на него:

                      ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@DC2

                      Проверяяем корректность подключения:

                      ssh DC2

                      Перед запуском делаем резервную копию SYSVOL. Она сохраняется в папке /usr/local/samba/var/locks/sysvol/.osync_workdir/

                      /usr/local/bin/osync.sh /etc/osync/sync.conf --dry --verbose

                      Если все прошло без ошибок, то убираем параметр —dry и запускаем снова:

                      /usr/local/bin/osync.sh /etc/osync/sync.conf --verbose

                      После этого SYSVOL синхронизировался на обоих серверах.
                      Включаем на первом сервере (там где установлен osync) синхронизацию по расписанию:

                      crontab -e */5 * * * * /usr/local/bin/osync.sh /etc/osync/sync.conf --silent

                      Между серверами Samba AD не реплицируется хранилище SYSVOL, что приводит к некоректной работе (например групповых политик). Для осуществления репликации необходимо использовать другой инструментарий из состава ОС Linux (т.е. дополнительные настройки «костыля»)
                      Доверительные отношения работают только в одном направлении (от Windows к Samba но не наоборот), что не позволяет организовать лес доменов.
                      Не поддерживаются поддомены

                      a) В Samba отсутствует глобальный каталог и полноценная поддержка фантомных объектов.
                      b) Проблемы при построении структуры AD (Active Directory browser), проблемы при поиске объектов в другом домене.
                      c) При применении групповых политик в многодоменной среде могут быть проблемы с определением, в каком домене находится компьютер.

                      Выборочный роутинг через vpn (dnsmasq)

                      Идея состоит в том, чтобы только сайты из списка использовали vpn соединение (ppp0), а остальные шли через физический интерфейс проводного сетевого подключения (enp3s0), куда приходит интернет с роутера.

                      Через интерфейс enp3s0, при помощи Network Manager, подключается vpn соединение (L2TP), в настройках указываю не использовать в качестве соединения по умолчанию (never be used as the default network connection), в результате чего создается вирутальный интерфейс ppp0.

                      Далее делаю так:

                      Добавляю в файл /etc/NetworkManager/NetworkManager.conf строку dns=none для того чтобы Network Manager не изменял resolv.conf:

                      [main] plugins=ifupdown,keyfile dns=none 

                      Редактирую файл конфигурации dnsmasq /etc/dnsmasq.conf. Указываю список доменов для занесения соответствующих им IP адресов в ipset list с именем VIAVPN

                      ipset=/rutracker.org/nnmclub.to/VIAVPN 

                      Создаю список VIAVPN:

                      ipset create VIAVPN hash:ip 

                      Создаю правило iptables, которое будет маркировать пакеты, к IP адресам доменов (то есть с пометкой VIAVPN), маркером 1

                      iptables -I PREROUTING -t mangle -m set --match-set VIAVPN dst -j MARK --set-mark 1 

                      В файл /etc/iproute2/rt_tables создаю таблицу vpnrouting:

                      252 vpnrouting 

                      Добавляю маршрут по умолчанию (default gateway) в созданную таблицу:

                      ip route add table vpnrouting default dev ppp0 

                      Вывожу список всех правил поиска маршрута для наглядности:

                      ip rule show 0: from all lookup local 220: from all lookup 220 32766: from all lookup main 32767: from all lookup default 

                      Задача указать правило поиска до таблицы main. Указываю приоритет явным образом, например, 100:

                      ip rule add prio 100 fwmark 1 lookup vpnrouting 

                      Вывожу список всех правил поиска маршрута для проверки:

                      ip rule show 0: from all lookup local 100: from all fwmark 0x1 lookup vpnrouting 220: from all lookup 220 32766: from all lookup main 32767: from all lookup default 

                      Проверяю состояние rp_filter:

                      cat /proc/sys/net/ipv4/conf/ppp0/rp_filter 0 

                      Для нормальной работы, результат должен быть либо 0, либо 2.

                      Проверяю, что ipset-набор создан, но по какой-то причине не заполняется, это можно увидеть в выводе:

                      ipset --list Name: VIAVPN Type: hash:ip Revision: 4 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 88 References: 0 Number of entries: 0 Members: 

                      Проверяю, что отработало правило файервола, помечающее пакеты:

                      iptables-save | grep VIAVPN -A PREROUTING -m set --match-set VIAVPN dst -j MARK --set-xmark 0x1/0xffffffff 

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

                      ip rule list | grep vpnrouting 100: from all fwmark 0x1 lookup vpnrouting 

                      Проверяю, что в нужной таблице пакеты отправляются в правильный сетевой интерфейс, соответвующий VPN-соединению:

                      ip route list table vpnrouting default dev ppp0 scope link 

                      Проверяю содержимое файла resolv.conf:

                      cat /etc/resolv.conf nameserver 127.0.0.1 nameserver 8.8.8.8 

                      Проверяю статус сервиса dnsmasq:

                      systemctl status dnsmasq.service ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2023-05-31 15:31:58 MSK; 6min ago Process: 638 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS) Process: 649 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=0/SUCCESS) Process: 666 ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf (code=exited, status=0/SUC Main PID: 665 (dnsmasq) Tasks: 1 (limit: 4915) Memory: 2.7M CGroup: /system.slice/dnsmasq.service └─665 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -7 /etc/dnsmasq.d,.dpkg-di May 31 15:31:58 computer dnsmasq[665]: started, version 2.80 cachesize 150 May 31 15:31:58 computer dnsmasq[665]: DNS service limited to local subnets May 31 15:31:58 computer dnsmasq[665]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCP May 31 15:31:58 computer dnsmasq[665]: reading /etc/resolv.conf May 31 15:31:58 computer dnsmasq[638]: dnsmasq: syntax check OK. May 31 15:31:58 computer dnsmasq[665]: ignoring nameserver 127.0.0.1 - local interface May 31 15:31:58 computer dnsmasq[665]: using nameserver 8.8.8.8#53 May 31 15:31:58 computer dnsmasq[665]: read /etc/hosts - 6 addresses May 31 15:31:58 computer systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server. May 31 15:31:58 computer systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server. 

                      Вывод команды: # ss -lp ‘sport = :domain’

                      Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 0.0.0.0:domain 0.0.0.0:* users:(("dnsmasq",pid=22373,fd=5)) udp UNCONN 0 0 [::]:domain [::]:* users:(("dnsmasq",pid=22373,fd=7)) tcp LISTEN 0 32 0.0.0.0:domain 0.0.0.0:* users:(("dnsmasq",pid=22373,fd=6)) tcp LISTEN 0 32 [::]:domain [::]:* users:(("dnsmasq",pid=22373,fd=8)) 
                      uname -a Linux computer 4.19.0-21-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64 GNU/Linux 

                      Вывод route -n показывает какую-то хрень:

                      route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 enp3s0 1.0.0.1 0.0.0.0 255.255.255.255 UH 50 0 0 ppp0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp3s0 192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp3s0 192.168.0.1 0.0.0.0 255.255.255.255 UH 100 0 0 enp3s0 219.100.37.108 192.168.0.1 255.255.255.255 UGH 100 0 0 enp3s0 

                      IP-адрес 219.100.37.108 в выводе утилиты соответствует шлюзу, который использовался при настройке vpn соединения. IP-адрес 192.168.0.1 это адрес роутера (шлюз)

                      enp3s0: flags=4163 mtu 1500 inet 192.168.0.103 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::d09b:3147:64ac:2e6a prefixlen 64 scopeid 0x20 ether 00:1f:c6:e2:50:2d txqueuelen 1000 (Ethernet) RX packets 5892 bytes 3198154 (3.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6122 bytes 962733 (940.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 18 ppp0: flags=4305 mtu 1400 inet 10.239.17.44 netmask 255.255.255.255 destination 1.0.0.1 ppp txqueuelen 3 (Point-to-Point Protocol) RX packets 3 bytes 54 (54.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3 bytes 54 (54.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 
                      enp2s0: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether 00:1f:c6:e2:50:2e brd ff:ff:ff:ff:ff:ff ppp0: mtu 1400 qdisc pfifo_fast state UNKNOWN group default qlen 3 link/ppp inet 10.239.17.44 peer 1.0.0.1/32 scope global ppp0 valid_lft forever preferred_lft forever 

                      Самое интересное, что если без всех этих настроек по маркировке пакетов просто, например, для rutracker.org сделать следующее, то сайт будет работать через vpn:

                      #ip route add 172.67.187.38 via 1.0.0.1 dev ppp0 #ip route add 104.21.72.173 via 1.0.0.1 dev ppp0 

                      Если кто знает, подскажите, что с этим можно сделать, где ошибка?

                      CoolAller
                      ( 24.05.23 23:49:17 MSK )

                      Скрипт для вывода статистики по трафику SoftAP в терминал

                      Всем привет! Есть софтовая Wi-Fi точка доступа (hostapd и dnsmasq). Нужно выводить статистику по расходуемому трафику по каждому ip адресу. Помогите модифицировать скрипт (сейчас скрипт выводит ip подключившегося, имя и mac). Скрипт запускаю через watch.

                      CoolAller
                      ( 20.12.18 10:02:58 MSK )

                      Нужна помощь с установкой плагинов cppunit + ecut в Eclipse

                      Всем доброго времени суток, не могу установить плагины для Eclipse — cppunit + ecut, нужны для юнит тестирования. Народ как-то юзает, но мануала по установке я не нашел, через help -> install new software не получается.

                      CoolAller
                      ( 04.09.17 11:10:42 MSK )

                      Помогите грохнуть лог xsession-errors

                      В общем нужно дропнуть лог .xsession-errors, так как он стал абсолютно мусорным и на ssd он вообще не нужен, так как туда пишется хренолион сообщений о всевозможных багах программ и прочая мусорная лабуда ставшая уже традицией для никсов. Старые способы по созданию линка .xsession-errors в домашнем каталоге на /dev/null и/или изменение ERRFILE в /etc/X11/Xsession не работают. При этом если попытаться переместить лог в /tmp, прописав, например: ERRFILE=$/.xsession-errors он не создается в /tmp, а эта хреновина продолжает плодить пустые и old файлы .xsession-errors в домашнем каталоге.

                      CoolAller
                      ( 27.09.16 11:32:16 MSK )

                      SAMBA не пускает на расшаренные папки на Win-машинах.

                      Всем доброго времени суток!

                      В новой версии SAMBA 2:4.2.10+dfsg-0+deb8u3 появилась проблема с доступом к Windows машинам, на которых расшарены папки и разрешен беспарольный доступ на них.

                      Win-машины видны в сетевом окружении, но зайти на них я не могу, я даже не могу просмотреть список доступных шар на них, SAMBA выводит приглашение ввести логин и пароль, которого нет.

                      Со старой версией SAMBA такой проблемы нет, машины на Windows не имеют проблем с заходом на расшаренные без пароля ресурсы на других Win-машинах. Т.е. мне видится, что проблема именно в новой версии SAMBA, либо в каких-то новых параметрах о которых мне неизвестно. OS Debian Jessie, установлены все доступные обновления. Конфиг самбы дефолтный, что добавлять туда для того, чтобы повлиять на ситуацию со входом на Windows машины я не знаю.

                      CoolAller
                      ( 07.06.16 09:56:37 MSK )

                      Как написать ответ на созданный баг-репорт на bugs.debian.org

                      Не могу найти как написать ответ на сайте bugs.debian.org на созданный баг-репорт. Баг-репорт создавал при помощи reportbug. Кто-нибудь подскажите как это сделать)

                      CoolAller
                      ( 23.05.16 09:00:02 MSK )

                      Alsa и Pulse Audio треск при загрузке/отключении.

                      Всем доброго времени суток!

                      Суть траблы следующая: при загрузке и выключении Debian Jessie 3.16.0-4-686-pae раздается кратковременный треск, похожий на щелчок. При загрузке этот щелчок появляется практически сразу после инициализации, во время: Waiting for /dev to be fully populated. Если в самой OS отключать-включать звук нажав «Mute», то тоже есть этот щелчок. Но самое интересное, что если ось загружается с SSD, то этот звук становится очень громкий и страшно долбит по ушам) Если загружать ось с hdd, то треск (щелчок) менее сильный, но все равно присутствует в т.ч. и при включении/выключении «Mute» Проблема скорее всего с Alsa, так как после удаления Pulse Audio треск остается.

                      Когда запускаешь alsamixer и в нем убираешь всё в ноль, а потом слегка начинаешь поднимать системный ползунок громкости (он же дефолтный Master Pulse Audio в alsamixer), сразу остальные уровни громкости подпрыгивают до максимума аж в красную зону. Этот же ползунок затрагивается и при регулировке громкости через vlc, другие плееры и системный volume control Pulse Audio. Если нажать F6 в alsamixer, то в списке первая строка будет (default), которая относится к Pulse Audio, а уже только потом звуковая карта — 0 HDA Intel, где тоже есть регулировка Master, которая регулирует общую громкость, но при этом она не затрагивает остальные уровни, но из-за того, что именно эта регулировка не выведена на Pulse Audio это бесполезно.

                      Собственно вопрос, как избавиться от этого треска при загрузке/ выключении и как поменять в Pulse Audio регулятор громкости на Master от звуковой карты, которая обозначается в alsamixer, как 0 HDA Intel.

                      Если нужны какие-либо логи могу скинуть ниже. Других проблем со звуком нет, звуковая карта работает, на оффтопике так же нет треска. Проблема гуглится по запросам: popping sound/noise linux (ubuntu); crackling sound linux (ubuntu), но какие-то найденные решения только под Ubuntu и на Debian не срабатывают или нужно как-то по-другому делать, я хз.

                      Звуковая карта SoundMax AD1988B, использует модуль ядра snd-hda-controller (проверял — загружен).

                      PS. Может кому-то пригодится решение, как избавиться от треска, но только если ось стоит на HDD:

                      sudo rm /var/lib/alsa/asound.state

                      Нажать F6, выбрать звуковую карту, отключить Auto Mute, выйти нажав Esc.

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

                      sudo alsactl store 0

                      alsa, crackling sound , popping sound , pulseaudio, треск

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *