DAR: http://dar.linux.free.fr/ соответствует всем вашим требованиям.
Вам нужны iptables
правила для переадресации ввода с одного устройства ethernet на вывод на другое устройство и наоборот -наоборот, чтобы трафик мог проходить в обоих направлениях. Затем вам нужно будет установить соответствующие маршруты на любых устройствах, которые вы хотите подключить к своей виртуальной подсети
Я использую (, делаю то же самое в виртуальном боксе, один сетевой адаптер подключен к моей локальной сети, другой — «только для внутреннего использования» ). Я установил это как сценарий для запуска при загрузке через rc.local на виртуальной машине «маршрутизатор»...
#!/bin/bash
/sbin/iptables -F
/sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT