Назад | Перейти на главную страницу

Отдельные туннели GRE не могут пинговать друг друга

У меня есть две системы, которые туннелируют на основной сервер маршрутизации. Обе эти системы имеют адрес клиента с одинаковым префиксом / 64 IPv6. С каждого клиента я могу без проблем пинговать сервер и наоборот.

Однако я не могу пинговать других клиентов. Мне было интересно, есть ли какой-нибудь способ добиться этого.

Вот ошибка, когда я пытаюсь пропинговать другого клиента:

PING 2602:fed2:7706::4(2602:fed2:7706::4) 56 data bytes
From 2602:fed2:7706::2 icmp_seq=1 Time exceeded: Hop limit

куда 2602:fed2:7706::2 это местный клиент, и 2602:fed2:7706::4 это другой клиент, к которому я пытаюсь пинговать.

Изменить: клиенты все еще должны иметь возможность пинговать сервер. По сути, я хочу создать большую ячеистую сеть между всеми клиентами и сервером.

Мне удалось заставить его работать благодаря некоторым комментариям к исходному сообщению.

Первоначально все разные клиенты использовали общие адреса из / 64, и все они были добавлены как / 64 (ip addr add <ip>/64 <etc..>). Однако я решил проблему, вместо этого присвоив каждой системе / 127 (2 адреса. Один для сервера, один для клиента) из того же / 64.

В одной системе мне действительно нужно было добавить / 64, а также / 127 к интерфейсу GRE на стороне клиента, чтобы система считала адреса маршрутизируемыми, но это произошло только в одной из моих систем.

Имейте в виду, что это произошло только потому, что я использовал необъявленные адреса (это также могло произойти, если вы использовали частные адреса), если бы у вас были общедоступные маршрутизируемые адреса для каждой системы, которую вы использовали через туннель, вы бы не столкнулись с этим вопрос.