LINUX.ORG.RU

Сообщения Dima_228

 

DNS over HTTP/QUIC/TLS + кеширование и статистика

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

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

Приоритет - решения имеющиеся в репозиториях популярных сборок Linux и устанавливающиеся командой в одну строчку (yum / apt) и без использования тотальных VPN.

С задачей шифрования успешно справляется dnsproxy: его можно настроить так что все запросы «на улицу» будут уходить через безопасные соединения и не прослушиваться. При этом он отправляет запрос либо к случайному серверу, либо ко всем сразу возвращая первый ответ (настроить возможность опрашивать другое количество upstream’ов, например, 2 шт, невозможно). Несмотря на наличие параметра –cache, мне не удалось найти где хранится этот самый кеш и работает ли вообще. Статистика использования вроде бы отсутствует полностью.

pdnsd вроде бы адекватно справляется с кешированием, кеш хранится в /var/cache, теоретически по нему даже можно определить как часто и что запрашивается устройствами, но он не умеет шифровать запросы к upstream’ам, а использовать его основное преимущество (опрашивает сразу 3 вышестоящих сервера, а если они не ответят - тогда четвертый) в связке со стоящим за ним dnsproxy не имеет смысла.

bind9 имеет возможности разбрасывать запросы к разным TLD на разные upstream, есть некоторая статистика штатными методами (XML) но без статистики по каждой зоне если она не размещена на нем как primary, есть возможность вести логи всех запросов которые не запрещено анализировать cron задачей хоть раз в минуту хоть в реальном времени, но я не нашел возможности делать параллельные запросы к разным upstream и использовать защищенные (зашифрованные) протоколы - кажется что dns over http он умеет только как сервер.

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

 , , ,

Dima_228
()

Низкая скорость ntfs тома

Добрый день. Начальные условия: SSD диск, 2 раздела - EXT4 и NTFS. На первом Debian 12, на втором винда. Второй примонтирован в /mnt/win.

Проверка скорости осуществляется командой

dd if=/dev/zero of=temp.tmp bs=1024 count=512000

Результаты для EXT4 раздела:

524288000 bytes (524 MB, 500 MiB) copied, 3.33399 s, 157 MB/s
524288000 bytes (524 MB, 500 MiB) copied, 3.09018 s, 170 MB/s

Результаты для NTFS раздела если в fstab он примонтирован как ntfs

524288000 bytes (524 MB, 500 MiB) copied, 47.2099 s, 11.1 MB/s
524288000 bytes (524 MB, 500 MiB) copied, 56.3911 s, 9.3 MB/s
524288000 bytes (524 MB, 500 MiB) copied, 69.1836 s, 7.6 MB/s

Аналогично если примонтирован как ntfs-3g

524288000 bytes (524 MB, 500 MiB) copied, 107.935 s, 4.9 MB/s
524288000 bytes (524 MB, 500 MiB) copied, 142.301 s, 3.7 MB/s

Ожидалось что скорость будет выше, но она оказалась еще ниже. Подскажите, пожалуйста, в чем дело и как добиться скорости записи того же порядка что скорость записи на ext4. Планируется на ntfs разделе держать данные, к которым должен быть одновременный доступ с обоих операционных систем (с учетом того что винда не умеет нормально работать с ext4 томами без костылей - делать наоборот не вариант).

 , ,

Dima_228
()

Вредоносные DNS (ISPsystem)

Доброго времени суток.

В некоторых статьях и топиках на форумах, например тут Как настроить доступ в интернет внутри lxc контейнера? всплывают советы включающие использование того или иного стороннего ресурса, например DNS сервера.

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

Примером такого сервера является 188.120.247.2

root@srv1:/# nslookup google.com 188.120.247.2
Server:         188.120.247.2
Address:        188.120.247.2#53

Non-authoritative answer:
Name:   google.com
Address: 216.58.210.174

root@srv1:/# nslookup google.com.ua 188.120.247.2
Server:         188.120.247.2
Address:        188.120.247.2#53

** server can't find google.com.ua: NXDOMAIN

Вот пример. Если на сайте есть скрипт, обращающийся к домену - при получении ответа NXDOMAIN (домен не существует) возникнет нештатная ситуация.

Адрес относится к netname: RU-AOIOT (Skolkovo Innovation Center). Кто это такой умный у них хостинг арендует мне, к сожалению, не известно. Масштабы проблемы серьезные, многие хостинг провайдеры предоставляя услугу аренды VPS выдают сервера с предустановленным этим сервером в resolv.conf. Как раз сегодня мне такой сервер попался, техподдержку хостинга уже уведомил о проблеме.

 ,

Dima_228
()

Падение MySQL

Добрый вечер.

Стал падать Mysql сервер, частота раз-два в сутки, сам не поднимается. Ошибок в логе нет. Перед тем как на коленке писать какой-то самодельный скрипт по проверке отклика с принудительным рестартом запустил его под скрином (из под root, извините).

root@xxx:~# /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
230828 19:31:07 [Note] /usr/sbin/mysqld (mysqld 5.5.62-0+deb8u1) starting as process 12345 ...
Killed
root@xxx:~#

Вот какая сволочь его kill ? В syslog на время падения ничего интересного, кроны там плановые и все такое.

 ,

Dima_228
()

php shell_exec и nslookup

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

Есть задача мониторить работу DNS серверов домена (на случай если домен или какая-то запись будет удалена из NS, если DNS сервер ляжет, IP адрес сменится и подобное).

Реализация на PHP следующая:

function dnsquery($ns)
{
	$h = "mail.ru";
	$res = trim(shell_exec("nslookup ".$h." ".$ns." | grep 'Address:' | wc -l"));
	$res += 0;
	return $res;
}

Суть идеи в том что если произойдет таймаут и прочая ошибка - в выводе nslookup не будет строчек со словом Address. Если домен не делегирован на указанном NS - будет строчка Address самого NS и результат функции - 1. Если домен нормально настроен то будет результат от 2 (1 адрес сервера имен + 1 адрес A запись домена) до бесконечности (если несколько A записей).

Этот код запускается crontab’ом по очереди с 2 машин в разных датацентрах. Так вот, на одной из них иногда начинает происходить непонятная ерунда: ответ функции 0. Захожу в консоль, запускаю nslookup - ответ правильный. Запускаю тот же скрипт вручную из командной строки - результат не ноль, все верно. Такое может длиться только на этой машине от часа до суток, само возникает, само пропадает.

Сменил shell_exec на

exec("nslookup ".$h." ".$ns, $output, $retval);

Ответ пуст, $retval возвращает сначала -1 потом 10. Что это за магия?

 , , ,

Dima_228
()

Curl: SSL read errno 104 на Cloudflare Origin Certificate

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

Есть сервис (API с ограниченным доступом), IP адрес защищен Cloudflare. Мне известен реальный IP адрес сервера и для предотвращения разных проблем (Cloudflare имеет привычку блокировать автоматические запросы когда не нужно) я обращаюсь к реальному IP напрямую (прописал в /etc/hosts).

В браузере все открывается нормально (пропустить ошибку проверки сертификата и сайт открылся). Скрипт на PHP начал выдавать какую-то ерунду.

SSL read: error:00000000:lib(0):func(0):reason(0), errno 104

Универсальное решение всех проблем с сертификатами при подобных манипуляциях

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

не дает ожидаемого результата. Ранее на сервере стоял сертификат Let’s Encrypt (валидный) и IP адрес иногда менялся на Cloudflare, иногда защита была отключена. Сейчас сертификат хоста Cloudflare Origin Certificate подписанный Cloudflare Origin SSL Certificate Authority - разница только в этом. Wget на той же машине успешно загружает robots.txt с IP адреса, прописанного в hosts (с –no-check-certificate, естественно). Проверялось с 2 разных машин, т.о. дело не в локальных настройках.

Как заставить cURL это съесть?

И небольшое уточнение. Проблема возникает только при использовании cURL на PHP, т.к. команда вида

curl --http1.1 -vvv --insecure "https://hostname/api/" -d 'param1=val1&param2={json:true}'

отрабатывает относительно успешно (ответ API не все параметры указаны, есть какие-то проблемы с парсингом json, переданным из консоли). PHP скрипт заведомо рабочий, несколько лет уже используется. Сейчас в него добавлен вывод HTTP заголовков.

 , ,

Dima_228
()

v4l2loopback разрешение экрана фейковой камеры

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

С помощью modprobe v4l2loopback создал в системе устройство /dev/video20 на которое с помощью команды

ffmpeg -re -i video.mp4 -map 0:v -f v4l2 /dev/video20

транслирую созданный заранее файл

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

Как задать разрешение камеры? Видео mp4 720x576. Или как узнать разрешение камеры чтобы создать видео соответствующего размера? (Необходимо для участия в онлайн встречах)

Пробовал v4l2loopback-ctl set-caps «video/x-raw,format=UYVY, width=720, height=576» /dev/video20 вывод - video20 is not a output device (если видео не проигрывается в другом окне терминала) либо Device is busy если проигрывается.

 , ,

Dima_228
()

TCP bind определенный интерфейс

Доброй ночи!

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

Если я создаю сокет и делаю ему bind с IP адресом определенного интерфейса - могу слушать на нем и UDP пакет ответа уходит именно с указанного интерфейса. Как задумано.

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

Для этого вызываю stream_context_create() со значением socket-bindto равным ‘1.2.3.4:0’ (тут адрес выбранного интерфейса) и далее file_get_contents(), но получаю ошибку таймаута на любом интерфейсе кроме первого. Очевидно какие-то проблемы с маршрутизацией SYN / ACK пакетов. Дампы не писал.

После

iptables -t nat -A POSTROUTING -j MASQUERADE`

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

Как решить эту проблему чтобы и TCP и UDP шло с выбранного интерфейса, не являющегося шлюзом по умолчанию?

Как альтернативу, дайте пожалуйста команды для iptables которые будут маршрутизировать весь трафик на определенный IP адрес через выбранный интерфейс.

 , , ,

Dima_228
()

whois.nic.online:43 ответ HTTP

Тут некоторое время тому назад TLD Server 43 port filtered обсуждался whois сервер данного TLD

Я сейчас обнаруживаю что в ответ на запрос к WHOIS серверу (порт 43) ответ идет HTTP:

HTTP/1.1 400 Bad Request
Date: Sun, 05 Sep 2021 08:17:49 GMT
Server: Apache
Content-Length: 11
Connection: close
Content-Type: text/html; charset=iso-8859-1

Bad Request

Это у всех так? Это нормально? Кто знает адрес сервера для данного TLD?

 , ,

Dima_228
()

Exim4 SPF рубит отправку по SMTP

Добрый день.

У меня проблема. Есть почтовый сервер Exim, на машине планируется держать почту нескольких доменов (пока один). С учетом предыдущего опыта, идут тонны спама на случайные ящики в домене который хостится на сервере, особенно если есть catchall. Для борьбы решил настроить SPF по инструкции https://www.sidn.nl/en/news-and-blogs/hands-on-implementing-spf-dkim-and-dmarc-in-exim (3.3 ACL configuration for SPF) но благодаря условию deny spf = fail : softfail отклоняется любая попытка отправки авторизованным пользователем сообщения по SMTP. SMTP клиенту пишет что моему IP не разрешено отправлять почту от имени этого домена. Закомментировал пару строчек - письмо отправляется успешно, но в заголовке стоит Received-SPF: softfail и бонусом засвечен IP адрес пользователя, подключившегося по SMTP.

Как можно настроить проверку SPF только для доставки почты с других почтовых серверов, при этом пропускать проверку SPF для пользователей, имеющих ящики в этом домене?

 , , ,

Dima_228
()

Starting Cleanup of Temporary Directories

Добрый день.

Где в Debian 9 найти скрипт, ответственный за очистку /tmp? Запускается раз в сутки судя по логам.

Jun 26 20:05:57 sys systemd[1]: Starting Cleanup of Temporary Directories...
Jun 26 20:05:57 sys systemd[1]: Started Cleanup of Temporary Directories.

Ни в /etc/cron*, ни в /var/spool/cron* не вижу ничего содержащее эту строчку, поиск по содержимому всех файлов на сервере запускать не рискую. У меня возникло подозрение что эта задача негативно влияет на производительность сервера. Хочу для начала переставить ее на другое время, и если вслед за этим проблемы тоже перенесутся - значит 100% она.

 , ,

Dima_228
()

Exim4 over TLS

Добрый день. Перечитал тонну флуда на тему настройки соединения от клиента (Thunderbird / sendmail / etc) к серверу через TLS но никак не могу найти другую сторону вопроса.

Есть Debian, Exim4, Dovecot и остальной суповой набор. Настроен почтовый домен (DKIM, SPF, DMARC) и ящик в нем. При отправке почты

H=31045262.in1.mandrillapp.com [54.245.105.146] Connection timed out (это я шлю на dkimvalidator) Проблема в том что хостер блокирует исходящие на 25 порт, при этом nc говорит что 465, 587 и 2525 подключаются на ура. Письмо помещается в очередь и отправка затягивается. Говорить с хостером бесполезно.

Как на этом сервере полностью отучить Exim4 от попыток подключения на порт 25, и работать на выход только по TLS?

 , ,

Dima_228
()

davfs2 (мистика)

Добрый день.

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

Начну с конца без предыстории, только по фактам. Одно и то же облачное хранилище смонтировано пользователем root абсолютно одинаковой командой от имени ограниченного юзера (-o uid=…,gid=…) на 2 разных машинах Debian и из под винды плагином к Total Commander (встроенный функционал винды не люблю).

Все каталоги хранилища читаются. Файлы из него я могу свободно копировать на любую машину. Могу удалять или создавать пустые каталоги.

Как только дело доходит до копирования файла с машины в облако, на проблемном сервере вылазит Input/output error (5) (mc). На другом сервере файлы спокойно пишутся в произвольную директорию, с винды тоже работает нормально. Обращаться в техподдержку облака бесполезно, там скажут что нужно скачать их высер и забить им побольше своей свободной RAM.

На проблемной машине davfs2 1.5.4-2+b1, сервер настраивался в январе. На той где работает davfs2 1.4.6-1.1+wheezy1 (старая машина, конфигурация стабильна несколько лет). Все бы можно было списать на то что в какую-то версию добавили свежий баг, но у меня есть еще один сервак на котором активно используются облачные хранилища (только под бекап), так вот его я устанавливал пару месяцев назад - 1.5.4-2+b1, то есть ТА ЖЕ версия…

Вот, собственно, и вся чертовщина. Ось одинаковая, команды и права в точности совпадают.

Пробовал ставить debug most, но мало что понял. Идет при копировании файла запрос LOCK, он возвращает 201 Created, следом deleting node 0x…, ответ RET Input/output error. Может кто сталкивался?

 , ,

Dima_228
()

SSE3 support (эмуляция Android под Linux)

Добрый день.

Общаюсь тут больше недели с одними оленями в техподдержке (редкий софт для эмуляции ведроид-устройств на ПК). Прога написана редкими рукожопами: на W2003 сервере новые версии не пашут, функционал стабильных старших версий глючит, техподдержка не оказывается. Поставил голый Debian 10 и последнюю версию их софта. Это по сути надстройка или даже GUI на VirtualBox. Сам VirtualBox успешно работает, запускает windows guest разных версий и даже с 3D ускорением. Их софт - опять глючит, то в ведроиде браузер упадет, то проги не ставятся, то машина не работает по причине глюков эмулятора камеры… Вообщем, веселья хватает. Отсылаю им все логи с Debian (это последняя версия их проги, поддержку они оказать обязаны) в результате мне приходит потрясающий ответ: «в cpuinfo нет SSE3, значит он отключен в BIOS либо не поддерживается ядром, а без этого все может глючить, потому надо его включить.»

Камень точно поддерживает, на винде он есть, значит в BIOS он не отключен. Как включить SSE3 в Debian 10? Что-то мануалов нет, один флуд. Киньте пожалуйста ссылку или опишите как.

 ,

Dima_228
()

Сохранить ECDSA key fingerprint при переустановке

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

При первом подключении к удаленному SSH серверу всегда требуется подтверждение:

The authenticity of host ‘…’ can’t be established. ECDSA key fingerprint is xxxxxxxx. Are you sure you want to continue connecting (yes/no)?

Этот хеш можно получить локально командой

ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ecdsa_key.pub

Я правильно понимаю что если сохранить файлы /etc/ssh/ssh_host_* и после полной переустановки системы восстановить их обратно по старому адресу, fingerprint сохранится и удаленные клиенты смогут и дальше подключаться к серверу без подтверждений? Или не все так просто?

На сервере сейчас Debian wheezy, нужно переустановить 10й начисто, с сохранением аккаунтов и ключей пользователей.

 , ,

Dima_228
()

iptables - помогите пробросить порт

Доброй ночи!

На сервере с адресом 5.5.5.5 порт 6789 (UDP) висит демон. Нужно все пакеты, идущие на 4.4.4.4:1234 перенаправлять на 5.5.5.5:6789. Это UDP, потому никаких балансировщиков нагрузки, и nginx не предлагайте.

Что пробовал:

iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1234 -j REDIRECT --to-port 5678

идеально работает локально, сервер отвечает по обоим портам, IP адрес клиента в обоих случаях правильный. Пытаюсь вместо --to-port поставить параметром --to IP:PORT, получаю ошибку:

REDIRECT: Bad value for "--to-ports" option

Вот такая конфигурация работает,

iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1234 -j DNAT --to 5.5.5.5:6789
iptables -t nat -A POSTROUTING -p udp -d 5.5.5.5 --dport 6789 -j MASQUERADE

но на сервере вместо IP адреса клиента регистрируется IP адрес промежуточного сервера, а так нельзя. При этом если повторить локально (1234 перекидываю на 127.0.0.1:6789) - работает и без второй строчки, и IP адрес сохраняется верный.

Подскажите пожалуйста, как заставить -j REDIRECT работать с удаленным IP адресом либо -j DNAT не портить IP адрес с которого поступает запрос.

 ,

Dima_228
()

Виртуализация - помогите с выбором

Помогите с выбором виртуализации и подскажите каким образом можно реализовать то что я хочу, чтобы не оказалось на последнем шаге что с выбранной схемой работы это невозможно. Имею опыт установки только kvm и virtualbox, и то над тонкостями настройки никогда не задумывался, запускал на дефолте. В KVM в тот раз не удалось получить нормальный VNC сервер, требовался какой-то особый причем довольно кривой софт для работы с гостевой ОС, обычный VNC / RealVNC не подключался.

  1. Хост система - Linux, привычно Debian / Ubuntu.

  2. Гостевая система - обязательно винда, различные Linux, по возможности ведроиды и прочие мобильные ОС.

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

  4. Графика и 3D - ускорение.

Тему Виртуальные машины (vmware, vbox, qemu/kvm/xen, etc...) что выбрать? читал, там подымался вопрос «в игры играть» - пусть будет «да» потому что в гостевой ОС должны работать хардверное ускорение (либо его эмуляция), D3D и OpenGL. Если будут идти игры прошлого десятилетия то будет идти и все остальное что мне нужно. На VirtualBox винда из винды мне ни разу не удавалось запустить поддержку 3D ускорения, гость падал или вис при загрузке.

Вопросы, ответы на которые я пока не нашел:

  • какой все таки гипервизор выбрать? kvm? xen? Виндовые не предлагать

  • для работы в гостевой ОС сидя возле этого компьютера (не VNC), на хосте нужно ставить иксы и среду рабочего стола?

 , , , ,

Dima_228
()

Хранение IPv6 в Binary

Доброй ночи. Нужна помощь. Произвольные IP адреса (IPv4, IPv6) преобразуются в двоичное представление с помощью inet_pton() на PHP и записываются в базу данных в поле BINARY(16). Поскольку версия базы данных в сферическом приближении не содержит функций INET_ATON() / INET_NTOA() для IPv6 (знаю что некоторые последние содержат, но далеко не везде они стоят) то MySQL запрос формируется костылем вида «x’».bin2hex($ip).«’» (ну либо UNHEX() - не принципиально).

Теперь о проблеме. Если адрес IPv4, то в базе первые 4 байта будут заполнены данными, остальные нулями. Итого если исходное значение переменной в бинарном виде (длина 4 байта) скормить функции inet_ntop - получается исходный IP адрес. Если этой же функции скормить 16-байтное значение с нулями, прочитанное из базы данных - оно преобразуется в IPv4 адрес вида aaaa:bbbb::

Использовать костыли вида

$back = inet_ntop(substr($bin,0,4));

(так - работает) с проверкой по сравнению хвоста строки с нуль-чарами не вариант. Как посоветуете решить данную проблему чтобы и IPv6 и IPv4 при чтении из базы подавались функции inet_ntop и на выходе всегда был корректный результат?

 , , , ,

Dima_228
()

Уронил LVM

Доброй ночи.

При загрузке ошибка device-mapper: reload ioctrl on … failed: invalid argument device-mapper: table … raid: failed to un raid array.

Сервак со следующей конфигурацией:

  1. HDD /dev/sda содержал 2 раздела: sda1 (boot), sda2 (/root) и sda5 (/home) (LVM) по стандарту созданы установщиком Debian 10

  2. HDD2 /dev/sdb на котором зеркало /root, /home с 1го диска, зеркало раздела /sdc1, хвост отформатирован в NTFS

  3. HDD3 /dev/sdc = 1 раздел 512 GB для данных

Собственно все работало с первым хардом, настраивалось, до тех пор пока не было подключено зеркалирование lvconvert -m 1 /dev/vg1/root /dev/sda2 /dev/sdb1 и других описанных выше ново созданных пустых разделов. Первая перезагрузка - комп вылетает в (initramfs) shell в котором ограничено количество доступных команд.

lvm vgscan видит единственную существовавшую группу. lvm pvs видит /dev/sda5, /dev/sdb1, /dev/sdb2, /dev/sdc1 lvm lvs видит home, root, swap_1, test (создан на 100% оставшегося свободного в LVM места), vol500gb (3й хард + его зеркало на большем харде). ls /dev/sd* видит все разделы.

Что делать?

 , ,

Dima_228
()

Помогите настроить public bridge

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

Свежий Debian 10. Поставил kvm, libvirt и ravada в качестве веб морды. Нужна помощь в настройке public bridge. Все что делается по мануалам (в основном, англоязычным) - не работает. Что конкретно делалось в подробностях описывать не имеет смысла, главное текущее состояние и вопрос «что делать».

На физическом сервере 2 сетевых, обе смотрят в один LAN 192.168.1.0/24 (адреса .2 и .200 соответственно, статические). На вторую сетевуху приклеен br0. Задача сделать так чтобы виртуалки могли получать IP адрес напрямую от DHCP 192.168.1.1 и быть полноценными компьютерами локальной сети.

Предпринятые действия: br0 создан по мануалам. Смена сетевому интерфейсу «nat» на «bridge» редактированием виртуалки через ravada ничего не дает (хотя в VirtualBox на винде это всегда работало), в результате получилось 2 интерфейса с адресами от виртуального NAT (192.168.122.19 и еще какой-то). Пробовал ставить

<forward mode='bridge'/>

в virsh net-edit default, результата не видел. Последнее что сделано - virsh edit TestVM1, где одну из виртуальных сетевух переделал на согласно https://wiki.libvirt.org/page/Networking#Debian.2FUbuntu_Bridging, но тоже толку 0.

Текущее состояние. В виртуальной машине 2 интерфейса - ens3 (NAT, пусть будет, подключаюсь по SSH) и ens9 в идеале - DHCP. В реале DHCP уходил в таймаут и адрес не назначался, я переделал в статику (192.168.1.201). Теперь пинг с виртуальной машины на 192.168.1.1 не идет, интернет на виртуалке через NAT есть.

interfaces хоста

auto lo br0 enp4s0 enp10s0
iface lo inet loopback

allow-hotplug enp4s0
iface enp4s0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        gateway 192.168.1.1

iface enp4s0 inet6 manual
        pre-up /sbin/modprobe -q ipv6 ; /bin/true

iface br0 inet static
        address 192.168.1.200
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        bridge_ports enp10s0
        bridge_stp off
        bridge_maxwait 0

iface enp10s0 inet manual

ifconfig хоста

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp10s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether XX:XX:XX:XX:XX:f3 brd ff:ff:ff:ff:ff:ff
3: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:a3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global enp4s0
       valid_lft forever preferred_lft forever
    inet6 XXXX::XXX:XXXX:XXXX:23a3/64 scope link
       valid_lft forever preferred_lft forever
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.200/24 brd 192.168.1.255 scope global br0
       valid_lft forever preferred_lft forever
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether XX:XX:XX:XX:59:b3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether XX:XX:XX:XX:59:b3 brd ff:ff:ff:ff:ff:ff
17: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:41:81:36 brd ff:ff:ff:ff:ff:ff
    inet6 XXXX::XXXX:XX:XXXX:8136/64 scope link
       valid_lft forever preferred_lft forever
18: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN group default qlen 1000
    link/ether XX:XX:XX:XX:49:71 brd ff:ff:ff:ff:ff:ff
    inet6 XXXX::XXXX:XX:XXXX:4971/64 scope link
       valid_lft forever preferred_lft forever

interfaces хоста

auto lo
iface lo inet loopback

auto ens3
allow-hotplug ens3
iface ens3 inet dhcp

auto ens9
#в идеале DHCP но не работает
#allow-hotplug ens9
iface ens9 inet static
        address 192.168.1.201
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
#        gateway 192.168.1.1

ifconfig хоста

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether XX:XX:XX:XX:81:36 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.19/24 brd 192.168.122.255 scope global dynamic ens3
       valid_lft 2047sec preferred_lft 2047sec
    inet6 XXXX::XXXX:ff:fe41:8136/64 scope link
       valid_lft forever preferred_lft forever
3: ens9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether XX:XX:XX:XX:49:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.201/24 brd 192.168.1.255 scope global ens9
       valid_lft forever preferred_lft forever
    inet6 XXXX::XXXX:XX:fea7:4971/64 scope link
       valid_lft forever preferred_lft forever

Нужна помощь.

 , , , ,

Dima_228
()

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