これは私を苦労させていますが、何らかの理由で外部から特定のポートにアクセスできません。私はほぼすべての可能な設定を確認しましたが、なぜこれが機能していないのかわかりません。私はこの問題(Ubuntuのファイアウォール対Dockcot対Postfix)をどこで修正すればいいのか分からず、皆さんが私を助けてくれることを本当に望んでいます。一部の露出されたDockerポートは外部からアクセスできない(dovecot、postfix)
FYI:mycooldomain.comは、現時点では共有したくないドメインのプレースホルダです。
私はこれを修正するのに役立つ人のためにビールを購入します! :)私のルートサーバーで
ショートイントロ
は、私はいくつかのポート(143、25、587、993)を公開し、次のドッキングウィンドウのメールサーバーコンテナ(https://github.com/tomav/docker-mailserver/)を実行していますよ。コンテナはdovecot(IMAP)とpostfix(SMTP)を実行します。
TL; DR
は私がドッキングウィンドウコンテナ内で実行されている上記のメールサーバ(dovecotの、接尾辞)を持っており、唯一のポート(143 - IMAP)に接続することができます。その他のポート25,587,993には外部からはアクセスできません。ホストからのみ直接アクセスできます。 Dockerはそれらを正しく公開し、iptablesに正しくリストされます。コンテナ(dovecot、postfix)のログは、リクエストが入ったとき(拒否されたリクエストやそのようなものは何もない)何も反応しないので、コンテナ内のサービスに到達しないと思います。他のドッカーコンテナポート(たとえば、私のWebサーバー:80,443)。
ここでは詳細な情報があります:
私は(のは、IMAPセキュアポートをテストしてみましょう)を直接ホストからのすべてのポートに接続することができます。
[email protected]:~$ telnet mail.mycooldomain.com 993
Trying xxx.xxx.xxx.xxx…
Connected to mail.mycooldomain.com.
Escape character is '^]'.
220 mail.mycooldomain.com ESMTP Postfix (Ubuntu)
でもない、私のローカルマシンから:
mastixmc$ telnet mail.mycooldomain.com 993
Trying xxx.xxx.xxx.xxx…
telnet:connect to address xxx.xxx.xxx.xxx: Operation timed out
telnet: Unable to connect to remote host
私には、が公開されています。 a ND が正しくをバインド:
110/tcp,
0.0.0.0:143-143/tcp,
0.0.0.0:25->25/tcp, 4190/tcp,
0.0.0.0:587->587/tcp,
0.0.0.0:993->993/tcp, 995/tcp
netstat -ntlp
は同じ私に語った:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::587 :::* LISTEN -
tcp6 0 0 :::143 :::* LISTEN -
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 :::25 :::* LISTEN -
tcp6 0 0 :::443 :::* LISTEN -
tcp6 0 0 :::2332 :::* LISTEN -
tcp6 0 0 :::993 :::* LISTEN -
私は私のウェブサーバ(80/443)と非セキュアなIMAP(143)にアクセスすることができます - 私は許しません未来。しかし、他のすべてのポートにはアクセスできません。
(それが必要ではないですが)私もUbuntuは何かをブロックしていないことを確認するUFWを設定します。
Added user rules (see 'ufw status' for running firewall):
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 25/tcp
ufw allow 587/tcp
ufw allow 143/tcp
ufw allow 993/tcp
ログ(Dovecotは、Postfixの)を見たとき、私はすべての情報が表示されませんリクエストがサービスに到達しないように見えます。
DEFAULT_FORWARD_POLICY="DROP"
そしてUFW
は、/ etc/default/DID NOTドッカエンジンで変更iptables = false
:I
はタッチ次ドッカー/ UFW設定しませんでした。
Chain INPUT (policy ACCEPT)
target prot opt source destination
ufw-before-logging-input all -- anywhere anywhere
ufw-before-input all -- anywhere anywhere
ufw-after-input all -- anywhere anywhere
ufw-after-logging-input all -- anywhere anywhere
ufw-reject-input all -- anywhere anywhere
ufw-track-input all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-ISOLATION all -- anywhere anywhere
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ufw-before-logging-forward all -- anywhere anywhere
ufw-before-forward all -- anywhere anywhere
ufw-after-forward all -- anywhere anywhere
ufw-after-logging-forward all -- anywhere anywhere
ufw-reject-forward all -- anywhere anywhere
ufw-track-forward all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ufw-before-logging-output all -- anywhere anywhere
ufw-before-output all -- anywhere anywhere
ufw-after-output all -- anywhere anywhere
ufw-after-logging-output all -- anywhere anywhere
ufw-reject-output all -- anywhere anywhere
ufw-track-output all -- anywhere anywhere
Chain DOCKER (3 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.19.0.3 tcp dpt:https
ACCEPT tcp -- anywhere 172.19.0.3 tcp dpt:http
ACCEPT tcp -- anywhere 172.19.0.7 tcp dpt:imaps
ACCEPT tcp -- anywhere 172.19.0.7 tcp dpt:submission
ACCEPT tcp -- anywhere 172.19.0.7 tcp dpt:imap2
ACCEPT tcp -- anywhere 172.19.0.7 tcp dpt:smtp
Chain DOCKER-ISOLATION (1 references)
target prot opt source destination
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
[...]
Chain ufw-user-input (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
ACCEPT udp -- anywhere anywhere udp dpt:imaps
ACCEPT tcp -- anywhere anywhere tcp dpt:2332
ACCEPT udp -- anywhere anywhere udp dpt:2332
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT udp -- anywhere anywhere udp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT udp -- anywhere anywhere udp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:submission
ACCEPT udp -- anywhere anywhere udp dpt:submission
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:imap2
ACCEPT udp -- anywhere anywhere udp dpt:imap2
だから、すべては私には正しいよう:
ここでは、ドッキングウィンドウのチェーンは、(また、私のUFWルールがある)が正しくルールを追加することをはっきりと見ることができるのiptables -Lコールは、です。
更新#1:(mycooldomain.comに対する)ドッキングウィンドウのホストから
nmapの:(mycooldomain.comに対して)私のローカルマシンから
PORT STATE SERVICE
25/tcp filtered smtp
80/tcp filtered http
143/tcp filtered imap
443/tcp filtered https
587/tcp filtered submission
993/tcp filtered imaps
nmapの:
PORT STATE SERVICE
80/tcp open http
143/tcp open imap
443/tcp open https
ご覧のとおり、ポートが開いていないので、ポート25,587、および993にリモートから接続できません。
UPDATE#2:
だから私はすべてのコンテナを停止し、簡単なPythonのHTTPサーバをopenendました:
sudo python -m SimpleHTTPServer 993
はまた、このポートにアクセスすることはできません。だから私はポート8080 =>成功と同じサーバーを開いた。
Ubuntuのように見えるか、私のホストがポート993をブロックしています。私は現在、ルートサーバーを提供している人と接触しています。
私は既にプロジェクト自体に問題を提出しましたが(https://github.com/tomav/docker-mailserver/issues/602)、私にも助けにはなりませんでした。
はサシャ
ドッキングウィンドウなしのリモートアクセス動作しますか?あなたは、機能していないポートでドッカーを使って何かを実行して接続することができますか?おそらくあなたのホスティング業者が一部のポートをブロックしている可能性があります。 'nmap'スキャンの出力も興味深いでしょう。 – fzgregor
- SSHデーモンはアクセス可能な状態で実行されています。また、リモートからアクセスできる他のドッカーコンテナもあります(たとえば、ポート80と443でリバースプロキシをリッスンしている)。この応答の直後にnmapポートスキャン結果を追加します。 – Sascha
私は現在ホスティング業者と連絡を取り、メールサーバーポートをブロックしているかどうかを確認しています。 – Sascha