Phần 1: Giới thiệu
Phần 2: Xử lý sự cố bảng định tuyến
Phần 3: Sửa các kết nối mạng
Trong bài viết trước chúng ta đã kiểm tra làm thế nào để sửa các kết nối mạng bằng tính năng Repair của kết nối mạng Windows. Tính năng repair này làm việc bằng cách thực hiện một loạt các kiểm tra để thử và khôi phục kết nối mạng bị gây ra bởi lỗi cấu hình mạng trên máy khách (các vấn đề xảy ra với thiết lập DHCP hoặc resolver cache) hoặc máy chủ (tên đăng ký với máy chủ WINS hoặc DNS). Mặc dù vậy, tính năng Repair có một số hạn chế:
• Các kết quả của quá trình Repair không thể lưu nhằm cho mục đích xem lại hoặc báo cáo.
• Trên nhiều máy tính, quá trình Repair phải được thực hiện tách biệt với mỗi một kết nối mạng.
• Số lượng các kiểm tra được thực hiện bởi quá trình Repair bị hạn chế.
Những giới hạn đó có thể được khắc phục bằng sử dụng Netdiag.exe, một công cụ xử lý sự cố kết nối mạng trong thành phần các công cụ hỗ trợ cho Windows. Netdiag thực hiện một loạt các kiểm tra mở rộng hơn và nhiều kiểm tra hơn quá trình Repair thực hiện. Bạn cũng có thể gửi các kết quả đầu ra Netdiag.exe đến file văn bản để có thể ghi lại các kiểm tra đã thực hiện và kết quả của nó.
Cài đặt Netdiag
Bạn có thể cài đặt Netdiag thông qua công cụ hỗ trợ của Windows (Windows Support Tools), các công cụ này được cài đặt bằng cách kích đúp vào \Support\Tools\SUPTOOLS.MSI. Mặc định Support Tools cài đặt vào %SystermDrive%\Program Files\Support Tools nhưng nó cũng dễ dàng được cài đặt vào %SystemDrive%\Tools vì các công cụ cần chạy từ dòng lệnh và điều này làm cho đơn giản hơn bằng cách nhập vào đường dẫn công cụ này để chạy chúng. Nếu bạn chỉ muốn cài đặt Netdiag mà không muốn các công cụ hỗ trợ khác thì có thể kích đúp vào file \Support\Tools\Support.cab sau đó kích đúp vào Netdiag.exe để cài đặt công cụ.
Tìm hiểu về Netdiag
Netdiag thực hiện một loạt các kiểm tra trên adapter hệ thống nội bộ. Khi các kiểm tra này được thực hiện, Netdiag thực hiện một loạt kiểm tra kết nối toàn cục để nhận dạng và giải quyết các vấn đề kết nối có thể bị gây ra bởi vấn đề bên ngoài hệ thống nội bộ.
Đầu tiên Netdiag thực hiện kiểm tra dưới đây trên các adapter mạng của hệ thống cục bộ.
• Ndis
• Ipconfig
• Autonet
• DefGw
• NbtNm
• WINS
Khi các kiểm tra này được thực hiện xong Netdiag sẽ thực hiện kiểm tra kết nối toàn cục dưới đây:
• Member
• NetBTTransports
• Autonet
• IpLoopBk
• DefGw
• NbtNm
• Winsock
• DNS
• Browser
• DsGetDc
• DcKust
• Trust
• Kerberos
• Ldap
• Bindings
• WAN
• Modem
• IPSec
Chi tiết các vấn đề liên quan đến các kiểm tra trên được cung cấp trong bảng dưới đây:
Tên kiểm tra | Mô tả |
Autonet | Kiểm tra nếu APIPA đang được sử dụng bởi các adpapter mạng. |
Bindings | Liệt kê các nối kết mạng gồm tên giao diện, tên module chữ thường và chữ hoa chỉ thị nối kết nào hiện đã được kích hoạt và báo cáo về nối kết. |
Browser | Liệt kê tất cả các giao thức mạng giới hạn trong dịch vụ Browser và Redirector. |
DcList | Thu danh sách các bộ điều khiển tên miền. |
DefGw | Thẩm định kết nối với mỗi cổng mặc định đã cấu hình |
DNS | Thẩm định sự phù hợp của máy chủ DNS đã cấu hình và thẩm định các đăng kí DNS của máy khách. |
DsGetDc | Thu được tên của bộ điều khiển miền từ dịch vụ thư mục sau đó thu được tên của PDC Emulator. Thẩm định xem tên miền GUID được lưu trong Local Security Authority (LSA) giống như tên miền GUID được lưu trong DC. |
IpConfig | Liệt kê các thiết lập TCP/IP đối với mỗi adapter mạng. |
IpLoopBk | Ping địa chỉ quay vòng 127.0.0.1 cho mỗi adapter. |
IPSec | Kiểm tra xem Ipsec có được kích hoạt hay không và sau đó liệt kê tất cả các chính sách Ipsec tích cực cho máy tính. |
IPX | Liệt kê thống kê cho IPX (nếu được cài đặt) |
Kerberos | Thẩm định xem gói xác nhận Kerberos có được cập nhật hay không. |
Ldap | Liên lạc với tất cả các bộ điều khiển miền và xác định giao thức thẩm định LSAP nào hiện đang được sử dụng. |
Member | Kiểm tra để xác nhận các chi tiết của miền chính, gồm computer role, domain name và domain GUID. Kiểm tra xem dịch vụ NetLogon được bắt đầu hay chưa, bổ sung thêm tên miền chính vào danh sách tên miền và truy vấn bộ nhận dạng bảo mật tên miền chính (SID). |
Modem | Cung cấp thông tin cấu hình cho mỗi modem trên hệ thống. |
NbtNm | Thực hiện các hành động giống như lệnh nbtstat –n như thẩm định tên dịch vụ máy trạm Workstation Service <00> giống như tên máy tính và thẩm định rằng tên Messenger =Service <03> và tên Server Service <20> được thể hiện trên tất cả các giao diện và không có tên nào trong số đó bị xung đột. |
Ndis | Liệt kê các chi tiết liên quan đến cấu hình của mỗi adapter mạng gồm có tên, cấu hình, phương tiện, GUID và các thống kê. |
NetBTTransports | Liệt kê tất cả các giao thức truyền tải giới hạn với NetBIOS trên TCP/IP (NetBT). |
Netstat | Liệt kê các kết nối TCP/IP hiện hành và các thống kê giao thức. |
Netware | Truy vấn máy chủ Netware gần nhất (nếu được sử dụng) cho thông tin đăng nhập hiện hành. |
Route | Liệt kê tất cả các route tĩnh trong bảng định tuyến và chỉ thị xem chúng có liên tục hay không. |
Trust | Kiểm tra các mối quan hệ tin cậy của miền và thẩm định tên miền chính SID là đúng. |
WAN | Tóm tắt các thiết lập và trạng thái cho mỗi cổng COM hiện đang sử dụng. |
WINS | Thẩm định khả năng phù hợp của máy chủ WINS đã được cấu hình và thẩm định các đăng kí khách WINS. |
Winsock | Hiển thị các giao thức và cổng phù hợp với dịch vụ WinSock |
Ngoài việc thực hiện các kiểm tra trên, Netdiag.exe cũng báo cáo thông tin liên quan đến hệ thống như liệt kê dưới đây:
• Tên NetBIOS của hệ thống
• Tên DNS của hệ thống
• Thông tin chung hệ thống
• Các hotfix đã cài đặt
Chạy Netdiag
Cách đơn giản nhất để chạy Netdiag là không cần đến bất kỳ tham số nào, cách này sẽ kiểm tra adapter mạng cục bộ trên hệ thống và sau đó thực hiện một loạt các kiểm tra kết nối toàn cục. Đầu ra trong quá trình chạy lệnh này trên máy chủ thành viên Windows Server 2003 được cho dưới đây (sanh sách hotfix đã được cắt ngắn):
C:\tools\netdiag
...................................
Computer Name: SRV
DNS Host Name: SRV.contoso.com
System info : Microsoft Windows Server 2003 R2 (Build 3790)
Processor : x86 Family 15 Model 4 Stepping 1, GenuineIntel
List of installed hotfixes :
KB890046
KB893756
KB896358
…
KB925486
Q147222
Netcard queries test . . . . . . . : Passed
Per interface results:
Adapter : Local Area Connection
Netcard queries test . . . : Passed
Host Name. . . . . . . . . : SRV
IP Address . . . . . . . . : 172.16.11.31
Subnet Mask. . . . . . . . : 255.255.255.0
Default Gateway. . . . . . : 172.16.11.1
Dns Servers. . . . . . . . : 172.16.11.32
AutoConfiguration results. . . . . . : Passed
Default gateway test . . . : Passed
NetBT name test. . . . . . : Passed
[WARNING] At least one of the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names is missing.
WINS service test. . . . . : Skipped
There are no WINS servers configured for this interface.
Global results:
Domain membership test . . . . . . : Passed
NetBT transports test. . . . . . . : Passed
List of NetBt transports currently configured:
NetBT_Tcpip_{64B5D4FF-0014-4CC2-BB8D-9FB0C67CB75E}
1 NetBt transport currently configured.
Autonet address test . . . . . . . : Passed
IP loopback ping test. . . . . . . : Passed
Default gateway test . . . . . . . : Passed
NetBT name test. . . . . . . . . . : Passed
[WARNING] You don't have a single interface with the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names defined.
Winsock test . . . . . . . . . . . : Passed
DNS test . . . . . . . . . . . . . : Passed
Redir and Browser test . . . . . . : Passed
List of NetBt transports currently bound to the Redir
NetBT_Tcpip_{64B5D4FF-0014-4CC2-BB8D-9FB0C67CB75E}
The redir is bound to 1 NetBt transport.
List of NetBt transports currently bound to the browser
NetBT_Tcpip_{64B5D4FF-0014-4CC2-BB8D-9FB0C67CB75E}
The browser is bound to 1 NetBt transport.
DC discovery test. . . . . . . . . : Passed
DC list test . . . . . . . . . . . : Passed
Trust relationship test. . . . . . : Passed
Secure channel for domain 'CONTOSO' is to '\\DC-1A.contoso.com'.
Kerberos test. . . . . . . . . . . : Passed
LDAP test. . . . . . . . . . . . . : Passed
Bindings test. . . . . . . . . . . : Passed
WAN configuration test . . . . . . : Skipped
No active remote access connections.
Modem diagnostics test . . . . . . : Passed
IP Security test . . . . . . . . . : Skipped
Note: run "netsh ipsec dynamic show /?" for more detailed informationThe command completed successfully
Lưu ý rằng chạy kiểm tra NbtNm sẽ cho bạn các kết quả dưới đây:
NetBT name test. . . . . . : Passed
[WARNING] At least one of the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names is missing.
Cảnh báo này không thực sự là vấn đề vì mặc định dịch vụ Messenger không chạy trên Windows Server 2003, vì vậy không có tên <20> nào được đăng kí cho nó.
Có một vài cách bạn có thể chạy Netdiag như:
• Netdiag /q thực hiện các kiểm tra trong chế độ tĩnh lặng và chỉ báo cáo các lỗi.
• Netdiag /v thực hiện kiểm tra trong chế độ cụ thể và cung cấp thêm các chi tiết khác.
• Netdiag /test:test_name(s) thực hiện kiểm tra chuẩn và sau đó chúng thực hiện các kiểm tra được chỉ định.
• Netdiag /skip:test_name(s) thực hiên kiểm tra chuẩn theo các kiểm tra toàn cục ngoại trừ những kiểm tra được chỉ định (Mặc dù vậy một số kiểm tra nào đó không thể được bỏ qua như Member, Ndis và NetBTTransports)
• Netdiag /fix thực hiện tất cả các kiểm tra toàn cục và chuẩn, cố gắng sửa bất kỳ vấn đề gì mà nó tìm thấy.
Ví dụ, chạy kiểm tra Netdiag /q trên hệ thống trên cho ra các kết quả dưới đây:
C:\tools\netdiag /q
...................................Computer Name: SRV
DNS Host Name: SRV.contoso.com
System info : Microsoft Windows Server 2003 R2 (Build 3790)
Processor : x86 Family 15 Model 4 Stepping 1, GenuineIntel
List of installed hotfixes :
KB890046
KB893756
KB896358
…
KB925486
Q147222Per interface results:
Adapter : Local Area Connection
Host Name. . . . . . . . . : SRV
IP Address . . . . . . . . : 172.16.11.31
Subnet Mask. . . . . . . . : 255.255.255.0
Default Gateway. . . . . . : 172.16.11.1
Dns Servers. . . . . . . . : 172.16.11.32WINS service test. . . . . : Skipped
Global results:
[WARNING] You don't have a single interface with the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names defined.IP Security test . . . . . . . . . : Skipped
The command completed successfully
Các ví dụ khác về Netdiag
Cách tốt nhất để học cách thông dịch đầu ra Netdiag là cố gắng chạy nó dưới các kịch bản kiểm tra khác nhau. Dưới đây là một vài ví dụ trong các kịch bản khác nhau và cho ra các kết quả đầu ra từ công cụ này. Các kịch bản này được thực hiện bằng cách chạy Netdiag trên máy chủ thành viên trong một miền Windows Server 2003, kết quả đầu ra được cắt ngắn chỉ làm nổi bật các thông báo lỗi được báo cáo bởi công cụ.
1. Các kết quả đầu ra khi chạy netdiag /q với bộ điều khiển miền offline:
Global results:
[WARNING] You don't have a single interface with the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names defined.Redir and Browser test . . . . . . : Failed
[FATAL] Cannot send mailslot message to '\\CONTOSO*\MAILSLOT\NET\NETLOGON' via redir. [ERROR_BAD_NETPATH]DC discovery test. . . . . . . . . : Failed
[FATAL] Cannot find DC in domain 'CONTOSO'. [ERROR_NO_SUCH_DOMAIN]DC list test . . . . . . . . . . . : Failed
'CONTOSO': Cannot find DC to get DC list from [test skipped].Trust relationship test. . . . . . : Failed
[FATAL] Secure channel to domain 'CONTOSO' is broken. [RPC_S_SERVER_UNAVAILABLE]Kerberos test. . . . . . . . . . . : Skipped
'CONTOSO': Cannot find DC to get DC list from [test skipped].LDAP test. . . . . . . . . . . . . : Failed
Cannot find DC to run LDAP tests on. The error occurred was: The specified domain either does not exist or could not be contacted.[WARNING] Cannot find DC in domain 'CONTOSO'. [ERROR_NO_SUCH_DOMAIN]
2. Kết quả đầu ra khi chạy netdiag /q với cổng mặc định sai được cấu hình trên hệ thống:
Default gateway test . . . . . . . : Failed
[FATAL] NO GATEWAYS ARE REACHABLE.
You have no connectivity to other network segments.
If you configured the IP protocol manually then
you need to add at least one valid gateway.
[WARNING] You don't have a single interface with the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names defined.DC list test . . . . . . . . . . . : Failed
Failed to enumerate DCs by using the browser. [ERROR_REQ_NOT_ACCEP]
3. Kết quả đầu ra khi chạy netdiag /q với dịch vụ Computer Browser không chạy trên hệ thống:
Global results:
[WARNING] You don't have a single interface with the <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS' names defined.DC list test . . . . . . . . . . . : Failed
Failed to enumerate DCs by using the browser. [NERR_ServiceNotInstalled]
4. Kết quả đầu ra khi chạy netdiag /q với tài khoản máy tính cho hệ thống bị vô hiệu hóa trong Active Directory khi khởi động
Global results:
[WARNING] You don't have a single interface with the <00> 'WorkStation Servi
ce', <03> 'Messenger Service', <20> 'WINS' names defined.Trust relationship test. . . . . . : Failed
Cannot test secure channel for domain 'CONTOSO' to DC 'DC-1A'. [ERROR_NO_LOG
ON_SERVERS]Kerberos test. . . . . . . . . . . : Failed
[FATAL] Cannot get ticket cache from Kerberos.
The error occurred was: (null)
Kết luận
Netdiag.exe là một công cụ hữu dụng cho việc xử lý sự cố các vấn đề kết nối mạng trên Windows. Chúng tôi khuyên độc giả của bài viết này hãy thử và tìm thêm các kịch bản tương tự như một số ví dụ trên để có thể tăng hiểu biết về các tính năng của công cụ này và cách sử dụng nó như thế nào.
(Còn nữa)