Как маршрутизировать траффик через промежуточный локальный интерфейс?
Вам нужно на роутере добавить маршрут до сети 192.168.5.0/24 через IP eth0.
На самом компе добавлять маршрут не нужно, т.к. он имеет IP адреса во всех задействованных сетях, то маршруты уже есть.
Пингами с роутера проверяете доступность IP eth1.
Т.к. eth2 работает мимо ОС, то схема должна работать.
Естественно на компе надо включить маршрутизацию пакетов и настроить/выключить фаервол.
Сниффером слушаете eth1.

Более "чистая" и точно рабочая схема была бы, если использовать второй ПК: eth2<=>второй ПК<=>router
На втором ПК можно настраивать сниффер и видеть весь трафик.
В итоге решил вопрос с помощью ip netns
Написал следующий скрипт:
#!/bin/sh

# установка и настройка изолированного сетевого пространства имен
ip netns add ns0
ip link set eth2 netns ns0
ip -n ns0 link set lo up
ip -n ns0 link set eth2 up
ip -n ns0 addr add 192.168.5.2/24 dev eth2
ip -n ns0 route add default via 192.168.5.1 dev eth2

# в дефолтном пространстве надо поднять NAT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.5.2/32 -j MASQUERADE

# и надо запустить отдельный SSH-сервер на новом пространстве
sudo ip netns exec ns0 /usr/sbin/sshd -o PidFile=/run/sshd-ns0.pid
Завернул этот скрипт в oneshot сервис и теперь systemd дергает его при запуске системы.
Можно подключаться ssh 192.168.5.2 и видеть ту же самую локальную машину, которая как бы находится в другой сети, весь трафик которой завернут через eth1 на eth0.