Как я могу изменить TTL многоадресных пакетов TCP / IP? - PullRequest
1 голос
/ 15 января 2009

Я поддерживаю стороннее приложение, которое отправляет многоадресные пакеты с TTL, равным 1. Мы не можем изменить приложение, но нам нужен более высокий TTL для маршрутизации пакетов в сеть другого клиента. Есть ли сетевое устройство или приложение Windows (Server 2003), которое позволит мне изменить это?

Есть ли лучший подход для соединения отправителя и получателя в этом сценарии?

Ответы [ 3 ]

2 голосов
/ 15 января 2009

Linux netfilter, более известный как команда iptables:

Управление TTL задокументировано как «расширение», но, похоже, оно уже включено в популярные дистрибутивы Linux.

С справочной страницы (man iptables):

TTL

Используется для изменения поля заголовка IPv4 TTL. Поле TTL определяет, сколько прыжков (маршрутизаторов) может пройти пакет, пока не истечет его время жизни. Установка или увеличение поля TTL может быть очень опасным, поэтому его следует избегать любой ценой. Никогда не устанавливайте и не увеличивайте значение для пакетов, которые покидают вашу локальную сеть!

mangle таблица:

--ttl-set value - установить значение TTL на «значение».

--ttl-dec value - Уменьшить значение TTL «значение» раз.

--ttl-inc value - Увеличение значения TTL в «значение» раз.

1 голос
/ 16 января 2009

Вы можете проверить mTunnel , это сделано для туннелирования многоадресного трафика.

1 голос
/ 15 января 2009

Это возможно на отправляющем хосте (например, используя ipfw и divert на FreeBSD; я не знаю эквивалента для MS-Windows), но может потребовать больше усилий, чем оно того стоит.

Простым вариантом может быть использование VPN (виртуальная частная сеть), чтобы на уровне приложений было видно, что отправляющий и принимающий хосты находятся в одной (виртуальной) сети.

...