2番目のインターフェイスを介してBitTorrentをルーティングする方法は?

2番目のインターフェイスを介してBitTorrentをルーティングする方法は?

トンネルが機能して動作するようにDD-WRTルーターでopenvpnを正常に設定しましたが、ルーティングをまったく妨げることはありません(デフォルト設定では、すべてのトラフィックがトンネルを通過したい)。

tun1のポート51413を私のネットワーク(192.168.77.145)の特定のホストにポート転送したいです。

また、 tun1 経由でルーティングされるようにポート 6881-6890 を偽装する必要があります。これにはパケットの変更/表示と手動によるルーティング設定が含まれていることがわかっていますが、iptablesを考慮して12年になりました(その時点でまだダイヤルアップがあったようです)。

私が偶然見つけることができなかったレシピはインターネットにありますか?

[編集する]

私はtcpdumpを試してみましたが、私が使用しているクライアント(OSXでの転送)に奇妙な機能があるようです。このクライアントは、すべての発信パケットとすべての着信パケット宛先にソースポートとして51413(ユーザー設定可能)を使用します。 tcpdumpでポート6881-6889を探しても、このポートは常にリモート側の送信元ポートであり、常に51413に送信されます。

だから思ったよりもとても簡単でした。 tun1インターフェースを介して、対応するsrcポート番号を持つすべてのエントリをルーティング/最長にします。

私の考えでは、iptablesのルールは次のようになります。

# mark bittorrent packets
iptables -t mangle -A OUTPUT -p udp --sport 51413  -j MARK --set-mark 7
iptables -t mangle -A OUTPUT -p tcp --sport 51413  -j MARK --set-mark 7

# allow responses
iptables -A INPUT -i tun1 -m conntrack --ctstate ESTABLISHED -j ACCEPT

# allow bittorrent
iptables -A INPUT -i tun1 -p udp --dport 51413 -j ACCEPT
iptables -A INPUT -i tun1 -p tcp --dport 51413 -j ACCEPT

# block everything incoming on vpn
#iptables -A INPUT -i tun1 -j REJECT

# masquerading
iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE

これは正常に見えますか?まだルーティングルールがわからない。

[編集2]

私は-Aがiptablesルールの最後に追加されるので、間違っていると思います。私のルーターは最初に神が何を知っているかを追加し、そのルールが一致する場合、そのルールは無視されます。私は彼らがすべて-Iでなければならないと確信しています。

このように変更しても何も機能しません。

このパケットは私のプライベートネットワークのbr0(ブリッジインターフェイス)に表示されます。何も変更しない場合、DD-WRT設定はvlan2を介してNATされます。もちろん、OpenVPNのインターフェイスはtun1です(これを介してbtトラフィックを送信したい)。

[編集3]

最初の2つのiptablesステートメントが正しくありません。私は作者が自分のデスクトップをルーターとして使用する例を取り組んでいます(私の考えでは)。これは、デスクトップがローカルネットワークを介して2つの外部インターフェイスを持つルーターにパケットを送信するのとは異なります。正しいステートメントのセットは次のとおりです。

# routing table setup
ip route replace default via $VPNGW dev tun1 table 100
ip rule add fwmark 7 table 100

# mark bittorrent packets
iptables -t mangle -I PREROUTING -p udp --sport 51413 -j MARK --set-mark 7
iptables -t mangle -I PREROUTING -p tcp --sport 51413 -j MARK --set-mark 7

# allow responses
iptables -A INPUT -i tun1 -m conntrack --ctstate ESTABLISHED -j ACCEPT

# allow bittorrent
iptables -A INPUT -i tun1 -p udp --dport 51413 -j ACCEPT
iptables -A INPUT -i tun1 -p tcp --dport 51413 -j ACCEPT

# block everything incoming on vpn
iptables -A INPUT -i tun1 -j REJECT

# masquerading
iptables -t nat -I POSTROUTING -o tun1 -j MASQUERADE

これはまだ完璧ではありません。現在、ほとんどのbtトラフィックはtun1を通過しますが、vlan2にはまだ51413の受信パケットが表示されます。なぜこれが起こるのかわかりません。

ベストアンサー1

おすすめ記事