2つの異なる場所に2つのVPNサーバーが設定されており、AはStrongswanをサーバーとして実行し、openvpnをクライアントとして実行し、Bがopenvpnをサーバーとして実行し、AとBはopenvpnを介して接続されます。私がやりたいことは、AとBの間に確立されたopenvpnトンネルを介して、Aがすべてのクライアントトラフィックをポート443と80にルーティングすることです。
-t mangle PREROUTING -p tcp -m tcp --dport 443 -j MARK --set-xmark 0x2/0xffffffff
タグ付きすべてのトラフィック()をopenvpnトンネルにルーティングするルーティングテーブルを追加しました。
tcpdump
タグ付きトラフィックは()を使用してトンネルに正常にルーティングされましたが、発信トラフィックのみがあり、着信tcpdump -i tun0
トラフィックはないことがわかります。
誰かがこの問題を解決するのに役立つことを願っています。ありがとうございます!
答え1
ここでの問題は、Aのクライアント(X、Y、Zと呼ばれる)がVPNリンクを介してBにルーティングできますが、BからクライアントX、Y、Zに戻るパスがないことです。
具体的な内容がなければ、正確な解決策を提供することは困難です。ただし、次の例を考えてみましょう。
- クライアントはサブネット 192.168.1.0/24 にあります。
- サーバーAのOpenVPNリンクは192.168.2.1で終了します。
- サーバーBのOpenVPNリンクは192.168.2.2で終了します。
Bでは、Aを介して192.168.1.0/24へのパスを追加する必要があります。
route add -net 192.168.1.0/24 gw 192.168.2.1