萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Fedora 17 虛擬列印機共享配置:CUPS-PDF + VirtualBox 網路整合

在 Fedora 17 建立虛擬 PDF 列印機,透過 CUPS 共享給 VirtualBox 虛擬機 (Windows XP) 使用,實現跨平台無實體印表機的文件輸出。

宿主機配置 (Fedora 17)

1. 安裝 CUPS 與 PDF 虛擬列印機


yum install -y cups cups-pdf tunctl
systemctl enable --now cups

2. CUPS 管理介面啟用共享

  • 瀏覽器開啟 https://localhost:631
  • Administration → 勾選:
    • Share printers connected to this system
    • Allow printing from the Internet
    • Allow users to cancel any job
  • Change Settings 儲存

3. 建立虛擬網卡 (tap0) 供 VirtualBox 橋接


# /etc/sysctl.conf
net.ipv4.ip_forward = 1

# /etc/rc.d/rc.local (需可執行權限 +x)
#!/bin/bash
tunctl -t tap0
ifconfig tap0 10.0.2.2 netmask 255.255.255.0 up
# 假設實體網卡為 p35p1 (ip link 查看)
iptables -t nat -A POSTROUTING -o p35p1 -s 10.0.2.0/24 -j MASQUERADE

重啟宿主機使 rc.local 生效。

VirtualBox 虛擬機配置

網路介面設定

  • 網卡 1:啟用 → 橋接網卡 → 介面選擇 tap0
  • 網卡 2:啟用 → NAT (提供外網存取)

客體系統 (Windows XP) 設定

  1. 網卡 1 (tap0 橋接) 手動設定 IP:10.0.2.x (x>2)、掩碼 255.255.255.0、閘道 10.0.2.2
  2. IE 瀏覽 https://10.0.2.2:631 確認 CUPS 網頁可達
  3. 點選 Printers → cups-pdf → 複製該 URL (如 https://10.0.2.2:631/printers/cups-pdf)
  4. 控制台 → 印表機和傳真 → 新增印表機 → 網路印表機 → 連接到網路上的印表機 → 貼上 URL
  5. 驅動程式選擇:Generic → MS Publisher Color Printer (或 Generic PostScript)

PDF 輸出目錄共享


# 宿主機輸出目錄
/var/spool/cups-pdf/ANONYMOUS/

# Samba 共享給虛擬機存取
# /etc/samba/smb.conf
[pdf-output]
   path = /var/spool/cups-pdf/ANONYMOUS
   browseable = yes
   read only = yes
   guest ok = yes

虛擬機對應網路磁碟機即可直接取得 PDF 檔案。

cups-pdf 設定檔調整 (/etc/cups/cups-pdf.conf)


Out ${HOME}/PDFs          # 變更輸出目錄 (預設 /var/spool/cups-pdf/${USER})
Label 1                   # 在 PDF 加入標籤資訊
TitlePref 1               # 使用文件標題作為檔名

驗證與疑難排解

  • 宿主機測試:lp -d cups-pdf /etc/passwd → 檢查輸出目錄
  • 虛擬機測試:記事本列印測試頁 → 確認 PDF 產出
  • 防火牆:宿主機開放 TCP 631 (IPP)、UDP 631 (Browsing)、Samba 139/445
  • SELinux:setsebool -P cups_pdf_write 1 允許 cups-pdf 寫入家目錄

此架構適用於「Linux 宿主機 + Windows 虛擬機」無實體印表機環境,亦可延伸為網路列印伺服器服務多台虛擬機/實體機。

copyright © 萬盛學電腦網 all rights reserved