В ряде случаев, путем анализа пакетов протоколов семейства TCP/IP, можно сделать предположение либо о типе ОС (а также о NAT в случае использования), либо об аппаратном NAT. Дело неблагодарное... В сети можете найти статьи на эту тему, а также ряд программ.
Обращаю внимание на то, что даже *честный* пользователь может иметь у себя на ПК несколько виртуальных машин, которые ходят через основную машину, но можно обнаружить специфику, может иметь нотебук, который по Wi-Fi подключается к стационарному ПК и выходит через него в интернет (аналогично с КПК), может просто иметь несколько машин дома, не говоря уже о том, что никто ему не запрещает настроить NAT для самого себя или купить простейший маршрутизатор с NAT вне зависимости от того нужен он ему или нет!-)
Вы можете требовать от пользователя:
- чтобы Ваше устройство (свитч) видел только один MAC-адрес клиента (такие требования присутствуют при подключении к пунктам обмена трафиком).
- чтобы пользователь использовал конкретный MAC-адрес (пусть пытается использовать другие, но работать должен только этот. Лучше ограничить пользователя технически, чем бороться административно).
- чтобы пользователь использовал только протокол TCP/IP с конкретным IP-адресом.
Два последних пункта как раз без проблем реализуются с помощью IpMacBindingPort. Первый пункт можно реализовать с помощью PortSecure, если есть необходимость (может у Вас слишком много MAC'в в сети).
Хорошо бы еще запретить пользователю запускать DHCP-сервера, но лучше не допустить это технически (можно сделать на свитчах с помощью ACL-правил).
Можно потребовать, чтобы пользователь обязательно получал адрес по DHCP, но это не критично (хотя наверное на базе этого тоже есть решения).
Можно вообще использовать 802.1x, но это отдельная песня с отдельной головной болью...
А вот на счет остального - увы...
Вы можете учитывать трафик пользователя или полосу пропускания. Тогда Вам должно быть без разницы куда он девает трафик, если это Ваш клиент, хотя конечно обидно, если он играет роль шлюза между домовой сетью и Вами, да еще и требует соблюдения условий договора по полосе пропускания!-) Если же это Ваш подчиненный сотрудник, то тут могут применяться технические средства в сумме с административными, что должно дать эффект.
Есть вариант учитывать кол-во пакетов, но вряд ли тут есть перспективы.
Можно попробовать ограничить кол-во TCP-сессий. Проведите тест и проверьте сколько в среднем коннекций при нормальной работе с ПК, сделайте запас и ограничьте на Вашем маршрутизаторе. Если у пользователя за NAT'м один-два ПК, то будет все нормально. А если сотни, то точно сработает!-)
Если есть какие еще идеи, то пишите... Очень интересная тема, хотя немного off topic для этого форума. Ну да привяжем к коммутатору!-)
|