• Как открыть порты на статическом 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:\"
    Даже, если после кавычек случайно появится лишний пробел или таб, то он не присвоится переменной
  • Как перегрузить оператор так, чтобы принимать std::endl в своём потоке вывода?

    @res2001
    Надо наследовть class log от ofstream и использовать вывод базового класса, а не _file.
  • Почему содержимое пакетов в Wireshark не совпадает с описываемым в спецификации протокола IP?

    @res2001
    gd1xza, Когда начал писать, ответов еще не было. Если бы больше никто не ответил, то автору уже было бы за что зацепиться и дальше самому раскрутить вопрос.
  • Почему при умножении матриц, вводя разные значения при каждом новом запуске программы я получаю одни и те же размеры(не правильные)?

    @res2001
    marlaaa,
    CreatMatr должен записывать в файл все значения в виде матриц, а потом их надо считать ReadMatrix

    Верно, вот только в CreatMatr ты не пишешь в файл значения n, m, l, а передаещь их в ReadMatr в виде параметров. Так что ReadMatrix не может корректно прочитать файл, если у него не правильные n и m,

    Тебе надо в main значения n, m, l сделать массивами размером k. И на каждой итерации вызова CreatMatr передавать ссылки на следующие элементы массива. (Я бы сделал структуру, типа той, что описывал выше, и сделал один массив структур, а не 3 массива интов.)
    В следующем цикле так же используй элементы массива для передачи в ReadMatrix.

    Вообще, не понятно зачем ты сначала пишешь эти файлы, а потом их читаешь. Сгенерировала матрицу в памяти и сразу отдавай ее в MatrixProduct. Можешь генерировать сразу вектор, а не сырой массив, как сейчас. Зачем эта возня с промежуточным файлом?
  • Почему содержимое пакетов в Wireshark не совпадает с описываемым в спецификации протокола IP?

    @res2001
    Во первых первый байт - 0x28H, в битах это будет 101000, итого первые четыре бита - 0000, хотя протокол - IPv4

    Двумя строками ниже подчеркнутого посмотрите написано 0100 = Version 4. То что надо.
    В HEX dumpe, по всей видимости, вы смотрите уже поле данных IP пакета. Возможно надо взять вышестоящий заголовок. Или где-то включить отображение IP header. Точно не скажу, давно уже не держал в руках сниффер.
    0х0800 - это видимо значение поля EthType вышестоящего заголовка Ethernet Frame, значение как раз соответствует IPv4.
  • Нужен батник для копирования по сетевому диску только последних (новых) файлов?

    @res2001
    o_krytS, Что написано, то и копирует. pushd просто меняет текущий каталог. После двух pushd текущим становится каталог из последней команды, этот каталог и копируется.
    Вам надо выполнить первую pushd, затем копирование и popd, затем вторую pushd и снова копирование и popd.
    Можно загнать в цикл или процедуру, что бы не двоить код.