Xử lý sự cố TCP/IP: Phương pháp cấu trúc - Phần 3: Sửa các kết
nối mạng
Việc xử lý sự cố thành công phụ thuộc vào 3 vấn đề chính: tư duy logic, hiểu biết
về kỹ thuật và kinh nghiệm làm việc với các công cụ. Loạt bài viết về xử lý sự cố
TCP/IP này chủ yếu dựa vào các vấn đề cơ bản này. Ví dụ: bài viết đầu tiên chúng
tôi đã phác thảo một phương pháp cấu trúc để thể hiện cách khắc phục một cách có
logic các vấn đề xảy ra đối với mạng TCP/IP trên Windows – tư duy logic. Bài thứ
hai chúng tôi kiểm tra các bảng định tuyến làm việc trên các máy tính Windows
như thế nào – sự hiểu biết về kỹ thuật. Trong bài viết này chúng tôi sẽ giới thiệu
sâu hơn nữa để bạn có thể hiểu kỹ được về cách mà tính năng Repair làm việc khi
sửa chữa các vấn đề chung đối với kết nối mạng – kinh nghiệm sử dụng các công
cụ. Những bài viết sau trong thời gian tới sẽ tiếp
tục giới thiệu về các vấn đề cơ bản trên (tư duy
logic, sự hiểu biết về kỹ thuật và kinh nghiệm sử
dụng công cụ) để bạn có thể cải thiện được kỹ
năng như một người chuyên xử lý các sự cố thực
thụ.
Tính năng Repair là một công cụ mạnh nhưng
hiếm khi được sử dụng vì nó khó hiểu đối với
nhiều người. Việc tiếp cận với tính năng này khá dễ dàng – chỉ cần kích chuột phải
vào kết nối mạng trong thư mục Networking Connections của bạn (hoặc trên biểu
tượng kết nối trong vùng thông báo hệ thống của bạn) và chọn Repair từ menu
chuột phải. Khi đó, một hộp thoại sẽ hiện và một loạt thông báo xuất hiện hiển thị
tiến trình sửa chữa cần phải thực hiện. Những gì xảy ra là một loạt các lệnh đang
được thực hiện và mỗi một thông báo tiến trình hiển thị sẽ chỉ thị một trong những
hành động được thực hiện. Hãy kiểm tra mỗi bước xảy ra khi bạn sử dụng Repair
để hiểu những gì chúng thực hiện và tại sao chúng được thực hiện.
Bước 1: Làm mới lại DHCP
Bước này chủ xuất hiện nếu kết nối mạng được cấu hình để nhận được địa chỉ của
nó một cách tự động bằng DHCP. Nếu bạn đã cấu hình kết nối này một cách thủ
công với địa chỉ IP tĩnh và các thiết lập TCP/IP khác thì bước này được bỏ qua.
Lệnh thực hiện hành động này:
ipconfig /renew
Lệnh này cố gắng liên hệ với máy chủ DHCP từ địa chỉ của máy tính được giới
thiệu trước. Nếu máy chủ DHCP có thể liên lạc được thì máy tính sẽ kiểm tra cấu
hình TCP/IP hiện hành của nó với máy chủ để xác nhận rằng cấu hình này là hợp
lệ. Khi lệnh này được thực thi bằng tính năng Repair thì nó thường chạy khác so
với khi bạn chạy nó từ dòng lệnh. Thay vì gửi một thông báo DHCP Renew không
quảng bá đến máy chủ DHCP từ máy tính đã thu được cấu hình DHCP của nó,
dòng lệnh gửi một thông báo DHCP Renew quảng bá đến tất cả máy chủ DHCP
trên mạng. Lý do thực hiện điều này là nếu cấu hình TCP/IP hiện hành trên máy
tính là không hợp lệ thì máy tính có thể cố gắng thu được các thiết lập TCP/IP mới
từ bất kỳ máy chủ DHCP nào bằng cách yêu cầu một địa chỉ mới. Hiệu quả của
việc thực hiện bước này trong tiến trình Repair nhiều gấp hai lần như vậy: giải
quyết các vấn đề cấu hình DHCP trên client và giải quyết các vấn đề không thể liên
lạc với máy chủ DHCP cụ thể trên mạng.
Mẹo nhỏ: Bạn có thể ngăn chặn các vấn đề gây ra lỗi từ máy chủ DHCP không có
sẵn bằng cách bổ sung thêm máy chủ DHCP dư thừa trên mạng của bạn.
Bước 2: Xóa ARP Cache
Lệnh thực hiện hành động này:
arp –d *
Lệnh này làm sạch nội dung của Address Resolution Protocol (ARP) cache trên
máy tính cục bộ. ARP là một giao thức được sử dụng cho các địa chỉ IP vào MAC
(thường được mã hóa trong các adapter LAN). ARP cache gồm địa chỉ MAC của
các nút mạng được xử lý lân cận đó. Các địa chỉ MAC được lưu trữ trên máy tính
để truyền thông với các nút IP có thể xảy ra mà không cần giải quyết chúng lặp đi
lặp lại nhiều lần. Nếu một trong những đầu vào trong ARP cache không đúng thì
truyền thông mạng có thể thất bại đối với các nút IP trên mạng. Nếu đầu vào cache
không đúng xảy ra với một nút trên mạng con nội bộ thì truyền thông với nút sẽ bị
thất bại. Nếu đầu vào cache không đúng đối với cổng mặc định thì truyền thông
với các nút trên các mạng con điều khiển xa sẽ thất bại. Kiểu truyền thông mạng
thất bại đã gặp phải như vậy (có thể là các nút trên mạng con nội bộ hoặc các mạng
con điều khiển xa) có thể chỉ thị cho bạn thấy được đầu vào ARP cache nào bị lỗi.
Bước 3: Xóa NetBIOS Cache
Lệnh thực hiện hành động này:
nbtstat –R
Lệnh này sẽ xóa nội dung của NetBIOS cache trên máy tính cục bộ. Chạy lệnh này
cũng nạp lại các đầu vào trong file LMHOSTS vào cache. Trong hầu hết các mạng
Windows, Active Directory được triển khai và DNS được sử dụng cho giải pháp
tên, giải pháp tên NetBIOS kế thừa vẫn được sử dụng cho các chức năng cụ thể. Vì
các tên NetBIOS của host điều khiển xa được giải quyết trong các địa chỉ IP kết
hợp với của chúng, bằng cách truy vấn máy chủ WINS hoặc bằng sử dụng truyền
thông quảng bá NetBIOS, việc bản đồ hóa “hostname-to-IP-address” này được bổ
sung thên vào NetBIOS cache trên máy tính nội bộ để truyền thông với các host từ
xa có thể xảy ra mà không cần xử lý lặp đi lặp lại chúng. Nếu một trong những đầu
vào trong NetBIOS cache không đúng thì truyền thông mạng có thể thất bại đối với
các IP host trên mạng. Nếu đầu vào cache không đúng đối với một host trong mạng
con nội bộ thì truyền thông với host đó sẽ thất bại. Nếu đầu vào cache không đúng
đối với cổng mặc định thì truyền thông với host trên các mạng con từ xa sẽ thất
bại. Kiểu truyền thông mạng lỗi như vậy (các host trên mạng con hoặc trên các
mạng con từ xa) sẽ cho chúng ta thấy được đầu vào của NetBIOS cache nào lỗi
(đây quả thực là một vấn đề quan trọng).
Các đầu vào NetBIOS cache lỗi đôi khi có thể bị gây ra do đầu vào cũ trong cơ sở
dữ liệu WINS trên các máy chủ WINS. Có điều này là bởi vì WINS cắt giải pháp
tên quảng bá của NetBIOS khi WINS được bổ sung, vì vậy các đầu vào hư hoặc cũ
có thể phục hồi trong NetBIOS cache với đầu vào lỗi thậm chí sau khi cache đã bị
xóa. Giải pháp trong trường hợp này là để ghi lại các bản ghi lỗi trong cơ sở dữ
liệu WINS, tiếp tục xóa NetBIOS cache và sau đó kiểm tra cache bằng lệnh
“nbtstat –c” để bảo đảm rằng các đầu vào không đúng này không được lưu trữ lại.
Bước 4: Xóa DNS Resolver Cache (lưu trữ phân tích DNS)
Lệnh thực hiện hành động này:
ipconfig /flushdns
Lệnh này sẽ xóa nội dung của DHS resolver cache trên máy tính. Lệnh này cũng
nạp lại các đầu vào trong file HOSTS vào cache. Vì các tên DNS đầy đủ của host
từ xa được giải quyết vào địa chỉ IP liên quan của họ bằng truy vấn máy chủ tên
(DNS server), bản đồ hóa “FQDN-to-IP-address” được bổ sung vào DNS resolver
cache trong máy tính nội bộ để truyền thông với các host từ xa có thể xảy ra mà
không cần giải quyết chúng một cách lặp đi lặp lại. Nếu một trong những đầu vào
trong DNS resolver cache không đúng thì truyền thông mạng có thể thất bại và
truyền thông mạng có thể lỗi đối với một số IP host trên mạng. Để quan sát các nội
dung hiện hành của DHS resolver cache, nhập ipconfig /displaydns tại cửa sổ lệnh.
Nếu địa chỉ IP của host từ xa mà bạn đang thử xử lý mới được thay đổi gần đây thì
bạn không thể kết nối với host đó bằng FQDN của nó cho tới khi xóa DNS resolver
cache. Rõ ràng, các đầu vào cache sẽ tự tạm ngưng bằng các TTL đã chỉ định của
chúng thu được từ máy chủ tên trong suốt quá trình tên, nhưng nếu tình cờ bạn
không kết nối được đến một số host từ xa mà đã thử sửa kết nối đó thì bạn cũng có
thể xóa DNS resolver cache giống như vậy.
Bước 5: Đăng kí lại với WINS
Lệnh thực hiện hành động này:
nbtstat –RR
Lệnh này sẽ thực hiện đăng kí lại máy tính cục bộ trong cơ sở dữ liệu WINS trên
các máy chủ WINS. Điều đó có nghĩa là tất cả các tên NetBIOS dành cho máy tính
cục bộ được giải phóng sau đó tạo mới trong cơ sở dữ liệu. Điều này chỉ hữu dụng
nếu mạng của bạn có các máy chủ WINS, tuy nhiên hầu hết các môi trường hoạt
động kinh doanh có triển khai Active Directory và Exchange Server nhìn chung
vẫn sử dụng WINS.
Khi máy tính Windows được tắt một cách đúng cách, máy tính này sẽ giải phóng
các bản ghi của nó từ cơ sở dữ liệu WINS. Nếu máy tính này không được tắt đúng
cách thì các bản ghi WINS cho máy tính sẽ không được gỡ bỏ ra khỏi cơ sở dữ
liệu. Các bản ghi cũ trong cơ sở dữ liệu WINS có thể gây ra các vấn đề truyền
thông mạng khác, đặc biệt trong các máy tính xách tay như laptop có thể được gỡ
ra từ một mạng này và gắn vào một mạng khác. Bằng việc sử dụng tính năng
Repair bạn có thể giải quyết được các vấn đề bằng việc bắt buộc phải đăng kí lại
với WINS.
Bước 6: Đăng kí lại với DNS
Lệnh thực hiện hành động này:
ipconfig /registerdns
Lệnh này thực hiện đăng kí lại máy tính cục bộ trong cơ sở dữ liệu DNS trên máy
chủ. Điều này có nghĩa là tất cả các tên DNS đối với máy tính cục bộ sẽ được giả
phóng và sau đó tạo mới trong cơ sở dữ liệu DNS (thừa nhận rằng bạn có mạng
Active Directory sử dụng Dynamic DNS hoặc DDNS cho việc đăng kí các tên
DNS trong cơ sở dữ liệu).
Kết luận
Tính năng Repair cho kết nối mạng là một công cụ hữu dụng để xử lý sự cố các
vấn đề xảy ra đối với kết nối mạng. Tuy nhiên hầu như các quản trị viên không biết
nhiều về cách làm việc của tính năng này, bài viết này chúng tôi đã cố gắng giới
thiệu một cách đơn giản để bạn có thể sử dụng được công cụ này. Hiểu được công
cụ này làm việc như thế nào sẽ giúp bạn giảm được những cố gắng trong việc việc
xử lý sự cố bằng cách loại trừ các nguyên nhân có thể như lỗi hoặc mất các thiết
lập cấu hình DHCP, đầu vào không hợp lệ trong ARP, NetBIOS hoặc DNS
resolver cache, hoặc không hợp lệ các đầu vào cũ trong WINS hoặc DNS database.
Nếu bạn gặp phải vấn đề gì với kết nối mạng và đã kiểm tra thấy kết nối mạng của
bạn đang nằm trong môi trường kết nối cũ thì tính năng Repair sẽ là một trong
những tính năng đầu tiên bạn nên thử thực hiện để giải quyết vấn đề này.