Никогда с таким не сталкивался. Правда я в основном имел дело с софтовыми DHCP, были конфигурации как у вас, когда все адреса были закреплены за конкретными железками по MACу, все работало без дополнительных адресов.
kytcenochka, Да, выход за границу массива был на операции vec[++i2], тут как раз ошибка (нулевой элемент всегда игнорировался, последний элемент брался за верхней границей массива) - нужно использовать постинкремент. И k+1 для сдвига - то же было ошибкой.
Была аналогичная ситуация, только виновница сдохла на месте преступления под подвесным потолком, но работу сети успела нарушить. :-) После этого контора проводила дезинфекцию офиса.
Я за VPN как дополнительное средство авторизации. С помощью ВПН вы легко сможете управлять доступом пользователей во внутреннюю сеть. Конечно, на ВПН нужно посадить всех, кто имеет доступ из вне. Прямой доступ запретить.
Кстати, теоретически авторизацию ВПН можно настроить через АД (ВПН не обязательно должен быть от микрософт и под винду, например, OpenVPN поддерживает LDAP авторизацию, так что его можно прикрутить к АД), и привязать, например, на вхождение пользователя в определенную группу. Тогда непосредственно ВПН сервер не нужно будет переконфигурировать каждый раз, когда изменяются права пользователей - достаточно включить пользователя в нужную группу. На ВПН я такую схему не пробовал, но на почтовиках работает отлично.
kytcenochka, Сочувствую. У меня собралось и запустилось нормально. Возможно вы где-то в переносе ошиблись или у нас с вами разный входной файл.
Запустите программу под отладчиком!
kytcenochka, Почему во втором цикле k<6? - так вы пропускаете последний элемент в строке (точнее он переходит на следующий цикл). В итоге вы пропустите 3 последние байта.
Если k<6, то инициализировать k надо 0, а не 1.
В файле переводы строк есть?
Входной файл текстовый или бинарный?
Чтение у вас как-то странно реализовано, на мой взгляд.
Вам посмотреть ход выполнения под отладчиком многое стало бы понятней.