Задать вопрос
  • Как понять VLANы?

    athacker
    @athacker
    Влан -- это всего лишь идентификатор в ethernet фрейме. Который может принимать значения от 1 до 4094. Вланы не бывают тегированными или не-тегированными, они по определению тегированные. Бывает тегированным или не-тегированным трафик. Тегированный -- это тот, в ethernet фреймах которого соответствующее поле реально содержит VID -- VLAN ID, т. е. номер влана. Не-тегированный -- соответственно, такой фрейм, где номера влана нет.

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

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

    Может быть и обратная ситуация -- прилетит тегированный трафик в транковый порт (допустим, в 5-ом влане). Коммутатор определит, что получатель трафика находится на таком-то порту, и этот порт настроен для отправки не-тегированного трафика. Тогда коммутатор перед передачей пакета в этот порт уберёт трафик из фрейма и только потом отдаст фрейм в порт.

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

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

    Что касается микрота -- добейтесь сначала связи между роутером и компом в сети 192.168.1.0, без DHCP и тем более натов.

    IP 192.168.1.1 пингуется из сети 192.168.0.1 -- это понятно, так как адрес принадлежит вашему маршрутизатору. Вы можете ему на интерфейс 8.8.8.8 повесить, и он тоже будет пинговаться, даже при отсутствии интернета -- если между роутером и компом связь есть.

    Service tag ставить не надо -- это уже из области Q-in-Q, вложенных вланов (если на пальцах).

    Vlan1 -- какой vlad ID имеет?
    Ответ написан
    1 комментарий
  • Как запретить подключение по RDP к WinServ2008R2 определённому пользователю из интернета, после ввода логин\пароль?

    fzfx
    @fzfx
    18,5 дм
    если пользователю разрешено подключаться к серверу терминалов через RDP, то ему разрешено это делать с любого устройства, которое способно к нему пробиться через таблицы маршрутизации и правила файервола.
    либо запрещайте или ограничивайте доступ из интернета на сервер терминалов, либо используйте VPN для авторизации пользователей.
    Ответ написан
    8 комментариев
  • Как сделать кириллицу в командной строке. Язык С?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Это не иероглифы - это несовпадение кодировок консоли и вывода. Гуглите, ответы даже на тостере были. Совсем быстрый ответ - не парить мозг и выводить на английском.
    Ответ написан
    Комментировать
  • Как отключить буферизацию ввода и эхо-вывод (termios.h, stdin)?

    @Friedhelm Автор вопроса
    .Net Enterprise developer
    #include <termios.h>
    
    // хранилище дефолтного состояния
    static struct termios stored_termios;
    
    // Отключить эхо-вывод и буферизацию ввода
    void set_keypress (void)
    {
        tcgetattr(0, & stored_termios);
    
        struct termios new_termios = stored_termios;
            new_termios.c_lflag &= ~(ECHO | ICANON);
            new_termios.c_cc[VMIN] = 1;  
            new_termios.c_cc[VTIME] = 0; 
     
        tcsetattr(0, TCSANOW, & new_termios);
    }
     
    // Восстановление дефолтного состояния
    void reset_keypress (void) 
    {
        tcsetattr(0, TCSANOW, & stored_termios);
    }
    Ответ написан
    Комментировать
  • Как найти родительский процесс?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Есть у меня один зомби-процесс

    Где?
    user 3954 0.0 0.0 105316 952 pts/0 S+ 05:57 0:00 grep -w Z

    Здесь нет ни одного зомби.

    А grep в списке процессов ожидаемо есть и по условию "встречается Z" он успешно находит самого себя.
    Ответ написан
    1 комментарий
  • Как распределяется скорость интернета между процессами?

    Jump
    @Jump Куратор тега Системное администрирование
    Системный администратор со стажем.
    Как распределяется скорость интернета между процессами?
    Никак.
    Пакеты встают в очередь в порядке их поступления, кто первый пришел тот раньше в очереди.
    Через интерфейс провайдера пролазит только кусок очереди ограниченный вашим тарифом. Если в очереди пакетов больше чем может пролезть через интерфейс, то все кто не прошел - уничтожаются.
    Вот и все.

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

    Приоритеты процессов одинаковы.
    Это вы в диспетчере задач посмотрели?
    Приоритет процесса определяет сколько ему достанется процессорного времени и ничего более. На передачу по сети он никак не влияет.
    Ответ написан
    Комментировать
  • Компьютеры сканируют весь диапазон сети при включении. Какая причина и как вылечить?

    Ezhyg
    @Ezhyg
    - ОС: WinXP,

    Троян. Лечи ОСь и ставь на неё заплатки!
    убивалка - \\live.sysinternals.com\tools\procexp.exe
    запрещалка загрузки - \\live.sysinternals.com\tools\autoruns.exe
    (ссылки копировать и вставлять в адресную строку проводника)
    Ответ написан
  • Компьютеры сканируют весь диапазон сети при включении. Какая причина и как вылечить?

    Griboks
    @Griboks
    сначала один пк начал сканировать всю сеть автоматически при загрузке

    Ответ очевиден - появилась новая программа (или обновление). Значит, её надо устранить либо заблокировать ей доступ к сети. Соответственно, можете переустановить ос (в каждом офисе должен быть диск восстановления системы) или настроить брандмауэр на компе. Пока вам не удастся локализовать программу, дальше что-то более конкретное предложить невозможно.
    Ответ написан
    Комментировать
  • Как ускорить вставку данных в таблицу с 500 млн записей?

    @d-stream
    Готовые решения - не подаю, но...
    1. bulk insert
    2. при гарантированной корректности данных - немного может поспособствовать вначале влитие данных в таблицу без индексов, а уже потом alter с установкой индексов
    Ответ написан
    Комментировать
  • Что лучше локальные файлы или БД?

    sim3x
    @sim3x
    и недавно узнал, что html шаблоны можно кодировать в base64 и хранить в бд MySQL
    а теперь забудьте.

    В здравом уме никто
    - не кодирует хтмл в бейз64
    - почти никто не хранит шаблоны в БД

    Шаблоны следует хранить в файлах, так как так их можно поместить в гит и следить за их изменениями
    Ответ написан
    Комментировать
  • Почему чтение не разрешено?

    @Mercury13
    Программист на «си с крестами» и не только
    Отлично, вы уже запустили какой-то код. Но соглашение вызова так и не выдержали.
    1. Используйте соглашение вызова STDCALL. Тогда функция должна будет сама подчищать за собой. Поскольку в ней нет никаких локальных переменных, и подчистка не потребуется.
    typedef uint32_t WINAPI (*SomeFunc)();
    uint32_t result = (SomeFunc)exec();

    Заодно это позволит увидеть, что функция запустилась. В любом случае возвращаемое значение будет в eax.
    2. В конце нашей функции поставьте RET (опкод CB, если я не ошибаюсь).
    3. Вычислите и впатчите в наш код адрес переменной.

    я думал тут адрес указывается относительно текущего сегмента, как тогда быть?

    Начиная с защищённого режима 386, у нас «плоская память». Сегменты используются только загрузчиками, ВМами и прочей шушерой. Просто вычислите 32-битный адрес и запишите куда надо.
    Ответ написан
    Комментировать
  • Что делать с неконтролируемой постоянной перезагрузкой виндовс 10?

    devspec
    @devspec
    Помогло? Отметь решением
    Ситуация довольно тривиальная.
    Первое - отключите батарею. Иногда помогает просто её отключить, совсем вытащить из ноутбука.
    Если не помогло - нужно загрузиться в любом доступном режиме и сделать chkdsk системного диска, sfc /scannow и/или воспользоваться средствами восстановления из предыдущей контрольной точки.
    Если не срабатывает F8 (особенно на SSD - практически невозможно поймать момент) - загрузиться можно с помощью диска восстановления системы или любого live-дистрибутива Windows.
    Если ничего не помогло - переустановка системы.
    Ответ написан
    Комментировать
  • Как сравнить точность аналитического алгоритма и его программной реализации?

    @Mercury13
    Программист на «си с крестами» и не только
    Есть вычитание близких чисел? Какие-нибудь циклы вроде СЛАУ больших порядков и решения дифуров? Знакопеременные ряды? Если нет, можно писать, что вклад машинной арифметики в точность алгоритма незначителен.
    А если есть, нужно исследовать, кто и как может многократно усилить ошибки округления.
    Ради эксперимента можно также сравнить результаты во float и double.

    Пример алгоритма, который аналитически устойчив, а вычислительно — нет: e−x «в лоб» при достаточно больших x. Связан он с тем самым вычитанием близких чисел: промежуточные члены ряды могут быть достаточно большие, а в результате выходит 0,0…01.

    UPD. Вот такую книжку нашёл: info.alnam.ru/book_clm.php?id=26
    Ответ написан
    2 комментария
  • Запись вектора в бинарный файл. С++ Читать бинарный файл?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Сам вектор не содержит ваших чисел. Он содержит только описание области памяти, выделенной для хранения данных.
    В данном случае первый элемент вектора находится по адресу 0x0016D5В8, последний - по адресу 0x0016D5С2.
    https://stackoverflow.com/questions/27466373/memor...
    Ответ написан
    Комментировать
  • Где ошибка в коде, потерялся символ, и не работает free()?

    myjcom
    @myjcom
    *** Error in `/home/a.out': double free or corruption (!prev): 0x0000000000d95010 ***

    while ((len = getlen(&p1,&p2)) >0){
        if (len >= len_max){
          len2 = del_spacetab(&p1,len);
          len-=len2;
          len_p2 += len;
    
          coppy(&p2, &p1,len_p2,len,&first_round);
    
        }

    при втором вызове coppy(&p2, &p1,len_p2,len,&first_round);
    Вы повторно вызываете free() для одного и того же указателя.
    В стандарте Си это Undefined behavior.
    Ответ написан
    1 комментарий
  • Возможно ли вывести "Hello world" на assembler (fasm) под win 64bit?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Assembler
    Седой и строгий
    Исполняемые файлы формата COM невозможно запустить без эмулятора на 64-разрядной Windows.
    Ответ написан
    Комментировать
  • Пинги к устройствам во внутренней сети выросли до 100-600мс Какая причина?

    p00h
    @p00h
    Фехтовальщик-стропальщик
    Шаг за шагом, железка за железкой. Проверить ВСЕ возможные узлы, которые отвечают за передачу трафика. Любой свитч, роутер, коммутатор. Наблюдение с грустью за пингами проблему не решит.
    Ответ написан
    Комментировать
  • Start xxx.bat: как сделать, чтобы не вываливалось в командную строку?

    @Mercury13 Автор вопроса
    Программист на «си с крестами» и не только
    start "32-bit" cmd /c 2.bat
    Ответ написан
    5 комментариев
  • Как программисты "старой школы" пишут: while true или while 1?

    И почему так сложилось, что в плане семантики 1 == true?

    Исторически. 0 и 1, нет напряжения и есть напряжение, ложь и прада. Вот отсюда.

    И есть ли разница в производительности?

    Никакой.

    Как программисты «старой школы» пишут: while true или while 1?

    Программисты старой школы считают ноль ложью, а все остальное - истиной.
    Ответ написан
    2 комментария