Không có nút VPN trên màn hình: hồ sơ vẫn còn đó chứ?
Một bảng điều khiển thiếu là câu hỏi về giao diện, không phải bằng chứng giao thức đã biến mất. Liệt kê hồ sơ đã lưu theo UUID, rồi kích hoạt một hồ sơ bằng nmcli trước khi cài lại.
Cài lại gói hiếm khi mang lại mục VPN mà menu mạng của màn hình chưa bao giờ vẽ. Bảng điều khiển và kết nối là hai đối tượng có hai chủ sở hữu: giao diện màn hình vẽ những gì plugin của nó tiết lộ, còn dịch vụ mạng giữ hồ sơ. Một bên có thể biến mất khỏi menu trong khi bên kia vẫn hoạt động, và đó là lý do menu là nơi sai để bắt đầu. Kiểm tra hồ sơ trước, rồi quyết định xem màn hình hay kết nối mới thực sự hỏng.
Nút và hồ sơ thuộc về những thứ khác nhau
Trang mạng trên màn hình vẽ những gì giao diện đã cài và các thành phần trình soạn VPN của nó biết vẽ. NetworkManager, hoặc bất kỳ dịch vụ nào sở hữu mạng trên máy đó, giữ định nghĩa kết nối và quyết định xem có thể dựng nó lên hay không. Không gì buộc hai góc nhìn phải đồng ý, và sau một thay đổi màn hình, một bản nâng cấp bản phân phối hoặc một lần chạy với bản phát triển, chúng thường không đồng ý. Vì vậy bảng điều khiển có thể không đầy đủ mà đường hầm không hề mất. Đọc đó như một vấn đề giao thức dẫn thẳng vào vòng cài lại không sửa được gì.
| What the screen shows | Check it against | What the answer rules out |
|---|---|---|
| No VPN section at all | nmcli connection show | Whether any profile exists |
| A VPN section with an empty list | The editor or plugin package for that VPN type | Whether the frontend can draw it |
| The same profile listed twice | Both UUIDs | Whether an import loop made copies |
Làm bảng từ trên xuống, vì mỗi hàng trả lời một câu hỏi khác nhau và hàng đầu tiên là rẻ nhất. Một hồ sơ tồn tại chuyển vấn đề sang giao diện, còn không có hồ sơ nào chuyển nó sang việc cấp phát. Đoán xem bạn thuộc trường hợp nào trong hai trường hợp ấy chính là điều biến một lần kiểm tra mười phút thành cả buổi chiều cài lại.
Hỏi NetworkManager xem nó đã lưu gì
Hỏi thẳng dịch vụ thay vì đọc menu, vì hai lệnh tách cái đang tồn tại khỏi cái đang chạy. Chạy chúng trên chính máy đó, và chạy lệnh thứ hai trước và sau mỗi lần thử kích hoạt. Hai danh sách không thay thế được cho nhau, và khác biệt giữa chúng chính là chẩn đoán.
nmcli -f NAME,UUID,TYPE,DEVICE connection show
nmcli connection show --active
Một hồ sơ đã lưu có thể không hoạt động, điều đó bình thường và không nói gì về màn hình. Hai mục trùng tên là chuyện thường sau một vòng nhập, và chỉ UUID phân biệt được chúng. Một đường hầm do dịch vụ khác trực tiếp sở hữu có thể không bao giờ vào danh sách này, nên kết quả rỗng không tự động là lỗi NetworkManager. Từ đây hãy chọn theo UUID, vì tên là nhãn mà người ta sửa còn định danh thì không.
Xem xét hồ sơ thay vì nhập lại nó
Khi hồ sơ tồn tại, hãy đọc chi tiết của nó mà không đòi bí mật đã lưu. Khi nó không tồn tại, hãy dùng một lần quy trình cấp phát hoặc nhập mà plugin tài liệu hóa, và xác nhận nó đã tạo ra gì. Lặp lại việc nhập vì menu vẫn trống chính là cách một máy kết thúc với bốn bản sao cạnh tranh của một kết nối.
Những bản sao ấy là trôi dạt với dấu vết giấy mà không ai đọc: người dùng màn hình không thể nói bản nào sẽ được dùng, và quản trị viên kế tiếp cũng vậy. Xóa các bản trùng một cách có chủ đích, sau khi đã ghi lại định danh của chúng, thay vì để vòng nhập quyết định. Ghi lại UUID còn sống, vì giá trị đó là thứ mà việc kích hoạt từ terminal cần. Một hồ sơ được nhập hai lần dưới các tên khác nhau thường là một định nghĩa đang hoạt động và một tàn dư của sự thiếu kiên nhẫn. Danh sách hồ sơ là cấu hình, và nó xứng đáng được chăm sóc như chính kết nối.
Kích hoạt hồ sơ đã lưu từ terminal
tài liệu nmcli đề cập việc kích hoạt tương tác một hồ sơ đã chọn, điều đó biến dòng lệnh thành giao diện thứ hai được hỗ trợ chứ không phải một cách vòng tránh. Thay định danh mẫu bên dưới bằng UUID bạn đã giữ. Hiểu lệnh làm gì trước khi chạy, vì nó thay đổi trạng thái mạng. Tuyến và DNS có thể dịch chuyển, và một phiên từ xa qua giao diện đang được cấu hình lại sẽ không sống sót.
Chạy nó từ một bảng điều khiển cục bộ, hoặc với kế hoạch vào lại khi thay đổi đi sai. --ask thu thập các đầu vào mà hồ sơ còn thiếu; nó không vượt qua ủy quyền của hệ thống. Nó cũng không bảo đảm mọi lời nhắc xác thực của plugin đều hoạt động trong terminal, vì một số chờ một hộp thoại mà ở đó không thể với tới.
nmcli --ask connection up uuid 11111111-2222-4333-8444-555555555555
Đọc kết quả trước khi đổ lỗi cho màn hình
Nếu hồ sơ dựng lên, kết nối đã lưu hoạt động và đường quản trị này hoạt động. Điều đó thu hẹp phàn nàn về giao diện, vốn là một danh sách thành phần khác và thường là một đội khác. Nếu nó không dựng lên, lỗi nằm ở hồ sơ hoặc ở đường hầm, và màn hình chưa bao giờ là vấn đề.
Một lần kích hoạt thành công vẫn không nói gì về việc thành phần trình soạn của giao diện có mặt hay không, hay bản thân bảng điều khiển có hành xử sai hay không. Đó vẫn là câu hỏi cho giao diện được hỗ trợ của bản phân phối và các gói plugin tương ứng. Gộp chúng vào một lần cài lại thường để bảng điều khiển y nguyên như cũ và thêm một lần khởi động lại vào câu chuyện.
Một báo cáo hữu ích nêu bản phát hành màn hình, loại kết nối, thao tác bảng điều khiển bị thiếu, và liệu hồ sơ có hiển thị hoặc có thể kích hoạt qua giao diện được hỗ trợ hay không. Việc mô tả một menu bị thiếu không đòi khóa riêng cũng không đòi hồ sơ mang thông tin xác thực. Thế là đủ để người bảo trì tái tạo trạng thái bảng điều khiển mà không chạm vào bất kỳ thông tin xác thực nào.