Данный вопрос звучал уже неоднократно, но уже вышла новая версия FreeBSD так что повторюсь:
Как на определенном интерфейсе установить определенное значение TTL для сокрытия присутствия локальной сети за NAT?На текущий момент облазил весь русский Google, немалую часть заморского, руководства MAN, кучу российских сайтов посвященных настройке FreeBSD, данный форум, слегка прокопал ядро систмы.
Единственный способ который пока не успел проверить заключается в легкой подправке кода ядра системы, что делать очень не хочется исходя из:
1. моральных соображений...
2. того что если припрет сменить TTL - снова придется собирать ядро
*. к тому же это приведет к смене TTL абсолютно всех пакетов, а хочется как в линуксовых iptables на определенные пакеты устанавливать определенные значения...Может все-таки есть какой-либо хотябы отдаленно напоминающий нормальный способ работы с очередью отправки IP во фрях???
ЗЫ:
при копании в ядре появилась очень не здоровая мысль: изменение кода ipfw в месте где он использует ipttl:
-извлечение из пакета текущего TTL и сравнением его с заданным в правилах фильтрации-
заменить на
-извлечение из правил желаемого TTL и подстановка его в IP пакет-По необоснованным предположениям это должно работать также как set-ttl в iptables, а синтаксис команды может даже не измениться
>Данный вопрос звучал уже неоднократно, но уже вышла новая версия FreeBSD так
>что повторюсь:
>Как на определенном интерфейсе установить определенное значение TTL для сокрытия присутствия локальной
>сети за NAT?
>
>На текущий момент облазил весь русский Google, немалую часть заморского, руководства MAN,
>кучу российских сайтов посвященных настройке FreeBSD, данный форум, слегка прокопал ядро
>систмы.
>
>Единственный способ который пока не успел проверить заключается в легкой подправке кода
>ядра системы, что делать очень не хочется исходя из:
>1. моральных соображений...
>2. того что если припрет сменить TTL - снова придется собирать ядро
>
>*. к тому же это приведет к смене TTL абсолютно всех пакетов,
>а хочется как в линуксовых iptables на определенные пакеты устанавливать определенные
>значения...
>
>Может все-таки есть какой-либо хотябы отдаленно напоминающий нормальный способ работы с очередью
>отправки IP во фрях???
>
>ЗЫ:
>при копании в ядре появилась очень не здоровая мысль: изменение кода ipfw
>в месте где он использует ipttl:
> -извлечение из пакета текущего TTL и сравнением его с заданным в
>правилах фильтрации-
>заменить на
> -извлечение из правил желаемого TTL и подстановка его в IP пакет-
>
>
>По необоснованным предположениям это должно работать также как set-ttl в iptables, а
>синтаксис команды может даже не измениться
sysctl -w net.inet.ip.ttl=значениеИзменяет значение ttl для всех ip пакетов.
Может поможет.
>sysctl -w net.inet.ip.ttl=значение
>
>Изменяет значение ttl для всех ip пакетов.
>
>Может поможет.Данная опция относиться к пакетам, генерируемым самой системой, а не к транзитным пакетам.
Вопрос действительно актуальный. Тоже долго искал, но безуспешно :(
добавляем в конфиг ядра :
options IPSTEALTH
>добавляем в конфиг ядра :
>options IPSTEALTH
А эта опция нужна для того чтобы, ttl не уменьшался на 1 у транзитных пакетов при проходе через систему, благодаря чему "обламывается" traceroute. Но опять-таки к сути проблемы не имеет значения.
>>добавляем в конфиг ядра :
>>options IPSTEALTH
>
>
>А эта опция нужна для того чтобы, ttl не уменьшался на 1
>у транзитных пакетов при проходе через систему, благодаря чему "обламывается" traceroute.
>Но опять-таки к сути проблемы не имеет значения.Ндаа... обломно короче выходит :(
А тебе freebsd критично использовать? Просто в linux я делаю это одной строкой в фаерволе
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64
>А тебе freebsd критично использовать? Просто в linux я делаю это
>одной строкой в фаерволе
>iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64Думал - что критично, теперь решил что нет...
Фря всего-навсего мне более симпатична - человеческий фактор :)
>Думал - что критично, теперь решил что нет...
>Фря всего-навсего мне более симпатична - человеческий фактор :)Можно подправить alias.c в libalias, довольно тривиально, если организовывать в виде хака..