我的sendmail只能寄,不能收也,不知哪裡出錯?



贊助商連結


頁 : [1] 2

bigmichael
2002-10-22, 12:46 AM
環境:linux redhat 7.1
插兩張卡 eth0 61.70.199.30(外卡)
eth1 192.168.1.254(內卡)
ppp0 61.70.199.30 (撥接上網後會出現的介面)
lo 127.0.0.1
我有設DNS 用WEBMIN設的,有設DHCP、WWW、NAT、FTP都正常就是sendmail有問題?

問題:
我的sendmail只能寄,不能收也,不知哪裡出錯?

問題自述:
我以前是用seednet的固八,可以收發。
現在我是用giga Adsl計時制,但是每次發的ip都是同一個,所以也算是固定Ip
之後,就只能寄,不能收(我的意思是指在client用outlook express來收發時的問題)。
我請朋友從外部telnet 61.70.199.30 25 可是連不進來也,這本示smtp 25port
沒有通是嗎?
可是我在/etc/service下smtp 25 有開也。
我在linux本機及192.168.1.0的這個lan內的任何一部電腦也都可以telnet 61.70.199.30 25也。

要如何解決呢?

贊助商連結


repsol
2002-10-22, 02:11 AM
可以先參考這邊的文件

http://pc510.ev.ncku.edu.tw/~vbird/linux/linux_25mailsendmail.html
加油

mus000
2002-10-22, 04:16 AM
檢查一下防火牆是不是擋掉了。

bigmichael
2002-10-22, 10:04 AM
我用ipchain設nat,我沒有設防火牆也,還是啟動ipchain的nat它會限制25port
那要如何檢查呢?


最初由 mus000 發表
檢查一下防火牆是不是擋掉了。

bigmichael
2002-10-24, 12:50 PM
都可以通也!可是還是不行也!



最初由 Davis 發表
你先做telnet 127.0.0.1 25檢查本機的25PORT有沒有開, 如果沒有問題, 再telnet 61.70.199.30 25, 檢查25PORT有沒有被防火牆擋掉

mus000
2002-10-24, 06:33 PM
telnet 都有反應出來的話,那就不是防火牆的問題了。
那麼八成是 sendmail 設定 或是 DNS MX 設定的問題了。

你先由其它電腦寄一封 email,直接將 SMTP 設定在該台電腦,收件人也要設定一個可以收件的。
看看會不會有錯誤? 有錯誤時,到 /var/log/maillog 把剛剛寄信最後幾行的錯怖訊息查看一下,
或 post 上來研究看看。^_^

bigmichael
2002-10-24, 11:18 PM
最初由 mus000 發表
telnet 都有反應出來的話,那就不是防火牆的問題了。
那麼八成是 sendmail 設定 或是 DNS MX 設定的問題了。

你先由其它電腦寄一封 email,直接將 SMTP 設定在該台電腦,收件人也要設定一個可以收件的。
看看會...


首先感謝各路英雄的回信!

我又將我的linux重灌,這回我全部都設好了,但是還是一樣,容我詳述,看能不能從這之間找到,錯誤的地方!

a電腦:代表linux主機
b電腦:代表client端的win98

我a電腦全部重灌好了之後。
我用b電腦的outexpress來收發信。
結果:它不能寄也不能收,但是它可以收到由a電腦寄來的信。

我a電腦上telnet 127.0.0.1 25 它可以連的上,但是我telnet 61.70.199.30 25 時就連不上了。如下:
[root@linux /root]# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to linux (127.0.0.1).
Escape character is '^]'.
220 linux.balin.idv.tw ESMTP Sendmail 8.11.2/8.11.2; Mon, 31 Jan 2000 04:18:14 +0800
^]

telnet> q
Connection closed.
[root@linux /root]# telnet 61.70.199.30 25
Trying 61.70.199.30...
telnet: Unable to connect to remote host: Connection refused

我檢查了 /etc/services這個檔
smtp 25/tcp mail
smtp 25/udp mail
pop3 110/tcp pop-3 # POP version 3
pop3 110/udp pop-3
這兩個port均是開的。

我下了如右的指令
[root@linux /root]# ipchains -L
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
target prot opt source destination ports
MASQ all ------ 192.168.1.0/24 anywhere n/a
Chain output (policy ACCEPT):
[root@linux /root]#

這個部份我就比較看不懂了,高手幫我看一下,是不是有限制住了,能否順便解釋一下它的意思!

我到這裡檔內來看/var/log/maillog 它是空的沒有任何文字。

我的dns是自已架的,我將我設定的檔案有五個檔案如下:
[root@linux /root]# vi /var/named/named.balin

@ IN SOA linux.balin.idv.tw. root.linux.balin.idv.tw. (
99102701 ; serial
10800 ; refresh
3600 ; retry
604800 ; expire
86400 ; default_ttl
)
@ IN NS linux.balin.idv.tw.
localhost IN A 127.0.0.1
loopback IN CNAME localhost
balin.idv.tw. IN A 61.70.199.30
IN MX 1 linux.balin.idv.tw.
linux IN A 61.70.199.30
www IN CNAME linux
ftp IN CNAME linux
proxy IN CNAME linux
mail IN CNAME balin.idv.tw.







[root@linux /root]# vi /var/named/named.balin.arpa

@ IN SOA linux.balin.idv.tw. root.linux.balin.idv.tw. (
99102701 ; serial
10800 ; refresh
3600 ; retry
604800 ; expire
86400 ; default_ttl
)
@ IN NS linux.balin.idv.tw.
38 IN PTR linux.balin.idv.tw.







[root@linux /root]# vi /var/named/named.localhost.arpa

@ IN SOA linux.balin.idv.tw. root.linux.balin.idv.tw. (
99102701 ; serial
10800 ; refresh
3600 ; retry
604800 ; expire
86400 ; default_ttl
)
@ IN NS linux.balin.idv.tw.
1 IN PTR localhost.





[root@linux /root]# vi /etc/resolv.conf

nameserver 168.95.1.1
nameserver 168.95.192.1




[root@linux /root]# vi /etc/mail/local-host-names

# local-host-names - include all aliases for your machine here.
balin.idv.tw

dominic
2002-10-24, 11:44 PM
我猜想ㄝ是dns設定的問題~~你的主機是自己架dns serverㄇ?
又或在/etc/mail/local-host-names 下加入自己的網域如mail.pczone.com.tw或pczone.com.tw


上面是針對你本來能寄不能收.....沒看到你下面又加入一篇>"<

dominic
2002-10-24, 11:49 PM
對了附帶一提.....ipchain跟iptables(我不知道redhat7.1是有沒有iptables)是不能同時啟動ㄉ..會有問題

mus000
2002-10-25, 01:05 AM
1. 依你所列的 ipchains 規則,預設都是 ACCEPT,而您也沒做額外的 deny 設定,所以防火牆應該沒有擋下任何東西。
2. 您telnet IP 的 port 25 沒反應,而 telnet 127.0.0.1 25 有反應。可能 sendmail 的監聽 port 沒有完全的起來,或是sendmail 起動時,該 IP 還不存在。追了一下,您是用 giga 的固定 IP 嗎? 在 adsl 的 pppoe 起來之前,您的 sendmail 是否有先起動了? 試著在目前已經連上網路且運作正常的環境下,重新起動一次 sendmail 看看,然後用指令
#netstat -ln|grep 25
看看有沒有 port 25 正在 Listen 中的? 我的server 是顯示這樣子的:
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
上述表示這台機器的所有port25都處於服務監聽狀態中。到這部份都能正常了,再來看收發信的問題。

3. 您的 DNS 設定看起來沒有什麼問題。