Вообще, изменять TTL в проходящих пакетах - диверсия и нарушение стандарта. Сразу отсекаем нафиг диагностические средства типа traceroute. Кроме того (в том числе по указанной причине) не имеет смысл провайдеру определять NAT лишь по TTL, а клиенту маскировать его только лишь изменением TTL. Давно уже существуют методики определения NATа по "отпечаткам" TCP/IP-стека в пакетах, позволяющие даже примерно оценить количество машин за NATом. Так что единственный надежный способ для клиента замаскироваться - это поставить проксю %)