iT邦幫忙

0

各位大大好:
我在實驗用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),

請問有什麼方式可以解決目前的困境?

你的 guest os 有設定 ipaddress 嗎? ifconfig -a 檢查一下網卡設定值。
hon2006 iT邦大師 1 級 ‧ 2012-09-18 16:14:12 檢舉
window 本身的防火牆有關掉嗎?或是掃毒軟體的防火牆也先關掉試試看.
shuan0114 iT邦好手 1 級 ‧ 2012-09-19 08:53:05 檢舉
Bridge模式是再同一網段(如:192.168.0.XX);
NAT是兩個不同網段(如:192.168.0.XX 和 192.168.yy.zz)!!
照理來說,您設定bridge模式時,是可以互相PING的到的,
另外,可嘗試將您guest端的主的DNS和次的DNS是否都有直接設死IP Address。
2
ganymede
iT邦好手 1 級 ‧ 2012-09-17 12:58:07

從本機的 hosts 去加一筆
1.2.3.4 guest

請問要加哪裡??

我加了 一樣不行

ganymede iT邦好手 1 級 ‧ 2012-09-18 10:46:53 檢舉

唉...請您先把架構圖畫出來吧, 或者弄個較詳細的說明. 比如 OS 是什麼...
這樣才好幫你.

4
雷夢掐(lemoncar)
iT邦研究生 5 級 ‧ 2012-09-17 13:18:26

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

4
bizpro
iT邦大師 1 級 ‧ 2012-09-17 15:34:29

a1986751106提到:
name=xx.xx.xx type=A: Host not found

找不到A紀錄, 表示DNS解析不到, 有兩種情形:

  1. name=xx.xx.xx的xx.xx.xx不符合fqdn, 例如, mail.xxx.com.tw
  2. DNS上沒有mail.xxx.com.tw的A紀錄

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

bizpro iT邦大師 1 級 ‧ 2012-09-17 17:28:14 檢舉

您都用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

bizpro iT邦大師 1 級 ‧ 2012-09-18 09:13:14 檢舉

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 上的訊息

cmwang iT邦高手 1 級 ‧ 2012-09-18 09:52:42 檢舉

a1986751106提到:
我是用centOS 6.2, 只出現"這個"錯誤訊息:
bash: TELNET: command not found

*nix中大小寫是有分別的,要打"telnet",不是"TELNET"偷笑偷笑....

to cmwang:
小寫我也有試過@@"

cmwang iT邦高手 1 級 ‧ 2012-09-18 10:02:24 檢舉

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 是否能看出個什麼端倪.

bizpro iT邦大師 1 級 ‧ 2012-09-18 13:41:04 檢舉

HOST是WIN7系統,所以應該沒有/etc/resolv.conf這個目錄,這個我也很難理解..GUEST端的dns指向明明和HOST端一樣,為何找不到.

是在Linux的guest中. 和Windows的Host無關. /etc/resolv.conf是用來設定要由哪些DNS Servers提供域名查詢. 您要在postfix那台機器上設定的.

bizpro iT邦大師 1 級 ‧ 2012-09-18 13:46:19 檢舉

怎說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端的設定一樣.

bizpro iT邦大師 1 級 ‧ 2012-09-18 13:51:20 檢舉

在您的環境中, 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指向有關係吧?

bizpro iT邦大師 1 級 ‧ 2012-09-18 15:10:41 檢舉

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)

bizpro iT邦大師 1 級 ‧ 2012-09-18 20:58:51 檢舉

確定的狀況:

  1. host端通過三個測試,不能寄信.
  2. guest沒通過三個測試,可以寄信
  3. 防火牆關掉了,問題還是一樣
  4. telnet可連.
    這些facts間有矛盾, 回到最初的問題:
    name=xx.xx.xx type=A: Host not found
    這是哪裡出現的訊息? host的outlook, guest的postfix?
bizpro iT邦大師 1 級 ‧ 2012-09-18 21:04:12 檢舉

postfix中有設relay嗎?

to bizpro:
1.我好像沒有說過 telnet可連^^...只說過guest端的mail server的port 25有在服務
2.host端的outlook

to bizpro:

我GUEST端的網路模式 目前為 BIRDGE,手動設ip 和HOST端 網段是一樣的

bizpro iT邦大師 1 級 ‧ 2012-09-19 09:30:36 檢舉

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

0

建議改用virtual box建置
之前用VMWare workstation建置DB Replication
結果都已經使用橋接模式,且從DHCP Server使用手定方式設定IP
卻依然無法從Host ping到兩台DB的VM
但重新設定在virtualbox並且網路使用橋接模式
就一點問題都沒有
目前VM的問題還在研究中
BTW
我是使用8.0的workstation的版本

0
vlam123
iT邦新手 2 級 ‧ 2012-09-19 08:04:01

從你的問題看,你原意是用bridge mode 做測試,因不能ping到host才用NAT,問題為甚麽不能用bridge 不能用ping host你是否已關閉了Host的防火牆和掃毒軟件,你的Host是否有多一片網絡咭,Bridge Config指定某張網絡咭試試

我要發表回答

立即登入回答