ethからTUN / TAPにトラフィックを転送できません。

ethからTUN / TAPにトラフィックを転送できません。

enp5s0物理インターフェイスから仮想インターフェイスにトラフィックを転送しようとしていますtun0。目標は基本的にtun0から来るすべてのパケットを受信することですenp5s0

まず、次のコマンドを使用して転送を有効にしました。

sudo sysctl -w net.ipv4.ip_forward=1

その後、tun0実行して作成しました。

sudo ip tuntap add dev tun0 mod tun

IPアドレスを割り当ててデバイスの電源を入れます。

sudo ifconfig tun0 10.1.8.5 netmask 255.255.255.0 promisc up

enp5s0からのすべてのパケットが必要なので、使用する必要がありtun0ます。iptablesenp5s0からへの転送を許可するルールを作成する必要があるため、tun0コマンドは次のようになります。

sudo iptables -A FORWARD --in-interface tun0 --out-interface enp5s0 -j ACCEPT

次に、次を実行してNATを有効にしました。

sudo iptables -t nat -A POSTROUTING --out-interface enp5s0 -j MASQUERADE

TCPダンプディスプレイにトラフィックがありませんtun0

また、ほぼ同じことを試しましたが、TAPデバイスを使用しました。ブリッジを使用brctl、追加、作成しましたが、パケットを受信できず、すべてがうまく機能します。 TUNの場合は効果がありません。エラーはどこにありますか?tap0enp5s0tap0enp5s0default gw 10.1.8.5

ベストアンサー1

iptables コマンドでは、入出力インターフェイスが反転されます。

彼らは次のようになります。

sudo iptables -A FORWARD --in-interface enp5s0 --out-interface tun0 -j ACCEPT

そして:

sudo iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE

おすすめ記事