各位大大好:
我在實驗用vmware player架設postfix ,我的網路環境是本機(host)透過nat連網路的,有架內部DNS,
現在有一個問題是,如果我網路(guest)用bridged模式就變成無法ping到host的電腦和連網際網路,
改用NAT的話,guest端可ping到網際網路和host端,HOST端也可ping到guest端,唯一不行的是,從DNS server上面ping GUEST端 就沒辦法,
也因為目前的環境,造成我可以從MAIL SERVER(GUEST端)寄信到 我的電腦(HOST端),但要從我的電腦(HOST)寄到 GUEST端就無法送信(錯誤原因為無法解析此DNS),
請問有什麼方式可以解決目前的困境?
從本機的 hosts 去加一筆
1.2.3.4 guest
Bridge 模式下 在 Guest OS 端設定正確的IP ADDRESS 應該就可以了。
Guest OS 以 Ubuntu 為例: vi /etc/network/interfaces , 若以 centos 為例: vi vi /etc/sysconfig/network-scripts/ifcfg-eth0 (eth0為網卡編號)。
nat 模式下 可採用 portforward 方法 http://koukaipan.pixnet.net/blog/post/9841581-vmware%E5%81%9Aserver。
a1986751106提到:
name=xx.xx.xx type=A: Host not found
找不到A紀錄, 表示DNS解析不到, 有兩種情形:
a1986751106提到:
在host端解析mx(nslookup -type=mx xx.xx.xx)也都正常
在guest端呢>
nslookup -type=A xx.xx.xx
正常嗎?
1.我的mail server FQDN格式應該沒錯 mail.abc.net
2.我在DNS那邊有設A紀錄 和MX記錄了
3.GUEST端 測過 nslookup -type=A xx.xx.xx 沒問題 ,但測試nslookup -type=MX xx.xx.xx 會出現
Can't find mail.rhynet.net: No answer
4.我在HOST端測試 type=a 或者 type=mx 都沒問題
guest端 測試 nslookup -type=MX xx.xx.xx 可正常收發信的FQDN 也是有問題 出現如下的訊息:Can't find XX.XX.XX: No answer
由 Host 執行 telnet guest.os.ip 25 看看是否可以進去?
如果可以 寄個信給guest裏面的帳號。
不行的話檢查是否服務有開啟且允許查機以外連線。netstat -tln
您都用xx.xx.xx, 實在很混淆. (mail.rhynet.net是真實的嗎?)
請測:
如果您的域名是<domain.name>, 沒有前面的子域名.
$ nslookup -type=MX <domain.name>
如果您的Email Server的FQDN是<mail.domain.name>
$ nslookup -type=A <mail.domain.name>
再測PTR, 看是否反解到mail.domain.name:
$ nslookup -type=PTR <999.999.999.999>
to lemoncar :
我是用centOS 6.2,出現這個錯誤訊息:
bash: TELNET: command not found
to bizpro:
1.mail.rhynet.net 是我測試的FQDN
2.我在HOST端測試 你請我測的三個type都沒問題,在GUEST端 都會出現找不到的訊息,訊息如下:
*** Can't find rhynet.net: No answer
to lemoncar :
我在HOST端測試telnet沒辦法連到guest端的mail server,會出現連線錯誤的訊息,
我的ip設定為192.168.1.155,我嘗試測試PORT是否有在服務,出現如下訊息
測試監聽用的指令:netstat -tlnp | grep :25
訊息:
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1954/master
tcp 0 0 :::25 :::* LISTEN 1954/master
rhynet.net並未被註冊啊.您用這個再測試mail server嗎? 那mail.rhynet.net就不是一個FQDN(Fully Qualified Domain Name),
除非您在網路中自架DNS後自己"qualify".
Host的/etc/resolv.conf的設定和guest不一樣嗎? 不然為何一個找得到, 一個找不到?
to bizpro:
1.有,我有DNS SERVER ,這台DNS確定可以正常服務,也有在此dns server上面加入A紀錄和MX.
2.我是在測試mail server沒錯
3.怎說mail.rhynet.net不是FQDN?? 我在dns上面有設rhynet.net的正向區域,還是我mail server上面有設錯? 我是用centOS來測試的
4.HOST是WIN7系統,所以應該沒有/etc/resolv.conf這個目錄,這個我也很難理解..GUEST端的dns指向明明和HOST端一樣,為何找不到.
jerry@jerry-P5Q-office:~$ telnet 192.168.128.230 25
Trying 192.168.128.230...
Connected to 192.168.128.230.
Escape character is '^]'.
220 centos2.toyoink-ct.com.tw ESMTP Postfix
500 5.5.2 Error: bad syntax
是這樣的錯誤訊息嗎?如果是檢查一下 /etc/services 設定。
to lemoncar :
我是用centOS 6.2, 只出現"這個"錯誤訊息:
bash: TELNET: command not found
更正上面是已正確連到 smtp server 上的訊息
a1986751106提到:
我是用centOS 6.2, 只出現"這個"錯誤訊息:
bash: TELNET: command not found
*nix中大小寫是有分別的,要打"telnet",不是"TELNET"....
to cmwang:
小寫我也有試過@@"
a1986751106提到:
小寫我也有試過@@"
沒裝telnet client,不會吧....
to cmwang:
可是port 25的確有在監聽阿,還是被防火牆擋住了? 可是我防火牆都沒設定,都用centOS預設值
我還以為centOS預設就會裝@@",剛剛測試了,出現這樣的訊息:
[root@mail batman]# telnet 192.168.1.155 25
Trying 192.168.1.155...
Connected to 192.168.1.155.
Escape character is '^]'.
220 mail.rhynet.net ESMTP Postfix
500 5.5.2 Error: bad syntax
to lemoncar:
我不太懂這個網址用途 要怎用@@"
我目前從mail server寄信到 host端是正常的,但從host端寄到 mail server(guest端),就會出現以下錯誤訊息:
Host or domain name not found. Name service error for
name=mail.rhynet.net type=A: Host not found
上述的網址是教如何用telnet 登入 mail server 寄信用。
也就是說你透過centos6.2的郵件收發工具利用本身的postfix服務發信到Host端原本就存在的MailServer是正常的,但由Host上的郵件收發工具發信到Centos上卻出現Host or domain name not found。
檢查看看/var/log/maillog、和/var/log/messages 是否能看出個什麼端倪.
HOST是WIN7系統,所以應該沒有/etc/resolv.conf這個目錄,這個我也很難理解..GUEST端的dns指向明明和HOST端一樣,為何找不到.
是在Linux的guest中. 和Windows的Host無關. /etc/resolv.conf是用來設定要由哪些DNS Servers提供域名查詢. 您要在postfix那台機器上設定的.
怎說mail.rhynet.net不是FQDN?? 我在dns上面有設rhynet.net的正向區域,還是我mail server上面有設錯? 我是用centOS來測試的
rhynet.net不是已註冊的域名, 您可以在私有的DNS Server上設定, 但是, 您一定要將這個私有的DNS的IP寫到/etc/resolv.conf的第一行. 如
nameserver 192.168.1.123
to bizpro:
guest端的 /etc/resolv.conf 設定 和 host端的設定一樣.
在您的環境中, Winodws只提供hosting的功能, 只要您跑的CentOS可以用bridged的方式連上網路, 在Host的網域中, 此時, 所有的postfix的設定都和Windows無關, 所有的測試都要在CentOS中進行, 而Email的關鍵是DNS, 就看看其內容吧:
$ cat /etc/resolv.conf
to bizpro:
cat /etc/resolv.conf 這個不是設定要指向哪台DNS嗎? 我確實沒設錯
DNS SERVER上 的A紀錄和MX紀錄都有設定了....
to bizpro:
目前我是從HOST端 沒辦法寄信,這應該和GUEST的dns指向沒差吧?
如果是GUEST端沒辦法寄信,才和dns指向有關係吧?
iTHome的thread沒有分叉點. 造成很大的混亂. 我暈頭了.
您說host端沒有辦法寄信, 但是又說
.我在HOST端測試 你請我測的三個type都沒問題,在GUEST端 都會出現找不到的訊息,訊息如下:
*** Can't find rhynet.net: No answer
那到底是host還是guest沒有辦法通過那三個測試?
如果Host端可以通過測試, 那應該可以寄信, 如果guest端不能寄信, 那又通過測試?
[root@postfix ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
在Centos上檢查看看是否有上面類似的規則出現。如果有的話將 iptable 模組缷載再由寄信到centos試試。/etc/init.d/iptables stop
to bizpro:
host端通過三個測試,不能寄信.
guest沒通過三個測試,可以寄信.
我的疑惑點也跟你一樣.....
to lemoncar:
我把防火牆關掉了,問題還是一樣,不能從host端寄信到 guest端(centOS)
確定的狀況:
postfix中有設relay嗎?
to bizpro:
1.我好像沒有說過 telnet可連^^...只說過guest端的mail server的port 25有在服務
2.host端的outlook
to bizpro:
有
我GUEST端的網路模式 目前為 BIRDGE,手動設ip 和HOST端 網段是一樣的
a1986751106 說:
to cmwang:
可是port 25的確有在監聽阿,還是被防火牆擋住了? 可是我防火牆都沒設定,都用centOS預設值
我還以為centOS預設就會裝@@",剛剛測試了,出現這樣的訊息:
[root@mail batman]# telnet 192.168.1.155 25
Trying 192.168.1.155...
Connected to 192.168.1.155.
Escape character is '^]'.
220 mail.rhynet.net ESMTP Postfix
可是port 25的確有在監聽阿,還是被防火牆擋住了? 可是我防火牆都沒設定,都用centOS預設值
我還以為centOS預設就會裝@@",剛剛測試了,出現這樣的訊息:
[root@mail batman]# telnet 192.168.1.155 25
Trying 192.168.1.155...
Connected to 192.168.1.155.
Escape character is '^]'.
220 mail.rhynet.net ESMTP Postfix
你的 telnet 192.168.1.155 25 是在 guest os(centos)上執行的嗎?可以從 Host os(Win7)上執行 telnet 192.168.1.155 25 試試看可以連到 centos 嗎?
to bizpro:
用telnet測試之後,會卡在 220 mail.rhynet.net ESMTP Postfix
都沒反應,我按enter鍵之後 會出現這樣的error:
500 5.5.2 Error: bad syntax
這樣應該算沒連進去吧?
我host端也是一樣失敗,訊息如下:
正連線到 192.168.1.155...無法開啟到主機的連線, 在連接埠 25: 連線失敗
a1986751106提到:
我host端也是一樣失敗,訊息如下:
正連線到 192.168.1.155...無法開啟到主機的連線, 在連接埠 25: 連線失敗
出現上述的狀況,應該是CentOS把連線擋掉了。昨天新裝了CentOS6.3 選擇安裝Server,裝完之後就有postfix,且我的安裝版本安裝完成後會啟動自帶的防火牆規則。在沒有關閉iptables之前也是telnet 25 port 無法開啟連線。請你在確定防火牆(iptables)是否正在運行。
to lemoncar:
我確定guest端的防火牆確定有關閉,從HOST telnet到GUEST端 會出現這樣的訊息:
421 4.4.2 mail.rhynet.net Error: timeout exceeded
建議改用virtual box建置
之前用VMWare workstation建置DB Replication
結果都已經使用橋接模式,且從DHCP Server使用手定方式設定IP
卻依然無法從Host ping到兩台DB的VM
但重新設定在virtualbox並且網路使用橋接模式
就一點問題都沒有
目前VM的問題還在研究中
BTW
我是使用8.0的workstation的版本
從你的問題看,你原意是用bridge mode 做測試,因不能ping到host才用NAT,問題為甚麽不能用bridge 不能用ping host你是否已關閉了Host的防火牆和掃毒軟件,你的Host是否有多一片網絡咭,Bridge Config指定某張網絡咭試試