Передайте пакеты IP для туннелирования устройства

Я создал туннельное использование устройства

IP tuntap добавляет пользователя dev tun0 бочки режима 0 групп 0

Я затем присваиваю ему IP-адрес 192.168.0.1/22

сетевая маска ifconfig tun0 192.168.0.1 255.255.252.0

На моем устройстве Ethernet eth0, я получаю пакеты от машин в диапазоне IP-адреса 192.168.1.2-192.168.1.5. Я хотел бы, чтобы эти пакеты были переданы на туннельном устройстве. Я не хочу создавать мост между туннельным устройством и Ethernet. Я поэтому добавил записи маршрутизации в таблице маршрутизации следующим образом.

IP правило добавляет от 192.168.1.0/24 поиска myinternal

IP маршрут добавляет значение по умолчанию через таблицу 192.168.0.1 dev tun0 myinternal

Я сбросил (удалил) все IP записи таблиц. Однако существует две записи

iptables-A ВПЕРЕД-i eth0-o tun0-j ПРИНИМАЮТ

iptables-A ВПЕРЕД-i tun0-o eth0-j ПРИНИМАЮТ

Когда я делаю tcpdump на tun0, я не могу видеть пакеты от eth0. Однако я вижу пакеты, когда я делаю tcpdump на eth0. Я хотел бы знать, как я могу передать/получить эти пакеты на tun0. От tun0 я позже хотел бы обработать эти пакеты и ответ им из моего приложения и при необходимости передать их на другой интерфейс. Я не могу использовать eth0 для своих операций.

Я позволил передать использование systl для ipv4.

кошка/proc/sys/net/ipv4/ip_forward

1

Кроме того, в моей основной таблице маршрутизации нет никакой записи маршрута по умолчанию.

4
задан 17 July 2012 в 04:12
1 ответ

Я знаю, что прошло шесть лет, но на случай, если кто-то столкнется с подобной проблемой: это похоже на то, что фильтр обратного пути 'rp_filter' отбрасывает трафик.

По ссылке:

  • log rp_filter сброшен трафик:

echo 1> / proc / sys / net / ipv4 / conf / (interfacename) / log_martians

  • disable rp_filter:

echo 0> / proc / sys / net / ipv4 / conf / (имя интерфейса) / rp_filter

0
ответ дан 3 December 2019 в 04:29

Теги

Похожие вопросы