Сегодня я трачу много времени на выяснение того, как это сделать, но я не смог найти решение. На мой взгляд, это должно быть возможно. Я пытаюсь установить следующую настройку:
обзор настройки
Чтение кран1
интерфейс и переадресация на enp0s3
используя Go должен работают без проблем... надеюсь. Если я сделаю пинг 10.0.0.10 -I tap1
Я вижу кадры эфира в приложении Go. (в настоящее время я использую https://github.com/songgao/вода но я, вероятно, перейду на https://github.com/mdlayher/пакет если я заставлю это работать)
У меня проблема с пересылкой эфирных кадров из enp0s8
к кран1
интерфейс. Я пробовал несколько команд, но это не работает. я пытался использовать iptables
:
iptables -A FORWARD -i enp0s8 -o tap1 -j ПРИНЯТЬ
и подобные команды.
Затем я нашел этот вопрос: Tap0 не получает трафик где Шервуд Ван сказал следующее:
Если вы хотите заставить tap0 получать собственные IP-пакеты, вы можете использовать ebtables. Когда пакеты сбрасываются на уровне Ethernet tap0 в таблице broute, эти пакеты переходят на уровень IP tap0 вместо eth0. См. также: http://ebtables.sourceforge.net/examples/real.html#example1
Что звучит именно то, что мне нужно. Я думаю, что нашел команду, которую он имеет в виду здесь: https://ebtables.netfilter.org/examples/basic.html#ex_brouter
ebtables -t broute -A BROUTING -p ipv4 -i tap1 --ip-dst 172.16.1.1 -j DROP
Однако я получаю следующую ошибку: ebtables: Нет цепочки/цели/совпадения с таким именем
. если я посмотрю на человек
я не вижу грубо
упомянутая таблица. Я вижу это здесь, хотя https://linux.die.net/man/8/ebtables. Так я что-то пропустил?
я тоже пробовал ebtables -A FORWARD -i enp0s8 -o tap1 -j ПРИНЯТЬ
от https://www.linuxquestions.org/questions/linux-networking-3/ebtables-to-setup-forwarding-and-ethernet-level-nat-4175538316/ но это тоже не работает.