Я создал туннельное использование устройства
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
Кроме того, в моей основной таблице маршрутизации нет никакой записи маршрута по умолчанию.
Я знаю, что прошло шесть лет, но на случай, если кто-то столкнется с подобной проблемой: это похоже на то, что фильтр обратного пути 'rp_filter' отбрасывает трафик.
По ссылке:
echo 1> / proc / sys / net / ipv4 / conf / (interfacename) / log_martians
echo 0> / proc / sys / net / ipv4 / conf / (имя интерфейса) / rp_filter