Iptables
無法從伺服器連接到 sendgrid(和 iptables 問題)
在我的 VPS 上使用時我遇到了超時
telnet smtp.sendgrid.net 587
,但它在我的本地 ubuntu 站上執行良好。所以我認為存在一些防火牆問題。我的伺服器上有一個 docker 設置(是的,這對 iptables 有一些安全隱患),並嘗試打開到埠 587 的傳出流量,但它不起作用。我首先嘗試了 UFW,但這很令人困惑,因為 Docker 打開了埠,而 UFW 說它們是不允許的,所以我解除安裝了 UFW。我的 iptables 中似乎還有很多 ufw 垃圾。
誰能提供一些提示可能導致我的連接超時以及如何從空的 ufw 規則中清除我的 iptables?
這是 iptables -L 輸出:
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 ACCEPT) target prot opt source destination DOCKER-USER all -- anywhere anywhere DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED DOCKER all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED DOCKER all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED DOCKER all -- anywhere anywhere 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 ACCEPT tcp -- anywhere anywhere tcp spt:submission Chain DOCKER (3 references) target prot opt source destination ACCEPT tcp -- anywhere 172.18.0.4 tcp dpt:8000 ACCEPT tcp -- anywhere 172.18.0.5 tcp dpt:mysql ACCEPT tcp -- anywhere 172.18.0.8 tcp dpt:8000 ACCEPT tcp -- anywhere 172.18.0.8 tcp dpt:https ACCEPT tcp -- anywhere 172.18.0.8 tcp dpt:http Chain DOCKER-ISOLATION-STAGE-1 (1 references) target prot opt source destination DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere RETURN all -- anywhere anywhere Chain DOCKER-ISOLATION-STAGE-2 (3 references) target prot opt source destination DROP all -- anywhere anywhere DROP all -- anywhere anywhere DROP all -- anywhere anywhere RETURN all -- anywhere anywhere Chain DOCKER-USER (1 references) target prot opt source destination RETURN all -- anywhere anywhere Chain ufw-after-forward (1 references) target prot opt source destination Chain ufw-after-input (1 references) target prot opt source destination Chain ufw-after-logging-forward (1 references) target prot opt source destination Chain ufw-after-logging-input (1 references) target prot opt source destination Chain ufw-after-logging-output (1 references) target prot opt source destination Chain ufw-after-output (1 references) target prot opt source destination Chain ufw-before-forward (1 references) target prot opt source destination Chain ufw-before-input (1 references) target prot opt source destination Chain ufw-before-logging-forward (1 references) target prot opt source destination Chain ufw-before-logging-input (1 references) target prot opt source destination Chain ufw-before-logging-output (1 references) target prot opt source destination Chain ufw-before-output (1 references) target prot opt source destination Chain ufw-reject-forward (1 references) target prot opt source destination Chain ufw-reject-input (1 references) target prot opt source destination Chain ufw-reject-output (1 references) target prot opt source destination Chain ufw-track-forward (1 references) target prot opt source destination Chain ufw-track-input (1 references) target prot opt source destination Chain ufw-track-output (1 references) target prot opt source destination
當你說它在本地工作但不在你的 VPS 上時,我認為你應該檢查它是否允許外部網際網路。
Docker 容器作為預設設置不會阻止從您的主機到大型網際網路的外部流量。
我認為問題出在您的 Docker 主機上。
你能解釋一下你在 Docker 上執行的是什麼作業系統,你是在單節點上執行還是在 Docker Swarm 集群模式下執行,以及你在哪里托管你的 VPS?