POPやIMAPメールサーバーなどのサービスにアクセスするには、ファイアウォールを通過できるように特定のポートを開く必要があります。ほとんどのサービスにアクセスするには、いくつかの標準ポートが使用されます。たとえば、Webサイトへのアクセスでは、通常、通常の(HTTP)Webページにはポート80を使用し、安全な(HTTPS)ページにはポート443を使用します。
次の表に、メール配信に使用される各TCP/IPプロトコルのポートを示します。
サーバー | ポート |
---|---|
SMTP | 587 * |
POP | 110 |
POPS | 995 |
IMAP | 143 |
IMAP3 | 993 |
* SMTPは通常、接続にポート25を使用しますが、ポート25が広く悪用されているため、ポート587がアウトバウンドSMTPトラフィックの優先ポートです。
Centos 7以降の場合:
-
次のコマンドを入力して、前のポートを開きます。
Firewall-cmd –zone =public –add-port =25 / tcp –permanent
上記の各ポートについて、ポート番号を置き換えて、このコマンドを繰り返します。**
-
次のコマンドを実行して、特定のゾーンのルールを一覧表示します。
Firewall-cmd –query-service=<サービス名>
DebianおよびCentOS6以前の場合:
iptables.test.rules
を編集します それらのポートへのアクセスを許可するファイル。この例ではポート25を使用していますが、推奨値に変更できます。
-
次のコマンドでルールファイルを開きます:
sudo nano /etc/iptables.test.rules
-
HTTPおよびHTTPSエントリの直前に、次の行を追加します。
# Allows SMTP access -A INPUT -p tcp --dport 25 -j ACCEPT # Allows pop and pops connections -A INPUT -p tcp --dport 110 -j ACCEPT -A INPUT -p tcp --dport 995 -j ACCEPT # Allows imap and imaps connections -A INPUT -p tcp --dport 143 -j ACCEPT -A INPUT -p tcp --dport 993 -j ACCEPT
-
新しいルールを適用します:
Debianの場合:
sudo iptables-restore < /etc/iptables.test.rules
CentOS 6以前の場合:
この手順をスキップして、次の手順に進みます。
-
ルールが適用されていることを確認します:
sudo iptables -L
コマンドからの出力には、次の情報が含まれている必要があります。
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp dpt:smtp ACCEPT tcp -- anywhere anywhere tcp dpt:pop3 ACCEPT tcp -- anywhere anywhere tcp dpt:pop3s ACCEPT tcp -- anywhere anywhere tcp dpt:imap2 ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
-
ルートシェルに入ります。 iptablesルールを保存するには、完全なルートアクセス権が必要です。
sudo -i
-
iptablesルールを保存します:Debianの場合:
iptables-save > /etc/iptables.up.rules
CentOS 6以前の場合:
iptables-save > sudo iptables-restore <
-
ルートシェルを終了します:
exit