私は この答え を前もって読んだ、それは言う:
ip rule add from x.x.x.x table 100
ip route add table 100 to y.y.y.y/y dev ethX
ip route add table 100 default via z.z.z.z
問題は、 これはすべてのポートに適用されます 、そしてiptablesを使用して特定の接続をドロップすることができますが、それは私が望んでいることではありません。
OpenVPNに...
クライアントはMacMiniです。必要に応じてサーバー構成を変更できます。
これは、iptablesマングルを使用して実現できます。ルーティングテーブルは問題ありません。特定のトラフィックを除外/含めるためにいくつかのルールを追加する必要があります。
あなたの場合、SSHの場合は次のようになります。
ip rule add fwmark 2 table 100
ip route flush cache
iptables -t mangle -A OUTPUT -p tcp --dport 22 -j MARK --set-mark 2
iptables -t nat -A POSTROUTING -o ethX -j SNAT --to-source z.z.z.z
^ ^
your public interface your public IP
この意志:
これらすべてが必要なのか、それとも方向転換する必要があるのかはわかりませんが、どちらの見方をするかによって異なります(all xxxを除くOpenVPN経由のトラフィック、またはno xxxを除くOpenVPN経由のトラフィック)。
例えば。ルーティングテーブルを使用する必要はありませんが、この方法の方がはるかにクリーンであるか、SNAT /マスカレードなどは必要ありません。