透過Virtualbox下的Windows的網路印表機問題 [論壇 - Ubuntu基本設定]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2007/3/3 23:57
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 213
MP : 37 / 8581
EXP: 55
離線
最近在把我的筆電安裝了7.10版Ubuntu
然後透過Virtualbox安裝了Windows XP
在公司是使用無線模組來上網的
Ubuntu跟Windows XP的連線問題我都設定好而且順利運作
但是現在遇到一個問題就是在Windows內我不知道如何設定網路印表機
Ubuntu下的網路印表機可以連線列印
可是Windows內就無法列印
在論壇上找了不少文章
看到的好像是Samba
我照著下面的那篇來設定:
http://www.ubuntu.org.tw/modules/planet/view.article.php?497
不過在設定cupsys時卻找不到Listen localhost:631
所以有點懷疑是否我誤解了
是否不是使用Samba來設定Windows的網路印表機?
還是說是使用Samba沒錯,但是我找的文章不是我要的?
有人可以提供正確的在Virtualbox下的Windows的網路印表機的文章連結嗎?
謝謝

2007/10/31 22:05
應用擴展 工具箱
回復: 透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 9350
EXP: 12
離線
其實不是很了解你的問題,不知你是要在Virtualbox下的Windows裡去『使用別人分享出來的印表機』?亦或是要在Virtualbox下的Windows裡去『提供網路印表機給別人使用』?
首先先不管你是要提供給別人用或是使用別人的印表機,有個很重要的概念是,在Virtualbox的運作下,你的『一台電腦』變成了『二台電腦』,而且這『二台電腦共用一塊網卡』,因此Virtualbox扮演著NAT的角色,也就是在Virtualbox裡面運作的機器,由Virtualbox給定一個內部IP(也有很多人稱虛擬IP),然後透過Virtualbox的NAT功能,轉到外部的真實網卡出去。一般來說上網比較沒有問題,可是在使用網路芳鄰或是印表機時,常常會困擾很多人,明明是同一台機器,為什麼ubuntu可以看到,virtualbox裡的winxp卻什麼都看不到,原因也就在此,因為雖然是同一台機器,但是二個系統是運作在『不同的網段裡』,你可以想像假想有一台機器,其IP位址為A.B.C.D,但是另一台機器其IP位址為H.I.J.K,所以二台機器是看不到對方的。
解決方法就是在那塊網卡上再動點手腳,也就是以橋接器的概念,把二台電腦接在一起,你可以想像ubuntu是一台電腦有一塊網卡放在左岸,winxp是一台電腦有一塊網卡放在右岸,雖然二張網卡分屬不同一左一右不同區域,只要在二者之間搭起一座橋,就可以互通有無了,你可以看到我,我可以看到你。
有了這個橋接器的概念之後,接下來就是實作了,底下有二篇文章可以『很輕易』的幫你做好橋接器通道。(哎,其實一點都不輕易,如果沒有一些基礎的網卡與IP的觀念,經常會卡死在這裡)
http://www.virtualbox.org/wiki/Automatic_Bridge_Ubuntu
http://blog.ssh.tw/?p=735
最後,如果你是要提供印表機給他人使用,可以直接在ubuntu底下建置印表機伺服器,底下有篇文章是不才寫的你可以參考看看。
http://163.19.215.180/wiki/index.php/Printer
以上若有高手發現觀念或方法錯誤的地方請給予指教。
最後一個問題,如果印表機不被ubuntu支援時怎麼辦.........哎........

2007/11/1 20:40
應用擴展 工具箱
回復: 透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 9350
EXP: 12
離線

2007/11/1 21:04
應用擴展 工具箱
回復: 透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2007/3/3 23:57
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 213
MP : 37 / 8581
EXP: 55
離線
感謝WSS 的回覆
我的問題其實蠻簡單的
就是我在Ubuntu上可以捉到公司的網路印表機
而且在列印上沒什麼問題
因為公司某些軟體非得用Windows不可
所以我透過Virtualbox安裝了Windows
在Windows系統可以連線
但是卻無法找到Ubuntu上捉到的網路印表機
那公司的那些非Windows不可的軟體也無法列印
造成工作也沒辦法完成了
http://blog.ssh.tw/?p=735
上面這些文章我也有看過
而且也是照著上面來設定的
不過正如最下面的一句話
無線網卡部份還無法適用
不巧我就是使用筆電的無線網路來跟公司連線的
無線網路的部份目前還是無解決之道嗎?

2007/11/1 23:05
應用擴展 工具箱
回復: 透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2007/3/3 23:57
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 213
MP : 37 / 8581
EXP: 55
離線
另外我想順帶問一下
照著那篇的設定去改會不會造成外接硬碟無法讀取呢?
會問這個問題是因為早上我就是修改設定想找到網路印表機
結果後來我裝上外接硬碟(USB的)反而顯示無法掛載的一個訊息
另外
-------------------------------
若要關掉 bridge 模式

brctl delif br0 eth0
brctl delif br0 tap0
brctl delbr br0
ifconfig tap0 down
ifconfig br0 down
ifconfig eth0 down
ifconfig eth0 up
-------------------------------
上面這段是不是也是寫成一個sh檔呢?

2007/11/1 23:11
應用擴展 工具箱
回復: 透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 9350
EXP: 12
離線
嗯,所以你的問題是出在無線網卡Bridge設定上,底下列出一篇文章,希望有幫助。
http://ubuntuforums.org/showthread.php?t=89702&highlight=bridge
你的筆電,應該有有線網卡和無線網卡並存吧,所以會增加bridge的設定難度,因為你的橋最終是要和有線卡接還是無線卡接?二個同時接那如何判定內部的winxp要走那一條橋?想到就頭大。

2007/11/2 17:01
應用擴展 工具箱
回復: 透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2007/3/3 23:57
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 213
MP : 37 / 8581
EXP: 55
離線
感謝 WSS 的不吝指導
即然無線的部份還是沒什麼辦法解決
那也只好把要在公司用的筆電灌回Windows系統了
學習Ubuntu的事就交給家中的筆電就好了
再次感謝 WSS

2007/11/2 17:50
應用擴展 工具箱
回復: 透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 9350
EXP: 12
離線
呵呵,不要這麼早就放棄嘛。
早之前(印象中好像是1.3的版本),為了讓Ubuntu底下的Winxp也可以用辦公室的彩雷,我也是搞這個Bridge搞了一、二天(高手可不要笑我喔),因為辦公室也沒有DHCP,一切都要自己設。當時使用的方法,就類似上面這些文章所介紹,其核心作法就是建立一個界面br0,再把二端利用br0接起來。
目前版本已經到1.52了,早之前的做法,基本上是有問題的,如下:
NOTE: as of kernel 2.6.18 and later (i.e. with Ubuntu 7.04) this stopped working, as now normal users are no longer allowed to dynamically create TAP devices. See the VirtualBox user manual for details of how to do this is done in current versions of VirtualBox (1.4.0 and later).
剛才認真看了一下使用手冊,近期內想抽空把這部份翻成中文。不過,你可以試試手冊裡提到的另一個更簡單的方法,也不用設Bridge了,新版才有的功能。
把virtualbox啟動,功能表選擇 設定值-->網路-->附掛到 內部網路(請用下拉選單,選擇最底下一項:內部網路)
透過這個方法,已經是避開NAT以及HIN(Host Interface Networking主端界面),它是『直接』連到網路上,所以當你進入XP之後,可以給它一個固定IP,其區段請設成和你印表機伺服器同一個區段。
以上方法我還沒試,但是看起來似乎是可以解決你的問題,而且是最簡易的解決法。

2007/11/2 22:20
應用擴展 工具箱
訪客
回復: 透過Virtualbox下的Windows的網路印表機問題
Anon:訪客
經過閱讀與實測,使用內部網路無法達到你的需求。
所謂內部網路是指在你的電腦裡,有二個以上並存的虛擬機器,利用這個方式,讓這二個以上的虛擬機器可以不經由橋接器互通。主因是安全與快速。
看來要達到需求,依然要從Bridge下手。剛好重灌了7.10及Virtualbox,正好一邊翻譯手冊一邊實作。等全部翻好實測過,再Post上來。另外無線網卡,應該是類似wlan0之類的名稱,比如eth0、eth1等等,你可以看看 /etc/network/interfaces 這個檔案。
備註:我很討厭無線網路,可能是我很怕死,所以我的家裡和辦公環境都沒有無線基地台。同事需要網路,我寧可多拉幾條網路線。^_^

2007/11/3 11:25 | ab5bb 4e497 89fda c9737
應用擴展 工具箱
回復: 透過Virtualbox下的Windows的網路印表機問題
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 9350
EXP: 12
離線
差不多翻好了,有空再來加上一些說明圖片。
===================================================
第41頁3.7.5節網路設定的章節裡有簡單的提及,VirtualBox對於每一個虛擬機器,可以提供最多四塊PCI Ethernet網路卡。而每一塊界面卡都可以分開指定底下四種不同的網路介接模式:
1.Not attached(未附掛)
2.Network Address Translation(NAT)
3.Host Interface Networking(主端界面)
4.Internal Networking(內部網路)
一般來說,虛擬網卡會被設定成NAT模式,這種模式適合在一般使用者上網的需要。(比如在客端執行程式來存取網路,在區域網路內提供服務等等),如果你只是想要在客端機器內,瀏覽網頁、下傳檔案、看看電子郵件,那預設的NAT網路模式就很適合你用了,你可以跳過這個章節。不過,請注意這個模式,一些網路功能無法跨越NAT工作,所以會無法使用網路共享功能,這是NAT的限制。
對於更進一步的網路需求,比如網路模擬、主端介面網路(HIN)都需要額外的設定,在主端運用以軟體為基礎的網路界面去完成這個連接。最後,VirtualBox內部網路可以被使用去建立虛擬機器之間的網路工作,但是無法應用在主端以及對外的網路工作上。有點困惑嗎?沒關係,底下的章節會詳細解說這四種不同的工作模式。為了說明起見,假設你的作業系統是ubuntu,VirtualBox是安裝在ubuntu裡,VirtualBox裡面安裝的是WinXP,在此情形下,ubuntu我們稱為主端(HOST)、WinXP為客端(GUEST)。
1.”Not attached”未附掛模式
當虛擬機器的網路被設定為未附掛模式時,VirtualBox通知這個客端,有一塊網路但是沒有任何網路連接到這塊卡上。這種方式就是把虛擬的網路從連接中拉開,當你的客端作業系統不需要網路連接或是要強迫客端系統重新定義網路時才有需要用到。
2.Network Address Translation(NAT)
NAT是客端虛擬機器存取外在的網路最簡單的方法。通常此種模式,主端與客端都不需要額外的規劃與設定,因此這是VirtualBox預設的網路工作模式。
客端虛擬機器以NAT的運作模式,就好比是一台真實的電腦,透過路由器與網際網路介接。在這個例子中,”路由器”就是VirtualBox的網路引擎,它會透通對應客端虛擬機器的網路進出IP。但是NAT的缺點,就是它類似以私有的網路介接在路由器之後,也因此這台虛擬機器無法被外部的網路看到及存取,所以你無法在這台客端機器上,執行伺服器的服務,除非設定轉送機制(port forwarding)
客端虛擬機器會從VirtualBox所提供的DHCP伺服器取得一個私有的內部網路IP位址,這個位址通常與主端的網路區段是明顯不同。當虛擬機器有更多的虛擬網卡要被設定去使用NAT時,第一塊卡可能是10.0.2.0區段,第二塊卡就是10.0.3.0區段。
在此網路架構下,客端所送出的TCP/IP資料,首先是被VirtualBox的NAT接收,並且利用主端的作業系統重送出去。對於主端的應用程式,它看起來就像是由VirtualBox這個應用程式所送出來的資料一樣,使用的是主端的IP位址,緊接著VirtualBox會聆聽封包的回應,並且重新打包再轉送到內部的客端機器內。
因為客端虛擬機器是以私有的內部網路透過VirtualBox與主端介接,所以客端所提供的網路服務,不管是主端或是在相同區段的其它電腦,不但看不見而且是不能使用的。但是VirtualBox可以透過port forwarding的port轉送機制,讓客端的網路服務也可以被外部所存取。在這情形下,VirtualBox會聆聽主機端的確定ports,當有資料送過來時,把資料打包再重新轉送到內部的客端系統裡去工作。對於主端的應用程式或是其它網路上的電腦而言,它看起來就像是主端系統所提供的網路服務一樣。(這也意味著,你不可以在主端及客端提供二個相同的服務,比如網頁伺服器服務)經由此種模式,你可以獲得在客端虛擬機器上提供網路服務的優點,比如當你的主端系統對於網路服務是較弱的,比如容易當機或是容易被入侵等,你就可以運用此種方式在主端系統上提供服務。
備註:
1.其實這種情況應該是常發生在當你的主端是WinXP時,比如你的作業系統是WinXP,你想要提供類似Web Server、Ftp Server、Mail Server、SSH Server等等伺服器服務時,又不想要使用windows平台所提供的伺服器服務,所以你另外安裝Virtualbox,並且在Virtualbox裡安裝ubuntu server 版,這時就派上用場了。如果你的作業系統就是ubuntu了,要提供web server就直接安裝apache server就可以了,不用再轉來轉去了吧。
2.如果你一開始安裝的是ubuntu desktop桌面版,如果CPU和記憶體夠大,也可以直接安裝伺服器的服務,安裝簡單到吐血。你只要在終端機底下打入 sudo tasksel,在出現的文字視窗中選擇你要的server之後按確定,馬上你的桌面系統就變成伺服器桌面系統了,夠簡單了吧。
你可以使用 VboxManage這個指令來完成這個任務。首先你必須知道,你的客端系統是使用哪一個port,同時你打算利用主端系統的哪一個port(一般來說,你可以客端與主端都使用相同的port),你可以使用主端系統任何一個沒有使用的port來使用這個服務。底下利用一個範例來介紹如何在客端系統裡使用ssh server的服務。
VBoxManage setextradata “客端機器名”
“VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol” TCP
VBoxManage setextradata “客端機器名”
“VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort” 22
VBoxManage setextradata “客端機器名”
“VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort” 2222
其中guestssh只是任意選擇的一個設定名稱。當設定完成,所有的主端port 2222的連接,都會被轉送到客端的port 22。通訊協定可以是TCP或是UDP(不分大小寫),如果要移除這個對應,可以使用這些相同的命令,只是把設定值拿掉即可(在這個例子中,就是 TCP、22、2222等資料)。另外要注意的是,當虛擬機器在執行中是無法進行NAT的設定的,所以先把虛擬機器『關機』吧。
使用NAP的模式有二個限制必須要注意。第一個就是無法使用網路芳鄰的瀏覽及共享。第二個就是ping這個工具程式指令,無法從主機或是其它私有虛擬網路之外的主機得到回應。要能夠瀏覽網路芳鄰的功能,需要客端能接受port 135,137,139的TCP及UDP的連接,雖然你可以使用上述的轉送方式,把連接轉送到客端系統裡,但是這會造成主端無法使用網路芳鄰的功能,因為都被你轉送到客端系統裡去了。另外因為ping是使用ICMP的網路封包,這必須由管理者認可的應用程式送出才行,但是VirtualBox如同一般的使用者應用程式,在NAT的模式下無法代理這些功能。

Host Interface Networking(HIF)簡介
在host interface networking模式,VirtualBox會在主端系統上,運用軟體的方式建立一個新的網路界面。這個新的軟體界面,會和你的實體界面同時並行存在。(比如,在linux主端vbox0會和eth0同時並行存在)當客端系統使用這個新的軟體界面時,就主端系統而言,它看起來就像是客端系統使用實體的網路線連接一樣。這個主端系統可以利用這個界面,從客端系統取得與送回資料。因此你可以運用這個界面,將客端與實際網路之間,設定路由或是橋接,讓資料可以互通。
你可以在主端系統上建立數個VirtualBox主端界面,但是同一時間,你只可以讓一個主端界面與一個客端虛擬網卡介接。換句話說,對於每一個虛擬網卡而言,可以想像它是使用主端界面網路,所以你需要在主端設定一個新的網路界面提供客端使用。
緊告:因為設定主端界面,它必須改變你的主端網路設定,所以會讓主端網路連線中斷。因此不要使用類似遠端控制的方式來工作,以免工作到一半時網路中斷。
網路橋接是使用主端界面最簡單的方法之一。橋接可以讓你把數個網路設備以軟體的方式連接在一起,資料送到其中一個設備上時也會同時送給其它設備。這也意指,客端虛擬機器可以透過主端的網卡,使用自己擁有的網路硬體位址,來取得和接收資料。這使得在你網路上的其它電腦,可以直接看到客端系統,就如同客端系統是直接實體連接到網路上一樣。所以不管是各種網路功能,諸如網路芳鄰、共用印表機等等,都可以利用這種方式完成。在主端系統你需要一塊有線網卡,不過目前大部份的無線網路設備尚無法支援橋接。
在一些網路環境(比如辦公網路),會監測網路通訊,避免一塊網卡使用數個網路MAC位址。它主要是避免網路攻擊,但是這也會造成你的橋接無法工作。
譯註:接下來有許多章節省略翻譯,只翻以ubuntu為主端的橋接設定章節。同時VirtualBox的版本是1.4.0以上。
自從Linux的核心開始內建支援虛擬網路裝置起(被稱作 TAP介面),在Linux上的VirtualBox使用這些現有的功能來取代自己的主端網路驅動程式。TAP界面的行為,就如同你主機上的實體網路界面,而且可以使用你主機系統上的任何網路工具。從主機的觀點來看,它就像是客端的網路卡,透過網路線連接到TAP界面。為了能在VirtualBox裡使用主端網路界面,你必須可以存取 /dev/net/tun。檢查這個裝置是屬於哪個群組,並且確定要使用主端網路界面的使用都,都屬於這個群組。在大部份的情形下,這個裝置是屬於vboxuser群組。
譯註:如果你列出/dev/net/tun的屬性,ls -l /dev/net/tun,你會發現是屬於root群組,因此你要下指令改變這個情況 sudo chown root.vboxuser /etc/net/tun
在linux主機上,你可以在VirtualBox上建立持續連接或是動態連接,動態指的是當客端執行時建立,當客端停止時移除。持續的連接界面,對於已知的且不常改變的客端而言,是比較合用的(比如一些伺服器上的設定),而且容易安裝設定。使用VirtualBox建立動態界面雖然可以提供更多彈性,但是當界面啟動建立以及移除時,會要求你輸入管理者密碼。
底下僅介紹如何建立持續性的橋接界面。
要在Linux主機下,建立持續性的橋接界面,一般來說需要三個步驟:
1.首先你要在主機上建立一座橋(bridge),然後把你主機上的某一塊實體網卡界面與它連接(通常是eth0)。接著你就可以連接那個界面(bridge)到虛擬機器的虛擬界面上。
要注意的是,橋接只是Ethernet概念,並非僅是TCP/IP的運作。在實際運作中,橋接通常是使用來連接二個不同的Ethernet網路,並且讓二個不同的Ethernet網路可以互相通訊,讓如同是一個網路一樣,但是卻又不需要把二個網路合併為一。
2.對於需要使用主端界面網路功能的客端網卡,你必須建立一個新的『虛擬』主端界面(通常叫做vbox0或是其它類似名稱),接著把這個界面接到橋接器上。
3.最後,在虛擬機器的網路卡設定界面上,把這個新的主端界面名字指定給它。
很不幸的,因為Linux的發行版本太多,每個發行版本的網路設定略有不同,因此無法全面介紹。這裡只完全針對ubuntu來翻譯。其它Debian,Fedora/RedHat和openSUSE就請自行參看原文手冊。
VirtualBox針對所有的發行版,提供了二個工具,VBoxAddIF和VBoxDeleteIF。這些工具可以讓你建立或刪除持續主端界面(當你重開機也不會消失),而且你可以選擇把它們加入到存在的橋接器上。VirtualBox也提供了一個叫做VBoxTunctl的工具,你可以運用它來建立一個暫時性的界面。這些工具的說明在原文手冊第六十八頁有介紹。
接下來我們來看ubuntu的實作部份。在ubuntu底下要設定一個持續性的主端界面,有底下幾個步驟:
1.首先安裝橋接工具(bridge-utils)套件。
sudo apt-get install bridge-utils
2.接著,你要在/etc/network/interfaces裡增加『橋』的設定。底下的範例建立了一個名為br0的橋,並且把主機ethernet界面eth0與它連接。br0沒有指定固定IP,它的IP取得是使用DHCP,剩下的就是讓主端存取這個網路。

auto br0
iface br0 inet dhcp
bridge_ports eth0
譯註:
1.如果在你的網路環境沒有可以提供自動給IP的DHCP伺服器,你就必須使用固定的IP位址了。
2.在實測中,如果你的網路是使用pppoe的連線方式上網(就是ADSL撥接的方式),如果你的br0的設定不是第一個,會造成撥接上網異常。不過這部份沒有太多時間詳測,底下提供的是我使用的固定IP且可上網的設定方式給大家參考。
auto lo

iface lo inet loopback



auto br0

iface br0 inet static

address 192.168.1.199

netmask 255.255.255.0

gateway 192.168.1.254

bridge_ports eth0



auto dsl-provider

iface dsl-provider inet ppp

pre-up /sbin/ifconfig br0 up # line maintained by pppoeconf

provider dsl-provider



auto eth0

iface eth0 inet static

address 192.168.0.11

netmask 255.255.255.0

gateway 192.168.0.254

3.重新啟動你的網路
sudo /etc/init.d/networking restart
譯註:啟動之後,如果你觀察網路介面 ifconfig -a,會發現『多了一塊br0的網卡』
4.現在,建立持續連接主機界面vbox0(所有利用這種方法建立的主端界面,都必須要叫做vbox,後面跟著一個數字,如vbox0、vbox1、vbox2......),然後把它加到之前我們建立的橋接器上。
sudo VboxAddIF vbox0 <user> br0
記得實作時,把<user>替換成實際要使用新界面的使用者。
最後,要告訴VirtualBox使用這個界面,執行VirtualBox應用程式,在主視窗上選擇你要使用的虛擬機器,接著點選 設定值-->網路-->附掛到......,下拉選擇主端界面,並且在介面名稱上,輸入vbox0

經過以上步驟,你就可以使用網路芳鄰、網路印表機等等功能嚕。

2007/11/5 22:03
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.