Задать вопрос
  • Почему забивается кеш DNS?

    @res2001
    varfi, Настройте ДНСы яндекса или гугла, адреса легко ищутся в интернете. У гугла адрес ДНС 8.8.8.8.
    В роутере всего лишь промежуточный ДНС, он сам только пересылает запросы на внешние сервера ну и как кэш то же работает. ДНСы провайдеров могут тупить или выдавать устаревшие адреса, все зависит от степени безответственности данного конкретного провайдера.
  • Почему забивается кеш DNS?

    @res2001
    cmd/bat из тегов, думаю, стоит убрать.

    Чей ДНС сервер используете?

    Судя по тексту ошибки проблема не в кеше, а в том, что ДНС сервер долго отвечает или совсем не отвечает и клиент отваливается по таймауту.
    Это можно протестировать с помощью утилиты nslookup - она шлет прямые запросы ДНС серверу, минуя резолвер ОС.
  • Сможет ли взаимодействовать 2 разные Unix системы?

    @res2001
    varfi,
    это просто для примера, что в голову пришло. вопрос в том будут ли взаимодействовать дебиан и ред хат системы между собой?

    Что им может помешать взаимодействовать? Тут главное, чтоб они разговаривали между собой на одном языке, т.е. использовали один и тот же протокол. А так вы можете хоть винду с ардуиной заставить взаимодействовать, что, собственно, многие и делают.
  • Как задать значение последней переменной?

    @res2001
    Третий вариант, по моему, утопия. Он создает больше проблем, чем решает их. Может зависеть от изменений в коде, и, возможно, от опций компилятора. Но, конечно, имеет право на существование. Из плюсов этого варианта - накладные расходы возникают только в момент срабатывания сигнала (если не считать за них вызов sigaction).
    В первых двух вариантах накладные расходы будут на каждой операции, не зависимо был сигнал или нет.
    Вариант с setjmp/longjmp, скорее всего, будет более медленным, чем проверка.

    Подумал тут, что если перед операцией инициализировать а нулем, в обработчике SIGFPE просто ничего не делаем, но он должен быть. Будет ли в таком случае значение а чем-то перезаписано при срабатывании сигнала? И если будет то чем?
    Тут еще важно, чтоб инициализацию а нулем компилятор не выкинул из кода в рамках оптимизаций. Не уверен, что поможет, но может для этого объявить а как volatile.
  • Есть ли смысл в уточнении типов данных чисел? И что это даст?

    @res2001
    Vitsliputsli, В этом примере это автоматический массив и лежит он на стеке. Был бы вектор или выделялся бы с помощью new - лежал бы в куче.
    Впрочем, не важно, где лежит массив. Конкретно в этом примере массив маленький и экономия мизерная. По быстродействию вообще не будет никакого плюса, т.к. и без оптимизации весь массив легко укладывается в кэш первого уровня.
    Был бы массив в миллион элементов, например, тогда экономия в 1 байт на одном элементе приводила бы к экономии в 1 Мб памяти, это уже существенно. Кроме того, на таких количествах элементов начинает играть заметную роль попадания в кэш, что на массиве с меньшим размером элемента будет происходить чаще.
  • Как открыть порты на статическом IP?

    @res2001
    У вас в голове конкретная каша.

    1. порт открывается той программой, которая слушает этот порт (работает с ним, отвечает на запросы, ...). На сколько я понял в вашем случае это сревер майнкрафта. Порт открывается при старте программы на том компе где она запущена.
    2. Роутер при настроенном пробросе портов, всего лишь передает трафик со своего внешнего порта на внутренний адрес вашего компа на его локальный порт. Поэтому и называется "проброс портов" - внешний порт роутера как бы становится локальным портом вашего компьютера.
    3. Кроме проброса портов, нужно настроить еще фаервол на роутере (и на локальном компе то же). Фаерволу вообще наплевать на пробросы и т.п., он работает по своим правилам, а по умолчанию он блокирует любой входящий трафик, который идет не в ответ на ваш запрос. Нужно разрешить входящий трафик на внешний порт роутера, который вы пробрасываете, только и всего.
    Настроив DMZ, вы скорее всего просто разрешили весь трафик в вашу локальную сеть. Теперь у вас единственный барьер - NAT. С точки зрения безопасности - это плохо. DMZ - это такая выделенная зона в локальной сети, к которой есть доступ снаружи. Предполагается, что основная локальная сеть находится в другом адресном пространстве и перед ней есть свой шлюз с фаерволом. Если у вас нет в реальности DMZ (а судя по всему у вас ее нет), стоит отключить DMZ на роутере и настроить фаервол.
  • Как в локальной сети с доменом настраивается DNS?

    @res2001
    если я с компьютеров в сети проверяю днс через https://www.dnsleaktest.com/ то там показывает ДНС провайдера указанные в настройках маршрутизатора

    И в чем конкретно проблема?

    Если вы хотите сами обслуживать свою зону для внешних ДНС запросов, то заведите свой внешний ДНС сервер (отдельный от внутренних ДНСов), сообщите вашему регистратору об этом, чтоб он перенаправлял запросы для вашего домена на ваш сервер. Можно арендовать ДНС хостинг, чтоб не разворачивать у себя.
    Тогда https://www.dnsleaktest.com/ будет возвращать ваш ДНС.

    Внутренние компы уже используют внешние ДНС сервера для внешних имен, указанные в ДНС на КД. Для внутреннего домена отвечает сам внутренний ДНС.

    Вы должны четко разграничивать внутренние и внешние ДНС запросы (а значит и отвечающие на них ДНС сервера). Как правило, ответы на одно и то же ваше доменное имя для внутреннего и внешнего запроса должны быть разными. И это нормально.
  • Зависимость скорости интернета от роутера и длины провода?

    @res2001
    zreitdl, Что внутри сети?
    Поставьте 2 компа по обе стороны р2 (т.е. 1 комп подключен к р1, второй - к р2) и посмотрите как у них обмен между собой. Тут можно использовать какой-нибудь iperf, например, оставив его на продолжительное время. Сеть во время теста лучше не занимать. Резких и больших скачков в скорости обмена быть не должно, скорость должна быть примерно одинакова на всем протяжении теста. Отклонения от средней скорости в 1-5% допустимы, так же возможны единичные кратковременные сильные провалы в скорости (обычно это связано с какими-то фоновыми процессами в ОС, которые вы не контролируете).
    Это точно вам даст понять виновны ли ваши роутеры (или линия их соединяющая) в проблемах.

    А так же сделайте то что написал Yan и Алексей Черемисин
  • Сисадмин как хобби?

    @res2001
    Сисадмин - это прежде всего про сеть. Локальную, связи локальных сетей между собой, выход в интернет, безопасность.
    В домашних условиях у вас нет таких задач, которые есть в офисе средней/крупной организации.
    И самому их придумать не зная о их существовании не просто.

    Из того, что реально делать дома:
    - научится диагностировать проблемы ПК и делать крупноузловой ремонт (т.е. менять не исправные запчасти на новые)
    - научится использовать и решать проблемы в винде и линуксе
    - разобраться как работает TCP/IP: адресация, маршрутизация, фильтрация, а так же ВПН, почта, веб сервер ...
  • Почему нет данных в хэш-таблице?

    @res2001
    Retr0Hacker, Спецификатор формата для вывода в printf типа unsigned long long в винде %llu
    Судя по тому, что значение key у вас то же выводится не верно, дело в этом.
    https://docs.microsoft.com/ru-ru/cpp/c-runtime-lib...

    Спецификаторы могут различаться в зависимости от компилятора. Поэтому в стандартной библиотеке есть заголовочный файл inttypes.h где заданы макросы с фиксированным именем описывающие формат для данного компилятора и платформы. Рекомендую использовать эти макросы, особенно для 64 битных целых, а так же типов с переменным (в зависимости от платформы) размером (size_t и его производных)
  • Какой выбрать VPN сервер для обхода блокировок?

    @res2001
    Интересная тема. Внутри вроде как тот же openvpn, но оригинально реализована маршрутизация запрещенных доменов.
  • Какая версия linux оптимальна для обучения?

    @res2001
    Vitsliputsli,
    Arch не стабильный? Это с чего вы так решили?

    Не стабильней, чем дебиан. Потому что чаще обновляется, а значит чаще завозят свежие баги.

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

    Сборка софта из исходников. Когда я использовал FreeBSD все, что мне нужно было устанавливалось из портов достаточно быстро. Даже кастомное ядро собиралось за вполне вменяемое время, может быть час, давно это было. К слову, во FreeBSD из коробки есть возможность устанавливать софт и из бинарных пакетов так же как в лине.

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

    Я, собственно, ни за какой дистрибутив не топлю. Сам использую Убунту, меня устраивает. Если вдруг понадобится переустанавливать ОС, то скорее всего выберу другой дистрибутив, просто что бы посмотреть что-нибудь другое. Тот же arch, может быть.
    В ответе написал, что для целей автора, выбор дистрибутива не принципиален.
  • Какая версия linux оптимальна для обучения?

    @res2001
    Drno, arch - да, слишком не стабильный.
    А гентуу - есть любители.
    Мне в свое время пришлось плотно использовать FreeBSD на серверах, а это достаточно стабильная система, так что подход гентушников мне абсолютно понятен. Не вижу больших проблем использовать на сервере, если ты умеешь с ним управляться.
  • Что делать, если появляется непонятная ошибка после запуска c++ кода?

    @res2001
    В чем смысл настолько большой многопоточности?
    Почему для my_thread1 не используешь join? Оно тут напрашивается. Если бы делал, то шанс получить адекватное значение connfd без синхронизации увеличится, особенно если объявить connfd как volatile. Да и вообще любой поток должен быть либо join, либо detach иначе остатки потока не удаляются из системы даже после его завершения.
    В целом подобное разбиение на потоки смысла не имеет. Т.к. каждая операция внутри потока синхронна и следующий поток ждет предыдущего, то в итоге все происходит последовательно, никакого параллелизма. С тем же успехом все это можно просто вызывать последовательно в main, без потоков.
  • Делаю проект в GNS3, у человека кто написал пост такие данные на ПК 2 Ip 192.168.1.11 /24 geteway 192.168.2.1 (Вопрос как это возможно)?

    @res2001
    Когда-то встречал подобную реально работающую конфигурацию. Тогда меня это то же сильно удивило.
    Вроде как адрес шлюза не обязан быть в той же IP сети, что и адрес хоста. Т.е. такой вариант вполне возможен.
    Когда хост должен отправить пакет через шлюз, он просто подставляет MAC адрес шлюза в пакет и отправляет его, IP адрес шлюза по большому счету не используется. Конечно, и указанный шлюз и хост должны быть в одном широковещательном домене, для того что бы хост мог по ARP получить МАС шлюза.

    Все это мои предположения. Какого-то документального подтверждения своим домыслам не встречал.

    Думаю, что стоит избегать таких конфигураций.
  • Почему не монтируется диск в WSL windows?

    @res2001
    Павел, Ну и что. Требования соблюдены для данного документа, эти требования не касаются другого документа.
    По вашей ссылке, где используется --mount, есть свои требования и вот там они не соблюдены.
  • Почему не монтируется диск в WSL windows?

    @res2001
    Павел, Что вы понимаете под сборкой? На сколько я понял у вас версия винды не соответствует минимальным требованиям, поэтому команды --mount просто нет. Для начала нужно обновить винду до требуемой версии.

    Когда появился WSL2 у меня установленный ранее линукс не хотел обновляться до WSL2 по инструкции. Хотя сама винда обновилась до нужной версии нормально. Пришлось полностью снести WSL и заново установить WSL и линукс уже с версией WSL2.
    Команда wsl -l -v покажет подробные сведения о вашей установке, в т.ч. и используемую в дистрибутиве версию WSL. При установленном WSL2 дистрибутив может работать и как WSL1. Теоретически его можно переключить на WSL2, но это не всегда срабатывает, как выяснилось.
    Подробней смотрите тут:
    https://docs.microsoft.com/en-us/windows/wsl/install
    https://docs.microsoft.com/en-us/windows/wsl/insta...
  • Почему не монтируется диск в WSL windows?

    @res2001
    Павел, Судя по тому что пишут по вашей ссылке для этой операции требуется Windows 11 Build 22000, смотрите раздел Prerequisites.
    У меня в Вин10 в странице справки wsl ничего не сказано про параметр --mount. Возможно еще не знает о нем. С wsl регулярно такие штуки происходят - проект активно развивается.
  • Как найти нужный каталог в cmd?

    @res2001
    Добавлю.
    Так как пробелы после значения в set то же имеют значение :), то часто используют кавычки для того, что бы четко обозначить что должно присвоиться переменной:
    set "disk=C:\"
    Даже, если после кавычек случайно появится лишний пробел или таб, то он не присвоится переменной