У меня есть Linux-ПК с двумя сетевыми картами:
1-е имя — ens192, ip — 192.168.0.2/24, gw — 192.168.0.1, также маршрут по умолчанию, основная сетевая карта
2-е имя — ens256, ip — 192.168.1.50/24, gw — 192.168.1.1, и с помощью следующих команд политики маршрутизации:
ip route добавить по умолчанию через 192.168.1.1 dev ens256 таблица 1000
ip правило добавить из таблицы 192.168.1.50 1000
ТЕПЕРЬ все подключаются (PING) 192.168.1.50 в порядке, ниже от 192.168.4.2 (у меня есть сеть 192.168.0.0/16 в маршрутизаторе, а 192.168.xxx.1 является gw по умолчанию для каждой подсети)
PING 192.168.1.50 (192.168.1.50) 56 (84) байт данных.
64 байта из 192.168.1.50: icmp_seq=1 ttl=63 время=0,560 мс
64 байта из 192.168.1.50: icmp_seq=2 ttl=63 время=0,517 мс
64 байта из 192.168.1.50: icmp_seq=3 ttl=63 время=0,678 мс
--- Статистика пинга 192.168.1.50 ---
3 пакета передано, 3 получено, 0% потери пакетов, время 2050 мс
rtt min/avg/max/mdev = 0,517/0,585/0,678/0,068 мс
ожидается ttl=63.
ПРОБЛЕМА В: В той же подсети 192.168.1.0/24 IP-адрес компьютера 192.168.1.70 ping 192.168.1.50 получил неправильное значение ttl, см. вывод:
$ пинг 192.168.1.50 -с 3
PING 192.168.1.50 (192.168.1.50): 56 байт данных
64 байта из 192.168.1.50: seq=0 ttl=63 time=0,619 мс
64 байта из 192.168.1.50: seq=1 ttl=63 time=0,512 мс
64 байта из 192.168.1.50: seq=2 ttl=63 time=0,593 мс
--- Статистика пинга 192.168.1.50 ---
3 пакета передано, 3 пакета получено, 0% потери пакетов
туда-обратно мин./средн./макс. = 0,512/0,574/0,619 мс
Ожидается ttl=64, а получилось 63!!!
Я получил pcap в wirehark:
192.168.1.70 -> 192.168.1.50
192.168.1.50 -> 192.168.1.70
Мы видим, что ПК 1.50 отвечает ICMP на gw
Мой вопрос: как исправить ttl в той же подсети? кто-нибудь поможет???