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

Туннель IP-in-IP не работает - пакеты не декапсулируются

Я пытаюсь пересылать пакеты с HostA на HostB, используя туннелирование ip-in-ip. Пока пакеты достигают места назначения, они не декапсулируются принимающим узлом и, таким образом, впоследствии отбрасываются. Мне кажется, я исчерпал весь гугл. По сути, похоже, что принимающий хост никогда не отправляет пакеты туннельному устройству для декапсуляции.

Учебник, который я использовал чаще всего, пытаясь это сделать, Вот, но я пробовал несколько методов и разные руководства, и постоянно сталкиваюсь с одной и той же проблемой. Что мне не хватает?

На HostA:

ip tunnel add tun0 mode ipip local $hostA remote $hostB
ip link set tun0 up
ip addr add 10.10.10.1/24 dev tun0

На HostB

ip tunnel add tun0 mode ipip local $hostB remote $hostA
ip link set tun0 up
ip addr add 10.10.10.2/24 dev tun0

Теперь, когда я ping 10.10.10.2, Я не получаю ответа. HostB показывает (через tcpdump -c 10 -nn src host 10.10.10.1 or src host $hostA):

(отредактировано для удаления фактического IP-адреса хостов)

18:18:56.026192 IP [HostA eth0 IP] > [HostB eth0 IP]: IP 10.10.10.1 > 10.10.10.2: ICMP echo request, id 41073, seq 69, length 64 (ipip-proto-4)

Входящие пакеты выглядят так, как должны, но они никогда не декапсулируются. tcpdump -nni tun0 не имеет выходных данных и никогда не отвечает на пинг.

Убедитесь, что правила вашего брандмауэра разрешают получение запроса на HostB (и, очевидно, обратное на HostA тоже).

В данном случае, в частности, принятие протокола ipencap решило проблему.