私の人生では、なぜこの質問に反対票を投じるべきなのかわかりません。明確で、正しく、明確な答えがあります。私はそれを支持しました。
tunctl などの古いユーティリティを使用しています。ip を使用する必要があります 代わりは。 /etc/network/interfaces の正しいスタンザ です:
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
あなたの間違いは static の使用にありました 手動の代わりに .その理由は、メイン インターフェイス (wlan0/eth0) と同じサブネット内のアドレスを仮想インターフェイスに与えようとしているため、自動的にローカル ルートを追加しようとすると、
ip route add 192.168.1.0/24 dev tap1
そのようなルートがすでに存在することがわかり、文句を言います。 手動を使用する場合 静的ではなく、このルートを削除できますが、これはもちろん役に立ちません。
また、ルートを追加する必要があります
ip route add 192.168.1.121/32 dev tap1
ルートに例外があることをカーネルに通知する
ip route add 192.168.1.0/24 dev eth0/wlan0
それで全部です。