EMCola 浪迹于互联网世界,混迹于天地之间,关注网络空间、人生点滴、思想星光 EMCola is my space for my life & my idea & knowledge
2023年2月9日 星期四
Docker install Trojan-go Xray
2023年2月2日 星期四
在 Docker 中為 Brother DCP-T310 安裝 CUPS 驅動程序
本指南將引導您如何在 Docker 容器中設定 CUPS 服務,並為 Brother DCP-T310 多功能印表機安裝驅動程序。由於 Brother DCP-T310 沒有官方的 64 位 Linux 驅動程序,我們將利用 Brother 官方提供的安裝腳本來解決此問題。
必要條件:
- 已安裝 Docker 和 Portainer (或 Docker CLI)。
- Brother DCP-T310 印表機已連接到您的主機。
步驟 1:部署 CUPS Docker 容器
我們將使用 olbat/cupsd
映像來創建 CUPS 服務容器。
使用 Portainer 部署 (推薦):
- 登入您的 Portainer 儀表板。
- 導航到 "Containers" (容器) -> "Add container" (添加容器)。
- Image (映像): 輸入
olbat/cupsd
- Name (名稱): 輸入
cupsd
(或其他您喜歡的名稱) - Port mappings (端口映射):
- 將
631
(Host) 映射到631
(Container)。這將允許您通過主機的 631 端口訪問 CUPS 網頁介面。
- 將
- Volumes (儲存卷):
- Bind (綁定): 將
/var/run/dbus
(Host) 映射到/var/run/dbus
(Container)。這是為了讓 CUPS 能與主機的 D-Bus 系統通信,尤其對於 USB 設備管理很重要。 - Bind (綁定): 將
/dev/bus/usb
(Host) 映射到/dev/bus/usb
(Container)。這一步至關重要,它允許容器直接訪問主機的 USB 設備,包括您的印表機。
- Bind (綁定): 將
- Runtime & Resources (運行時與資源):
- 勾選 "Privileged mode" (特權模式)。由於容器需要直接訪問 USB 設備和底層系統資源,特權模式是必需的。
使用 Docker CLI 部署:
在您的終端機中運行以下命令:
docker run -d \
-p 631:631 \
-v /var/run/dbus:/var/run/dbus \
-v /dev/bus/usb:/dev/bus/usb \
--name cupsd \
--privileged \
olbat/cupsd
步驟 2:在 CUPS 容器內安裝 Brother DCP-T310 驅動程序
由於 Brother DCP-T310 沒有現成的 64 位驅動程序,我們需要進入容器內部,執行 Brother 官方提供的安裝腳本。
-
進入 CUPS 容器的 Shell:
- 使用 Portainer: 導航到 "Containers" (容器),找到您的
cupsd
容器,點擊其名稱,然後點擊 "Console" (控制台) 或 "Exec console" (執行控制台),選擇sh
或bash
。 - 使用 Docker CLI:
Bash
docker exec -it cupsd bash
- 使用 Portainer: 導航到 "Containers" (容器),找到您的
-
下載並運行 Brother 印表機安裝程序: 在容器的 Shell 內,依序執行以下命令:
Bash# 下載 Brother 官方安裝腳本 wget https://download.brother.com/welcome/dlf006893/linux-brprinter-installer-2.2.3-1.gz # 解壓縮 gzip -d linux-brprinter-installer-2.2.3-1.gz # 賦予執行權限並運行安裝腳本 # 當腳本提示您輸入印表機名稱時,輸入 "DCP-T310" bash linux-brprinter-installer-2.2.3-1 DCP-T310
注意:
- 安裝腳本會引導您完成安裝過程。當提示您選擇印表機型號時,請確認輸入
DCP-T310
。 - 腳本可能會詢問您是否要安裝相關依賴、配置網路等,請根據提示操作。通常,對於 USB 連接,您可能需要選擇 USB 或自動檢測選項。
- 安裝腳本會引導您完成安裝過程。當提示您選擇印表機型號時,請確認輸入
-
退出容器 Shell: 完成驅動程序安裝後,輸入
exit
退出容器的 Shell。
步驟 3:在 CUPS 伺服器中添加印表機
現在驅動程序已經安裝在容器中,您可以通過 CUPS 網頁介面添加您的印表機。
-
訪問 CUPS 網頁介面: 在您的網頁瀏覽器中打開
http://127.0.0.1:631
(如果您的 Docker 主機 IP 地址不是127.0.0.1
,請替換為實際 IP)。 -
登入 CUPS 介面: 點擊 "Administration" (管理)。當要求輸入使用者名和密碼時:
- 使用者名稱:
print
- 密碼:
print
- 使用者名稱:
-
添加印表機: 在 "Administration" 頁面下,點擊 "Printers" (印表機) 部分的 "Add Printer" (添加印表機)。
- CUPS 應該會自動檢測到通過 USB 連接的 Brother DCP-T310。選擇它並繼續。
- 按照提示命名您的印表機,添加描述和位置。
- 在驅動程序選擇步驟,CUPS 應該會推薦已安裝的 Brother DCP-T310 驅動程序。選擇它並完成設置。
完成這些步驟後,您的 Brother DCP-T310 印表機應該就能通過 CUPS 伺服器(運行在 Docker 容器中)正常工作了。您可以嘗試列印測試頁來確認其功能。
2023年1月20日 星期五
Ubiquiti EdgeRouter X (ERX) 路由器 IPv6 配置指南 (適用於 PPPoE 環境)
如何在 Ubiquiti EdgeRouter X (ERX) 上配置 IPv6,主要針對 PPPoE 連接類型。內容涵蓋了 MSS Clamping 的調整、DHCPv6-PD 配置以及一些常見問題的解決方案。
重要提示:
- 在進行任何配置更改之前,建議您備份當前的路由器配置。
- 操作前請確保您對 EdgeOS 的基本操作有一定了解。
1. MSS Clamping 配置 (firewall/options/mss-clamp6)
MSS (Maximum Segment Size) Clamping 對於 IPv6 流量的穩定性至關重要,尤其在 PPPoE 環境下。不正確的 MSS 值可能導致部分網站或服務無法正常訪問。
- 路徑:
Config Tree
->firewall
->options
->mss-clamp6
- 建議值:
1432
- 計算方式: 標準 PPPoE 環境的 IPv6 MSS 值通常為
1500 (MTU) - 8 (PPPoE Header) - 40 (IPv6 Header) - 20 (TCP Header) = 1432
。
- 計算方式: 標準 PPPoE 環境的 IPv6 MSS 值通常為
- 故障排除: 如果設置為
1432
後仍出現問題 (例如部分網頁無法加載),您可以嘗試將 MSS 值進一步調小,例如1382
。這是因為某些服務提供商或網路環境可能存在更嚴格的限制。
2. DHCPv6-PD (Prefix Delegation) 配置 (內網 IPv6 分配)
DHCPv6-PD 允許路由器從 ISP 獲取一個 IPv6 前綴,並將其分配給內網設備。這對於在多個內網段分配 IPv6 地址特別有用。
- 路徑:
interfaces
->ethernet
->eth0
(或您的 PPPoE 介面) ->pppoe
->0
(或您的 PPPoE 連接號) ->dhcpv6-pd
->pd
->0
(第一個前綴委派) - 配置詳細:
- interface (內網介面): 點擊進入此項,為您希望啟用 IPv6 的內網介面進行配置。
- host-address:
- 單個內網段: 如果您只有一個內網 IPv6 段 (例如
192.168.1.x
),設定為::1
。這表示該介面將獲得從委派前綴派生出的第一個可用地址。 - 多個內網段: (如您所提到的
192.168.1.x
和192.168.2.x
) 您需要為每個內網介面配置不同的prefix-id
。
- 單個內網段: 如果您只有一個內網 IPv6 段 (例如
- prefix-id:
- 如果您只有一個內網段,設定為
:1
。 - 如果您有兩個內網段,例如一個
192.168.1.x
對應eth1
,另一個192.168.2.x
對應eth2
(或其他 VLAN 介面),您可以將eth1
的prefix-id
設為:1
,將eth2
的prefix-id
設為:2
。這樣,每個內網段都會獲得一個獨立的/64
IPv6 前綴。
- 如果您只有一個內網段,設定為
- service: 選擇
slaac
(Stateless Address Autoconfiguration)。這允許內網設備通過路由通告自動配置 IPv6 地址,而無需 DHCPv6 伺服器。
- host-address:
- 委派前綴大小調整:
- 路徑: 在點開
pd/0
後,您可能會看到/64
。 - 修改: 將其修改為
/60
。這將請求 ISP 提供一個更大的前綴 (包含 16 個/64
子網),以便您可以為多個內網介面分配獨立的/64
地址段而不會報錯。
- 路徑: 在點開
- interface (內網介面): 點擊進入此項,為您希望啟用 IPv6 的內網介面進行配置。
3. 外網 IPv6 地址配置 (interfaces/ethernet/eth0/pppoe/0/ipv6)
這部分配置確保路由器的 PPPoE 介面能夠獲取到其自身的 IPv6 地址。
- 路徑:
interfaces
->ethernet
->eth0
(或您的 PPPoE 介面) ->pppoe
->0
(或您的 PPPoE 連接號) ->ipv6
- 配置:
- address: 點擊
+
添加。這會讓路由器從 ISP 自動獲取 IPv6 地址。 - enable: 點擊
+
啟用 IPv6 功能。
- address: 點擊
4. 完成設置與應用
- 預覽並應用: 完成上述所有設置後,點擊頁面底部的
Preview
(預覽) 查看所有待應用的更改,然後點擊Apply
(應用) 使配置生效。
5. DNS 服務與 IPv6 相關優化
如果 IPv6 DNS 服務不穩定,導致網頁載入緩慢或卡頓,您可以考慮啟用 no-dns
選項。
- 路徑:
interfaces
->ethernet
->eth0
(或您的 PPPoE 介面) ->pppoe
->0
(或您的 PPPoE 連接號) ->ipv6
- 選項: 啟用
no-dns
選項。- 作用: 這樣路由器就不會向客戶端分發 ISP 提供的 IPv6 DNS 服務器地址,而是依賴其他方式 (例如客戶端使用其自身的 IPv4 DNS 服務器,或您在路由器上配置其他可靠的公共 IPv6 DNS,如 Google DNS
2001:4860:4860::8888
和2001:4860:4860::8844
)。
- 作用: 這樣路由器就不會向客戶端分發 ISP 提供的 IPv6 DNS 服務器地址,而是依賴其他方式 (例如客戶端使用其自身的 IPv4 DNS 服務器,或您在路由器上配置其他可靠的公共 IPv6 DNS,如 Google DNS
6. 無 DHCPv6-PD 的情況 (IPv6 NDP 解決方案)
如果您的 ISP 沒有提供 DHCPv6-PD,而僅僅通過 IPv6 NDP (Neighbor Discovery Protocol) 分配地址,您可以考慮在 EdgeRouter X 上安裝 ndppd
(Neighbor Discovery Protocol Proxy Daemon) 來實現。
- 背景: 在 OpenWRT 環境中,這通常通過安裝
ndppd
套件來實現,它會將外網 (例如eth0
) 接收到的 NDP 請求轉發到內網 (例如br-lan
)。 - EdgeRouter X 實現:
- EdgeRouter X 運行的是 EdgeOS (基於 Debian 的 Vyatta 分支)。
- 您需要 SSH 登入路由器,然後嘗試安裝
ndppd
。 - 安裝命令 (可能需要先更新 apt 源並獲取 root 權限):
Bash
sudo apt update sudo apt install ndppd
- 配置
ndppd
: 安裝完成後,您需要手動編輯ndppd
的配置文件 (通常在/etc/ndppd.conf
),指定要代理的介面 (外網介面和內網介面),並啟動服務。這部分配置會更複雜,需要參考ndppd
的文檔或相關教程。
注意: 這種情況相對複雜,且 ndppd
並非 EdgeOS 的預設套件。在嘗試此方法之前,請確保您已了解相關風險,並知道如何通過 SSH 恢復路由器。
通過遵循以上步驟,您應該能夠在 Ubiquiti EdgeRouter X 上成功配置 IPv6,享受更快的網路連接並為未來的網路趨勢做好準備。
大乐透号码选取器
大乐透号码选取器 (带历史记录) 大乐透号码选取器 前区号码 (5个,01-35) ...
-
如何在 Ubiquiti EdgeRouter X (ERX) 上配置 IPv6,主要針對 PPPoE 連接類型。內容涵蓋了 MSS Clamping 的調整、DHCPv6-PD 配置以及一些常見問題的解決方案。 重要提示: 在進行任何配置更改之前,建議您備份當前的路由器配置。...
-
Forget your Calibre-Web administrator password? No problem! If you're running Calibre-Web via Docker, you can easily reset it using a co...
-
Micro:bit to Scratch Requirements Install Scratch Link