Thứ Sáu nó vẫn chạy. Thứ Hai cùng máy khách Windows đó trả lời bằng một hộp thoại nói rằng lần thử kết nối đã thất bại, và câu bên dưới là câu bạn đã từng thấy cho hàng chục vấn đề không liên quan. Hộp thoại đó là cuối một chuỗi, không phải khởi đầu. Windows giấu giai đoạn mà lần thử thực sự chết, và hai bằng chứng nhỏ gọi tên nó: mã kết quả dạng số và một sự kiện RasClient từ đúng phút đó. Đây là thứ tự tôi dùng — ghim lần thử, đọc mã, lấy sự kiện, rồi chỉ thay đổi đúng một lớp.

Văn bản hộp thoại là bước cuối, không phải nguyên nhân

Câu bạn đọc được chọn sau khi lần thử đã bung ra. "Kết nối bị máy tính từ xa chấm dứt trước khi kết nối được thiết lập" xuất hiện khi máy chủ gác máy giữa lúc thương lượng, khi IPsec thất bại trước cả lúc tên người dùng của bạn được gửi đi, và khi một chính sách từ chối thẳng đường hầm. Ba chủ thể khác nhau, một câu. Hãy coi cách diễn đạt là một lớp triệu chứng và đừng để nó dẫn dắt gì cho đến khi mã đồng ý với nó.

Điều vẫn có thể ghim được là chính lần thử. Ghi lại tên kết nối, loại đường hầm lưu trong hồ sơ — PPTP, L2TP/IPsec, SSTP hoặc IKEv2 —, thời điểm đến từng giây, và mã. Nếu bạn không chắc giao thức nào thực sự chạy, hãy mở %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk và đọc mục đó thay vì tin vào trí nhớ; một hồ sơ được dùng lại cho giao thức mới vẫn giữ tên hiển thị cũ của nó.

Đọc con số trước khi đọc chữ

Các mã rơi vào ba giai đoạn, và giai đoạn quan trọng hơn cách diễn đạt chính xác: một cuộc trao đổi xác thực đã tới được và bị từ chối, một máy chủ không bao giờ trả lời, hoặc một cuộc thương lượng sụp đổ sau khi đường liên kết lên. 691 là loại đầu tiên — bước kiểm tra thông tin đăng nhập đã chạy và thất bại, dù vì mật khẩu sai, tài khoản bị khóa hay hết hạn, hay một giao thức xác thực mà máy chủ không chấp nhận. 812 cũng là từ chối, nhưng với thông tin đăng nhập hợp lệ: một chính sách trên máy chủ truy cập từ xa đã quyết định chống lại bạn. Microsoft duy trì danh sách mã lỗi cho kết nối quay số và VPN chuẩn, và đáng để đọc số của bạn ở đó trước khi tra cứu nội dung thông báo.

809 là lớp ngược lại: không có gì quay về. Đây là vấn đề đường đi — TCP 443 bị lọc cho SSTP, GRE bị chặn cho PPTP, UDP 500 và 4500 hoặc ESP bị bỏ cho việc đi xuyên IPsec. Mật khẩu mới không sửa được điều này và chứng chỉ mới cũng không. 720 nghĩa là đường liên kết đã lên và PPP không bao giờ hoàn tất thương lượng, điều này chỉ ra sự không khớp giao thức hoặc một máy chủ không thể cấp địa chỉ. 789, hoặc 13801 trên IKEv2, là danh tính bên trong IPsec: một chứng chỉ có chủ thể không khớp với tên bạn quay số, một chuỗi không đáng tin, hoặc một khóa chia sẻ trước khác nhau giữa hai đầu.

Lấy sự kiện RasClient của đúng phút đó

Trong Trình xem sự kiện, Windows Logs > Application được lọc theo nguồn RasClient là nơi đầu tiên nên nhìn. Bài viết của Microsoft về lỗi 720 chỉ vào sự kiện 20227 trong nhật ký đó. Cùng nhà cung cấp phát ra các mã định danh khác cho các kết quả khác, nên hãy đọc thông báo và mã kết quả nhúng trong đó thay vì coi ID là chẩn đoán; một hộp thoại chung cộng với 20227 mang 720 đã là một câu chuyện hẹp hơn nhiều.

Từ PowerShell, không cần nhấp qua giao diện đồ họa:

Get-WinEvent -FilterHashtable @{
  LogName      = 'Application'
  ProviderName = 'RasClient'
  StartTime    = (Get-Date).AddMinutes(-15)
} | Format-List TimeCreated, Id, Message

Kết quả rỗng rất có thông tin. Thường thì nó nghĩa là lần quay số chưa bao giờ đi đủ xa để RAS ghi lại gì, hoặc phần mềm thất bại không phải máy khách gốc — máy khách bên thứ ba giữ chẩn đoán riêng và thường không ghi gì vào nhật ký Application. Hãy kiểm tra nhật ký của nhà cung cấp trước khi kết luận rằng việc ghi sự kiện bị hỏng.

Dựng một dòng thời gian thay vì một đống sự kiện

Các vòng thử lại tạo ra tiếng ồn. Năm lần tự động kết nối lại để lại một cụm sự kiện, và cám dỗ là đọc chúng như một trình tự duy nhất với một nguyên nhân duy nhất. Đó là năm lần thử riêng biệt, và chỉ một số lần tới được máy chủ. Lấy một cửa sổ hai hoặc ba phút, một tên kết nối, và liệt kê mọi sự kiện với mã riêng của nó trước khi diễn giải bất cứ điều gì.

Rồi hỏi lần thử dừng ở đâu. Khi cổng hoặc phần phụ trợ xác thực không giữ bản ghi nào cho mốc thời gian đó, máy khách chưa bao giờ tới được, và bạn đang xem một vấn đề khả năng tiếp cận. Khi phần phụ trợ hiển thị một yêu cầu và một lời từ chối, quyết định đã được đưa ra ở đó, và lớp thông tin đăng nhập hoặc chính sách áp dụng. Hãy so đồng hồ trước khi so giờ: máy khách báo giờ địa phương, nhiều cổng ghi theo UTC, và một độ lệch sẽ khiến một cặp tương quan hoàn hảo trông như không liên quan.

Để có một bản ghi lặp lại được, hãy quay số từ dòng lệnh và để nó in kết quả:

rasdial "Office VPN"
rasdial "Office VPN" /disconnect

Bảng điều khiển hiển thị con số mà giao diện đồ họa giấu sau văn bản thân thiện, và chạy hai lần cho bạn biết mã ổn định hay chập chờn.

Mỗi giai đoạn nói bạn nên đổi gì

Gọi tên giai đoạn chỉ hữu ích nếu nó thu nhỏ tập thay đổi về một lớp:

  • 691 — xác thực: phương thức EAP mà máy khách đề nghị so với phương thức máy chủ chấp nhận, trạng thái tài khoản, hạn mật khẩu, quyền quay số vào.
  • 812 — chính sách máy chủ: chính sách truy cập từ xa hoặc quy tắc NPS khớp với người dùng này và cửa sổ thời gian này.
  • 809 — khả năng tiếp cận: quy tắc tường lửa trên đường đi, NAT và việc đi xuyên giao thức, cổng mà loại đường hầm đã chọn cần.
  • 720 — thương lượng PPP: không khớp giao thức xác thực, cấp phát địa chỉ, một thiết lập PPP phía máy chủ.
  • 789 / 13801 — danh tính IPsec: chủ thể chứng chỉ so với tên bạn quay số, chuỗi tin cậy, khóa chia sẻ trước.

Thay đổi một trong số đó, thử lại cùng hồ sơ, và ghi lại mã mới. Một mã khác sau thay đổi là tiến bộ chứ không phải mâu thuẫn: bạn đã dời lỗi sang giai đoạn muộn hơn, và việc sửa một cái bắt tay nhiều giai đoạn trông đúng như vậy. Điều bạn không nên làm là đổi tường lửa, chứng chỉ và mật khẩu trong một lần ngồi rồi ghi công cho cái đến cuối.

Chia sẻ bằng chứng, không phải môi trường

Thông báo sự kiện phong phú hơn vẻ ngoài của chúng. Chúng mang tên kết nối, tài khoản, thường là tên hoặc địa chỉ nội bộ của cổng, và đôi khi là dấu vân tay chứng chỉ. Giữ bản gốc ở nơi nó thuộc về, và dựng một bản sao đã biên tập riêng cho bất kỳ ai khác; gõ lại dòng thời gian từ trí nhớ làm mất đúng những chi tiết khiến nó hữu ích.

Một bàn giao thực sự được xử lý cần năm trường: mã, giai đoạn mà nó thuộc về, máy khách và loại đường hầm, mốc thời gian kèm múi giờ của nó, và việc cổng có nhìn thấy yêu cầu hay không. Mọi thứ khác là tùy chọn. Với năm trường đó, người tiếp theo có thể phân biệt một cuộc tranh luận về thông tin đăng nhập với một cuộc tranh luận về định tuyến mà không lặp lại cuộc điều tra.

Trước khi đóng bất cứ điều gì, hãy phát lại lần thử trên cùng hồ sơ và xác nhận mã hiện rơi ở đâu. Thành công kết thúc nó; một thất bại khác nghĩa là giai đoạn ban đầu đã được sửa và bạn đang giữ giai đoạn kế tiếp.

Bài viết liên quan