2013-05-29 91 views
1

我有一臺運行在谷歌計算引擎上的虛擬機(CentOS),一切看起來非常簡單,已經閱讀了所有我能找到的文檔,但是這一件事讓我感到不安。我知道出站SMTP連接被GCE阻止,但傳入的內容應該不會成爲我讀過的內容。不過,我已經正確配置服務器(我認爲),並通過gcutil添加防火牆支持SMTP,但仍然沒有骰子:谷歌計算引擎將不允許傳入的SMTP連接

gcutil addfirewall smtp --description="Incoming smtp allowed." --allowed="tcp:smtp" 

這增加了該規則,以允許SMTP連接。

gcutil listfirewalls 

    +------------------------+---------------------------------------+---------+------------+-------------+-------------+ 
    |   name   |    description    | network | source-ips | source-tags | target-tags | 
    +------------------------+---------------------------------------+---------+------------+-------------+-------------+ 
    | default-allow-internal | Internal traffic from default allowed | default | 10.0.0.0/8 |    |    | 
    | default-ssh   | SSH allowed from anywhere    | default | 0.0.0.0/0 |    |    | 
    | http2     | Incoming http allowed.    | default | 0.0.0.0/0 |    |    | 
    | pop3     | Incoming pop3 allowed.    | default | 0.0.0.0/0 |    |    | 
    | smtp     | Incoming smtp allowed.    | default | 0.0.0.0/0 |    |    | 
    +------------------------+---------------------------------------+---------+------------+-------------+-------------+ 

列出SMTP規則。其他端口做工精細,我可以進入端口80,22和110,但試圖進入端口25時:

telnet nextcore.com 25 
Trying 173.255.112.1... 

,而不會連接。

連接到虛擬機上的本地主機端口25件作品就好了:

telnet localhost 25 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 
220 nextcore.localdomain ESMTP Postfix 

我缺少什麼?

回答

4

我不確定你在端口25上收聽什麼(例如sendmail,postfix等)。我可以確認,我也無法通過端口25連接到您的VM,但我可以連接到端口80.

您可以檢查哪些程序正在偵聽哪些端口與sudo netstat -lpn -A inet

$ sudo netstat -lpn -A inet 
Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address   Foreign Address   State  PID/Program name 
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  2691/sshd 
tcp  0  0 0.0.0.0:25    0.0.0.0:*    LISTEN  15845/nc 
udp  0  0 0.0.0.0:23153   0.0.0.0:*       2291/dhclient 
udp  0  0 0.0.0.0:68    0.0.0.0:*       2291/dhclient 
udp  0  0 10.87.233.49:123  0.0.0.0:*       2566/ntpd 
udp  0  0 127.0.0.1:123   0.0.0.0:*       2566/ntpd 
udp  0  0 0.0.0.0:123    0.0.0.0:*       2566/ntpd 

你可能會發現,你的郵件程序只監聽本地主機(127.0.0.1),或者你缺少在/etc/hosts.allow條目或在「的/ etc/hosts.deny`一個條目從外部塊的請求您的本地網絡。

+3

呸,應該檢查默認後綴配置。你可以通過我原來的問題看到它是後綴監聽,默認情況下,它在GCE上使用CentOS VM,但是我沒有看到它被設置爲僅監聽本地主機。更改main.cf,重新啓動後綴,現在它正在拾取外部連接。謝謝! –