• Почему не работает маршрутизация между vlan'ми?

    @Akina
    Сетевой и системный админ, SQL-программист.
    L2:

    Switch1 должен пропускать VLANID 20 с порта Fa0/1 (untagged) на порт Fa0/2 (tagged).
    Switch2 должен пропускать VLANID 30 с порта Fa0/1 (untagged) на порт Fa0/2 (tagged).
    На Router1 на порте Gig0/0/0 должен быть VLANID 20 tagged.
    На Router2 на порте Gig0/0/0 должен быть VLANID 30 tagged.
    Порты Gig0/0/1 обоих роутеров должны быть в одном и том же VLANID, оба tagged либо оба untagged. Либо соединены напрямую без использования VLAN.

    L3:

    На PC1 должен присутствовать маршрут в 192,168,30,0/24 (либо дефолтный) через 192,168,20,1.
    На PC2 должен присутствовать маршрут в 192,168,20,0/24 (либо дефолтный) через 192,168,20,1.
    На Router1 должен присутствовать маршрут в 192,168,30,0/24 через 10,3,3,3.
    На Router2 должен присутствовать маршрут в 192,168,20,0/24 через 10,3,3,2.
    Ответ написан
    Комментировать
  • Как заполнить таблицу в MySQL через файл?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Изучите внимательно документацию по LOAD DATA.

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

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

    В третьих, если данные не могут импортироваться напрямую, или если в процессе импорта необходима какая-то обработка импортируемых данных (например, корректировка формата даты), то следует использовать ещё Input Preprocessing - обработку данных между чтением из файла и записью в таблицу.

    id у меня auto-increment, пробовала и NULL, и 0, и просто цифрами заполнять - ни в какую.

    Пункт "во-вторых" в полный рост.

    Ну и любопытно, где именно Вы пробовали и NULL, и 0, и просто цифрами заполнять - в показанном Вами запросе под это просто нет места.
    Ответ написан
    Комментировать
  • Делит ли сабнеттинг бродкаст домейны?

    @Akina
    Сетевой и системный админ, SQL-программист.
    понял что у меня каша в голове

    Эт точно...

    Достаточно неплохое определение бродкастового домена Вы можете найти в Вики:

    Широковеща́тельный доме́н (сегме́нт) (англ. broadcast domain) — группа доменов коллизий, соединенных с помощью устройств второго уровня. Иными словами логический участок компьютерной сети, в котором все узлы могут передавать данные друг другу с помощью широковещания на канальном уровне сетевой модели OSI.

    Обратите внимание - достижимость широковещательной передачи не ограничивается адресом бродкаста подсети. Мультикастовые рассылки - это тоже широковещание.

    Но даже если ограничиваться только бродкастом подсети. Вот некий узел шлёт бродкаст. Он формирует пакет. Поскольку адрес назначения не является определённым узлом, то в пакете не указывается МАС-адрес. Пакет пошёл в сеть... И любой коммутатор, не имея этого неуказанного MAC в FDB-таблице, направит пакет на все интерфейсы, достижимые из порта источника в соответствии с его VLANID и иными настройками. Поскольку пакет идёт на L2, никаких подсетей тут нет, а потому никакое Ваше деление на подсети на распространение не влияет в принципе.

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

    Ну и касательно деления вообще. VLAN поделили сеть на 2 уровне. С этого момента рассматривайте ту часть сети, которая объединяется одним VLANID, как полностью отдельную и изолированную от всех остальных сеть. Просто представьте, что коммутатор разделился на несколько маленьких, и к этому каждому маленькому подключен только один VLANID. Вот теперь в этой виртуально отделённой сети уже вводите следующий уровень деления - на подсети.

    Да, смысл деления на подсети даже внутри одного VLANID - имеется. Но если Вы его не видите, значит. Вам в данный момент такое деление не нужно, и можете исповедовать принцип "в каждом вилане своя подсеть".
    Ответ написан
    3 комментария
  • Какую роль выполняет команда Call в языке VBA?

    @Akina
    Сетевой и системный админ, SQL-программист.
    При использовании оператора Call с процедурой параметры вызываемой процедуры оборачиваются скобками. Если оператор опускаем, то опускаем и скобки.

    Call mysub(param_1, param_2) ' правильно
    mysub param_1, param_2       ' правильно
    mysub(param_1, param_2)      ' ошибка синтаксиса


    Оператор Call позволяет вызвать на исполнение не только процедуру, но и функцию - для выполнения заложенной в неё логики,- и при этом проигнорировать её результат. В случае функции параметры в любом случае обрамляются скобками.

    output = myfunc(param_1, param_2) ' правильно
    Call myfunc(param_1, param_2)     ' правильно
    Call myfunc param_1, param_2      ' ошибка синтаксиса
    myfunc(param_1, param_2)          ' ошибка синтаксиса
    Ответ написан
    Комментировать
  • Как заменить none на пустые ячейки при выгрузке с БД в WEB?

    @Akina
    Сетевой и системный админ, SQL-программист.
    как обработать значения None и заменить их на пустые ячейки в представлении WEB интерфейса?


    Что такое "None"? текстовый литерал с этим значением? или NULL?

    Если второе - то соответствующее поле надо завернуть в COALESCE(), в запросе в списке вывода. Если первое - то предварительно ещё использовать NULLIF().
    Ответ написан
    Комментировать
  • Какое регулярное выражение использовать, что бы достать из текста все цифры?

    @Akina
    Сетевой и системный админ, SQL-программист.
    \S*\d\S*
    https://regex101.com/r/bzUbiN/1

    нужно из неё вытащить, то что выделено жирным

    Показанный результат не соответствует условию. С какого перепугу в последнем токене отрезан начальный символ "№"? а в третьем и четвёртом - финальное "г."?
    Ответ написан
    Комментировать
  • Есть ли смысл делить сеть на подсети, если она будет поделена на vlan-ы?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Есть ли смысл делить небольшую сеть (около 30 компьютеров, 15 ip-камер, 15- ip-телефонов, пару серверов) на подсети, если она будет поделена на vlan-ы?

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

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

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

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

    Вопрос для курсовой работы.

    А вот это означает, что необходимо рассмотреть ВСЕ возможные схемы организации сети, сравнить их между собой, и только на основании этого сравнения ответить на вопрос, надо или нет.
    Ответ написан
    Комментировать
  • Почему SQL запрос неправильный?

    @Akina
    Сетевой и системный админ, SQL-программист.
    SELECT good,                      -- выбрать идентификатор товара
           amount * unit_price AS `sum` -- и потраченную на него сумму
    FROM Payments 
    ORDER BY `sum` DESC;                -- отсортировать по убыванию суммы
    Ответ написан
    Комментировать
  • Почему подключение к MySQL идет без пароля?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Когда в консоли ввожу mysql, то выдается такая ошбика:

    ERROR 1045 (28000): Access denied for user 'ghjjj'@'localhost' (using password: NO)

    MySQL сам придумать учётку не может. Вариантов два:

    1. Вводя mysql, ты на самом деле запускаешь не исполняемый модуль CLI, а некий скрипт, который уже запускает CLI с некими параметрами. Ищи этот скрипт, разбирайся, откуда он взялся и что задаёт в опциях запуска.

    2. CLI берёт имя пользователя из файла установок (my.ini, секция [client]). Находи и исправляй.
    Ответ написан
    Комментировать
  • Что значит Set в языке VBA?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Знак присвоения без SET присваивает скалярное значение. А с SET - ссылку на объект. То есть использовать его или нет - зависит от типа значения справа от знака присвоения. Ну и желаемого результата, конечно (включая и желание не получить ошибку несоответствия типов).

    Пример.

    • Откройте Excel.
    • Откройте окно редактора VBA (Ctrl-F11). Измените размеры окон так, чтобы видеть и таблицу, и редактор.
    • В редакторе добавьте модуль (Insert-Module).
    • Вставьте в модуль следующий текст:
      Sub test()
      Dim x, y
      Range("A1").Value = 123
      x = Range("A1")
      Set y = Range("A1")
      End Sub

    • Поставьте курсор в середину модуля, и начните пошаговое выполнение нажатием F8. Доведите исполнение до финального End Sub (когда эта строка будет подсвечена жёлтым цветом).
    • Откройте окно локальных переменных (View - Locals Window).

    Вы увидите, что первый оператор присвоения присвоил переменной x скалярное значение. Поскольку справа был объект, то в качестве скалярного значения было взято свойство объекта по умолчанию. Для объекта типа Range объектом по умолчанию является его свойство .Value - посему в переменную помещено значение 123. И соответственно переменная имеет тип Variant/Double.

    А вот второй оператор присвоения, использующий Set, поместил во вторую переменную y ссылку на объект Range. И переменная имеет тип Variant/Object/Range.
    Ответ написан
    Комментировать
  • Как вывести из sql таблицы все строки с совпадающими значениями?

    @Akina
    Сетевой и системный админ, SQL-программист.
    WITH cte AS (
        SELECT a, b, c, COUNT(*) OVER (PARTITION BY a, c) cnt
        FROM table
    )
    SELECT a, b, c
    FROM cte 
    WHERE cnt > 1
    Ответ написан
    1 комментарий
  • Не хочет связываться таблица почему?

    @Akina
    Сетевой и системный админ, SQL-программист.
    не пойму что ей надо

    Надо, чтобы в поле cat_id таблицы post уже присутствовало значение, которое ты присваиваешь полю id во вставляемой записи.
    Ответ написан
    1 комментарий
  • Как получить timestamp,обрезав пустое время?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Не делай так. Единообразие - это очень полезная штука. Если оставить нулевую компоненту времени, то конечному пользователю не придётся думать, действительно ли там нули, или время не отображается из-за какого-то косяка..
    Ответ написан
  • Каким образом стоит соединить оптоволкно с витой парой?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Оптоволокно обеспечивает магистральную передачу.
    Соответственно оптика разваривается на панель в кроссовой и оптическим патч-кордом подключается к транковому оптическому порту магистрального коммутатора (скорее всего L2+), в который вставлен оптический модуль. На обеих сторонах.
    Ответ написан
  • Разводка интернет-кабелей в квартире. Что делать?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Я бы сделал так.

    1. Убрать круглую закрывающую пластину, вместо неё смонтировать прямоугольную, отстоящую от стены на сантиметр. На неё смонтировать 4 накладные RJ-45 розетки. Или две двойные.

    2. Там где "интернет-кабель, по которому сейчас идет интернет, далее по двум парам соединяется с другим кабелем" - разъединить, вывести входящий кабель к одной из RJ-45 розеток и расшить на неё.

    2. Три кабеля, которые заходят в щиток, аккуратно вывести из него под электророзетку, которая правее верхнего правого угла щитка, и далее вверх под пластину. Расшить на остальные RJ-45 розетки.

    3. Роутер расположить выше, либо на полке над щитком, либо на стене, либо пластину сделать побольше и крепить на неё. Запитать от вышеупомянутой электророзетки. Соединить с накладными RJ-45 розетками патч-кордами минимально-достаточной длины (думаю, 0.3 метра хватит).

    Размер прямоугольной пластины посчитать, исходя из количества RJ-45 розеток и того, будет ли на неё монтироваться роутер. Материал - любой пластик миллиметра 2-3 толщиной. Все кабели (кроме патч-кордов, есссно) должны прятаться за ней и не вылезать.

    Все розетки расшивать на 8 жил по 468В, есссно.
    Ответ написан
  • Как клиенту самостоятельно менять фотографии в документе PDF?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Попробуйте PDF24. По-моему, этот комбайн умеет всё - ну разве что за пивом не бегает...
    Ответ написан
    Комментировать
  • Как оптимально сделать выборку из БД?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Применительно к данной конкретной задаче:
    • СУБД предназначена для хранения и обработки массивов данных.
    • ЯП предназначен для обеспечения пользовательского интерфейса этого процесса и управления им.


    По-моему, выбор стороны для проведения обработки очевиден.
    Ответ написан
    Комментировать
  • "Destionation host unreachable" и "Заданный узел недоступен" между двумя устройствами Windows и Linux. Как починить?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Оба устройства находятся в одной подсети. То есть в общем случае второй узел достижим напрямую, без привлечения шлюза. Что нужно проверить, кстати, соединив обе станции напрямую, минуя роутер.

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

    "Destionation host unreachable" и «Заданный узел недоступен» в переводе на русский означают следующее: я знаю, как отправить пакет на узел назначения, я отправил, но ответ не пришёл.

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

    Да, RAdmin на время разбирательств отключи..
    Ответ написан
    1 комментарий
  • Какой самый удобный способ реализации дерева категорий?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Но в mysql есть же json поля, что если построить нужное дерево в виде json

    ... то получится база, в которую удобно записывать, в которой удобно хранить, из которой удобно извлекать - и всё. Любые другие действия - поиск, изменение, сортировка, парсинг и пр.- совершенно неудобны. И с производительностью у них не очень. Так что лучше прикопать эту идею по-тихому, чтобы никто не заметил.

    Кстати, ковыряние JSON руками... либо JSON не более сотни байт, либо ни разу не развлечение (если ты не мазохист, конечно).
    Ответ написан
    Комментировать
  • Чем меньше символов, пробелов и пропусков в коде, тем лучше?

    @Akina
    Сетевой и системный админ, SQL-программист.
    чем меньше символов и пустых строк в коде, тем лучше?

    Как правило, чем меньше символов и пустых строк в коде, тем он менее читабелен (знаменитое ДвестипидисятВагонофПидарасоф - не рассматриваем). Как следствие - труднее понимаем. Это - лучше? мне лично кажется строго наоборот.

    Конечно, имеется в виду случай, когда (с точностью до имён переменных - пробелов - переводов строк) код абсолютно тот же.
    Ответ написан
    Комментировать