iptablesを介した透過的なメールのリダイレクト

ヘッダーは継続できます:... またはメールを別のサーバーにスムーズに転送します

最近、タスクが発生しました-インターネットに直接アクセスできないメールサーバーを使用する可能性を実現します。 また、別のIPアドレスで自然に機能する古いものの代わりに機能するはずです。



重要な点は、メールが元々ゲートウェイに保存されていたことです。 ゲートウェイでiptablesを構成します。メールサーバーでiptablesを構成する必要はありません。



ソースデータ:

サーバー-CentOS 5

192.168.0.3-メールサーバーのIP

192.168.0.1-以前のメールサーバー/ゲートウェイの内部IPアドレス

199.199.199.199-以前のメールサーバー/ゲートウェイのIPアドレス



eth0-ゲートウェイ上のローカルインターフェイス

eth1-ゲートウェイ上の外部インターフェース



メールサーバーでネットワークインターフェイスを構成します。

IPアドレス:192.168.0.3

マスク:255.255.255.0

ゲートウェイ:192.168.0.1



IMAP(ポート143)、SMTP(ポート25)を転送します。



実装に直接進みます。



1.メールを受信する



1.1.1

#メールポートの内部インターフェイスに到達したものはすべてリダイレクトされます

iptables -t nat -A PREROUTING -i eth0 -p tcp -d 192.168.0.3 --dport 25 -j DNAT --to-destination 192.168.0.3:25 iptables -t nat -A PREROUTING -i eth0 -p tcp -d 192.168.0.3 --dport 143 -j DNAT --to-destination 192.168.0.3:143
      
      







1.1.2

#メールポート経由で外部インターフェイスに到達したものはすべてリダイレクトされます

 iptables -t nat -A PREROUTING -i eth1 -p tcp -d 199.199.199.199 --dport 143 -j DNAT --to-destination 192.168.0.3:143 iptables -t nat -A PREROUTING -i eth1 -p tcp -d 199.199.199.199 --dport 25 -j DNAT --to-destination 192.168.0.3:25
      
      







1.2

#クライアントのソースIPアドレスをゲートウェイのIPアドレスに変更します。

#ローカルネットワーク上のコンピューターに対してのみSNATを実行することが非常に重要です。そうしないと、メールの受信時にRBLチェックが機能しません。

#一般に、すべてが1つのIPアドレスから受け入れられるため。 数量制限を導入できないのも悪いことです

#1つのIPアドレスからの接続。

 iptables -t nat -A POSTROUTING -o eth0 -p tcp -s 192.168.0.0/24 -d 192.168.0.3 --dport 25 -j SNAT --to-source 192.168.0.1 iptables -t nat -A POSTROUTING -o eth0 -p tcp -s 192.168.0.0/24 -d 192.168.0.3 --dport 143 -j SNAT --to-source 192.168.0.1
      
      







1.3

#ゲートウェイでのポート転送後のポート転送を許可

 iptables -A FORWARD -p tcp -d 192.168.0.3 --dport 143 -j ACCEPT iptables -A FORWARD -p tcp -d 192.168.0.3 --dport 25 -j ACCEPT
      
      







2.メールを送信する



2.1

#メールサーバーからのメール送信を許可

 iptables -A FORWARD -s 192.168.0.3 -j ACCEPT
      
      







2.2

#もちろん、1つのIPアドレスのみからインターネットにパケットを送信します

 iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 199.199.199.199
      
      







前提条件を忘れないでください

/etc/sysctl.conf:

net.ipv4.ip_forward = 1



最後に、iptablesの詳細なスキーム。

画像



追加。

自然な望みは、ドメイン名を統一してメールクライアントを設定することです。

そのため、オフィス外のメールクライアントの構成がオフィス内の設定と変わらないようにします。

さらに、主に使用するThunderbirdの新しいバージョンでは、カスタムアカウントのSMTP、POP、IMAPサーバーを自動的に検出するためのウィザードが登場しました。



共通名に焦点を当てます。

imap.mydomain.ru

smtp.mydomain.ru

ドメインのmxレコード



ドメインのレコードを2回構成する必要があります-ドメイン自体については、ドメイン名管理パネルとローカルネットワークのDNSで構成します。



ローカルネットワーク上のDNSサーバーにレコードを設定することを検討してください。

named.confに以下を追加します。



 view "internal" { match-clients { localnets; }; match-destinations { localnets; }; .... zone "mydomain.ru" IN { type master; file "master/mydomain.ru"; allow-update { 127.0.0.1; 192.168.0.1; }; }; };
      
      







master / mydomain.ruを作成します。

 $ORIGIN . $TTL 259200 ; 3 days mydomain.ru IN SOA ns.mydomain.ru. root.mydomain.ru. ( 23840 ; serial 10800 ; refresh (3 hours) 900 ; retry (15 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns.mydomain.ru. $ORIGIN mydomain.ru. @ IN MX 10 mail.mydomain.ru. ns A 192.168.0.1 mail A 192.168.0.3 imap CNAME mail smtp CNAME mail
      
      







nslookupで確認します。 それだけです!



All Articles