Một số người dùng báo cáo nhận được lỗi "an attempt was made to access a socket in a way forbidden by its access permissions" khi cố gắng chạy lệnh ipconfig/renew trong CMD để sửa chữa kết nối mạng. Người dùng khác báo cáo lỗi xảy ra khi cố gắng khởi động máy chủ Apache. Tuy nhiên, hầu hết tất cả người dùng bị ảnh hưởng đều báo cáo rằng vấn đề bắt đầu xảy ra sau khi một bản cập nhật tự động của Windows được cài đặt.
Nguyên nhân gây ra lỗi "an attempt was made to access a socket in a way forbidden by its access permissions"?
Chúng tôi đã điều tra vấn đề cụ thể này bằng cách xem xét các báo cáo của người dùng và các chiến lược sửa chữa họ đã sử dụng để giải quyết vấn đề. Từ những thông tin thu thập được, có một số kịch bản khác nhau sẽ kích hoạt sự xuất hiện của lỗi này:
- Client VPN chặn các kết nối localhost liên quan – Một số người dùng phát hiện rằng nguyên nhân trong trường hợp của họ là client VPN. Vô hiệu hóa client VPN đã giải quyết vấn đề cho hầu hết người dùng bị ảnh hưởng.
- Tường lửa của bên thứ ba chặn kết nối – Nếu bạn có tường lửa bên ngoài, nó có thể chịu trách nhiệm chặn các kết nối SMTP. Hầu hết các trường hợp, McAfee Anti-Virus và Avast được xác nhận là thủ phạm.
- Ứng dụng cố gắng mở một cổng đã được sử dụng – Một trong những lý do phổ biến nhất gây ra lỗi này là khi bạn cố gắng sử dụng một ứng dụng được cấu hình để mở một cổng mà cổng đó đã được mở và đang được sử dụng chủ động bởi một dịch vụ hoặc ứng dụng khác.
- Tính năng bảo mật của Windows 10 – Kể từ Windows 10, Microsoft đã triển khai một tính năng bảo mật mới ngăn chặn người dùng lấy một cổng ngẫu nhiên và giao cho một dịch vụ nào đó. Điều này có thể xảy ra nếu bạn đang sử dụng một script hoặc ứng dụng tự viết.
- Một tiến trình khác đang lắng nghe trên cổng mong muốn – Các xung đột như thế này thường xảy ra khá thường xuyên khi cố gắng khởi động các instance của Apache Web Server hoặc khi cố gắng truy cập máy chủ SQL trên Hostgator từ xa.
Nếu bạn đang gặp khó khăn trong việc giải quyết vấn đề, bài viết này sẽ cung cấp cho bạn danh sách các bước đã được xác minh mà những người dùng khác trong tình huống tương tự đã sử dụng để khắc phục sự cố. Dưới đây là một số phương pháp mà những người dùng gặp cùng thông báo lỗi đã dùng để sửa chữa vấn đề.
Để đạt kết quả tốt nhất, hãy làm theo các sửa tiềm năng dưới đây theo thứ tự cho đến khi bạn gặp một phương pháp hiệu quả cho tình huống cụ thể của bạn.
Phương pháp 1: Vô hiệu hóa Internet Connection Sharing (Chia sẻ kết nối Internet)
Đây là một thủ phạm khá đặc biệt vì Internet Sharing trên Windows sử dụng một vài dải cổng khác nhau không nhất thiết được báo cáo cho Netstat hoặc công cụ tương tự.
Tuy nhiên, một số người dùng báo cáo rằng vấn đề của họ được giải quyết vĩnh viễn sau khi họ vô hiệu hóa Internet Connection Sharing. Có hai cách khác nhau để vô hiệu hóa Internet Connection Sharing trên Windows. Hãy làm theo phương pháp nào thuận tiện hơn cho bạn:
Vô hiệu hóa Internet Connection Sharing qua Control Panel
- Nhấn Windows key + R để mở hộp thoại Run. Sau đó, gõ "ncpa.cpl" và nhấn Enter để mở cửa sổ Network Connections (Kết nối mạng).
- Trong cửa sổ Network Connections, chuột phải vào kết nối mạng đang hoạt động của bạn và chọn Properties (Thuộc tính).
- Trong màn hình Properties của mạng, chuyển sang tab Sharing (Chia sẻ) và bỏ tích hộp Allow other network users to connect through this computer's Internet connection (Cho phép người dùng mạng khác kết nối qua kết nối Internet của máy tính này).
- Khởi động lại máy tính và xem thông báo lỗi đã được giải quyết chưa.
Vô hiệu hóa dịch vụ Internet Connection Sharing
- Nhấn Windows key + R để mở hộp thoại Run. Sau đó, gõ "services.msc" và nhấn Enter để mở màn hình Services (Dịch vụ).
- Trong màn hình Services, sử dụng khung bên phải để tìm dịch vụ Internet Connection Sharing (ICS). Khi tìm thấy, double-click vào nó.
- Trong màn hình Internet Connection Sharing (ICS), chuyển sang tab General và thay đổi Startup type (Loại khởi động) thành Disabled (Đã vô hiệu hóa).
- Khởi động lại máy tính và xem vấn đề đã được giải quyết chưa.
Phương pháp 2: Gỡ cài đặt phần mềm diệt virus của bên thứ ba hoặc thêm kết nối vào whitelist
Nhiều người dùng đã chỉ ra rằng các bộ bảo mật của bên thứ ba cần được kiểm tra để xác nhận chúng không can thiệp vào các kết nối SMTP. McAfee, BitDefender và Avast được xác nhận chặn một số cổng được sử dụng bởi các kết nối localhost. Với một số cổng, đây là hành vi tiêu chuẩn để ngăn chặn các cuộc tấn công thư rác.
Như một số người dùng báo cáo, một tường lửa quá bảo vệ hoặc công cụ lọc bảo mật tương tự có thể chịu trách nhiệm gây ra lỗi "an attempt was made to access a socket in a way forbidden by its access permissions".
Bạn thường có thể giải quyết vấn đề này bằng cách thêm kết nối bị chặn vào whitelist (danh sách trắng) từ cài đặt AV. Hãy nhớ rằng các bước thiết lập quy tắc whitelist sẽ khác nhau tùy thuộc vào client giải pháp bảo mật của bạn.
Nếu bạn gặp khó khăn trong việc xác định kết nối bị chặn, bạn có thể tạm thời gỡ cài đặt phần mềm diệt virus của bên thứ ba và xem liệu vấn đề có được giải quyết hay không.
Lưu ý: Hãy nhớ rằng việc tắt bảo vệ thời gian thực (real-time protection) của AV sẽ không giúp bạn đạt được kết luận vì các quy tắc chặn vẫn sẽ giữ nguyên.
Nếu bạn quyết định gỡ cài đặt AV của bên thứ ba, bạn có thể làm theo hướng dẫn từng bước (tại đây). Nếu phương pháp này không áp dụng được hoặc bạn đã xác định client của bên thứ ba không phải là nguyên nhân, hãy chuyển sang phương pháp tiếp theo.
Cập nhật: Các client chặn IP như PeerBlock có thể tự động chặn một IP tham gia vào thao tác đang thất bại. Một số người dùng báo cáo rằng vấn đề tự động được giải quyết sau khi tạo quy tắc ngoại lệ hoặc gỡ cài đặt phần mềm chặn IP.
Phương pháp 3: Thêm ngoại lệ vào Windows Firewall
Như đã chỉ ra, tường lửa Windows tích hợp cũng có thể chịu trách nhiệm cho lỗi "an attempt was made to access a socket in a way forbidden by its access permissions".
Một số người dùng bị ảnh hưởng báo cáo rằng họ đã giải quyết được vấn đề sau khi cho phép chương trình hiển thị lỗi giao tiếp qua Windows Firewall. Phương pháp này thường được báo cáo là thành công với người dùng gặp lỗi với SQL server, nhưng bạn có thể điều chỉnh các bước dưới đây để phù hợp với chương trình khác.
Dưới đây là hướng dẫn nhanh những gì bạn cần làm:
- Nhấn Windows key + R để mở hộp thoại Run. Tiếp theo, gõ "firewall.cpl" và nhấn Enter để mở Windows Defender Firewall.
- Trong màn hình Windows Defender Firewall, nhấp vào Allow an app or feature through Windows Defender Firewall (Cho phép ứng dụng hoặc tính năng qua Windows Defender Firewall).
- Trong màn hình Allowed apps (Ứng dụng được phép), nhấp vào nút Change settings (Thay đổi cài đặt).
- Tìm trong danh sách ứng dụng và tính năng được phép để xác định ứng dụng đang kích hoạt lỗi. Khi tìm thấy, hãy đảm bảo rằng các hộp kiểm Private (Riêng tư) và Public (Công cộng) liên quan đến ứng dụng đó đều được bật.
- Sau khi thực hiện thay đổi, khởi động lại máy tính và xem lỗi "an attempt was made to access a socket in a way forbidden by its access permissions" có được giải quyết ở lần khởi động tiếp theo hay không.
Lưu ý: Nếu bạn không tìm thấy chương trình trong danh sách Allowed apps and features, hãy nhấp vào nút Allow another app (Cho phép ứng dụng khác) và chọn thủ công bằng cách nhấp vào Browse (Duyệt).
Nếu bạn vẫn thấy cùng lỗi, hãy chuyển sang phương pháp tiếp theo.
Phương pháp 4: Khởi động lại Internet Information Services (IIS)
Một số người dùng báo cáo rằng vấn đề được giải quyết sau khi họ khởi động lại Internet Information Services (IIS) từ cửa sổ Command Prompt nâng cao (elevated).
Nhưng hãy nhớ rằng việc khởi động lại máy chủ IIS sẽ ngắt tất cả các dịch vụ internet bao gồm FTP, SMTP và NNTP và mọi dữ liệu được giữ trong các ứng dụng xử lý kết nối sẽ bị mất.
Dưới đây là hướng dẫn nhanh cách thực hiện:
- Nhấn Windows key + R để mở hộp thoại Run. Sau đó, gõ "cmd" và nhấn Ctrl + Shift + Enter để mở cửa sổ Command Prompt nâng cao.
- Trong Command Prompt nâng cao, gõ lệnh sau và nhấn Enter để khởi động lại Internet Information Services:
iisreset
- Đợi cho đến khi các dịch vụ Internet được dừng và khởi động lại thành công, sau đó lặp lại thủ tục trước đó kích hoạt lỗi để xem vấn đề đã được giải quyết chưa.
Nếu bạn vẫn thấy lỗi "an attempt was made to access a socket in a way forbidden by its access permissions", hãy chuyển sang phương pháp tiếp theo.
Phương pháp 5: Sử dụng điểm khôi phục hệ thống trước đó
Sau khi phát hiện một số chiến lược sửa chữa khác không hiệu quả, một số người dùng cuối cùng đã kết nối được internet mà không bị chặn bởi lỗi "an attempt was made to access a socket in a way forbidden by its access permissions" bằng cách khôi phục trạng thái máy tính về một thời điểm trước đó bằng System Restore.
Nếu bạn chỉ bắt đầu thấy lỗi này gần đây và bạn may mắn có một điểm khôi phục hệ thống có ngày tháng trước khi bạn bắt đầu gặp sự cố, thì các bước sau sẽ giúp bạn giải quyết vấn đề một cách triệt để:
- Nhấn Windows key + R để mở hộp thoại Run. Tiếp theo, gõ "rstrui" và nhấn Enter để mở trình hướng dẫn System Restore.
- Ở màn hình đầu tiên của System Restore, chọn Choose a different restore point (Chọn điểm khôi phục khác) và nhấp Next (Tiếp theo).
- Ở màn hình tiếp theo, bắt đầu bằng cách tích vào hộp Show more restore points (Hiển thị thêm điểm khôi phục). Sau đó, chọn một điểm khôi phục hệ thống có ngày cũ hơn ngày xuất hiện vấn đề và nhấp nút Next một lần nữa.
- Sau khi nhấp Finish (Hoàn tất), Windows sẽ tự động khởi động lại và trạng thái cũ sẽ được khôi phục khi khởi động tiếp theo. Khi máy tính khởi động lại, xem vấn đề đã được giải quyết chưa.
Phương pháp 6: Ngắt kết nối khỏi mạng VPN
Một số người dùng bị ảnh hưởng đã phát hiện rằng trong trường hợp của họ, vấn đề do client VPN gây ra. Nguyên nhân là lỗi "an attempt was made to access a socket in a way forbidden by its access permissions" cũng có thể được gây ra bởi client VPN khiến một số kết nối localhost liên quan bị thất bại.
Để kiểm tra xem lý thuyết này có đúng trong trường hợp của bạn hay không, chỉ cần ngắt kết nối khỏi mạng VPN và xem vấn đề có được giải quyết không. Nếu thông báo lỗi không còn xuất hiện khi VPN bị ngắt kết nối, bạn cần tìm một client VPN khác hoặc ít nhất giữ nó bị vô hiệu hóa khi thực hiện nhiệm vụ cụ thể sẽ kích hoạt lỗi.