Za celý svůj život nechápu, proč by tato otázka měla být zamítnuta. Je to jasné, správné, má to přesně definovanou odpověď. Hlasoval jsem pro to.
Používáte zastaralé nástroje jako tunctl, měli byste použít ip namísto. Správná stanza pro /etc/network/interfaces je:
iface tap1 inet manual
pre-up ip tuntap add tap1 mode tap user root
pre-up ip addr add 192.168.1.121/24 dev tap1
up ip link set dev tap1 up
post-up ip route del 192.168.1.0/24 dev tap1
post-up ip route add 192.168.1.121/32 dev tap1
post-down ip link del dev tap1
Vaše chyba byla v použití statického místo manuální . Důvodem je to, že když se pokoušíte dát virtuálnímu rozhraní adresu ve stejné podsíti jako vaše hlavní rozhraní (wlan0/eth0), když se automaticky pokouší přidat místní trasu,
ip route add 192.168.1.0/24 dev tap1
zjistí, že taková cesta již existuje, a stěžuje si. Pokud používáte ruční místo statické můžete tuto trasu smazat, což je samozřejmě k ničemu.
Také byste měli přidat trasu
ip route add 192.168.1.121/32 dev tap1
abyste informovali své jádro, že existuje výjimka v cestě
ip route add 192.168.1.0/24 dev eth0/wlan0
To je vše.