フィルタリングされた SMTP ポート 25 のリクエストを再ルーティングする

フィルタリングされた SMTP ポート 25 のリクエストを再ルーティングする

私の VPN はポート 25 をフィルタリングしますが (スパムを防ぐため)、ISP はフィルタリングしません。VPN はすべてのトラフィックを引き継ぎ、デフォルト ゲートウェイを変更します。メールを送信するために VPN をバイパスするにはどうすればよいですか? ポート 25 を除くすべての送信トラフィックで VPN を引き続き使用したいと考えています。

私の設定:

router 192.168.0.1 (this is the default gateway when VPN is not connected)
eth0 192.168.0.185
tun0 10.8.0.202

--dport 25 を使用して iptables で何かをしようとしましたが、ファイアウォールの回避方法がよくわかりません。

Ubuntu 12.10を使用しています。

もう 1 つは、192.168.0.185 で複数のサーバー (Web、メール、SSH など) が実行されていることです。192.168.0.1 ルーターは、それらのポート (80、443、...) の要求を 192.168.0.185 に転送します。VPN がこれに干渉しないようにするには、次のコマンドを実行します。

ip rule add from 192.168.0.185 table 10
ip route add default via 192.168.0.1 table 10

メール以外のすべてのサーバーが動作し始めました (ポート 25 で同じ問題が発生したためでしょうか)。そこで、postfix を 2525 で実行するように変更し (ルーターでポート 25 をそこに転送するようにしました)、動作するようになりました。

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.201      128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
10.8.0.1        10.8.0.201      255.255.255.255 UGH   0      0        0 tun0
10.8.0.201      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
46.21.99.21     192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
128.0.0.0       10.8.0.201      128.0.0.0       UG    0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

答え1

2つの可能性が考えられます:

  1. デフォルト ルートではなく、イーサネット インターフェイス経由で明示的にルーティングされる外部メール サーバーの IP アドレスに静的ルートを追加します。

  2. 送信ポート (587) 上の外部メール サーバーに送信メールを送信します。

ただし、最善の答えは、メール サーバーを VPN とは別の (仮想) マシンで実行し、トラフィックを適切にルーティングできるようにすることです。ルートは、ポート番号ではなく、IP アドレス/ネットワークでのみ指定できます。

関連情報