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
ます。iptables。enp5s0
からへの転送を許可するルールを作成する必要があるため、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の場合は効果がありません。エラーはどこにありますか?tap0
enp5s0
tap0
enp5s0
default 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