1. Bối cảnh
- Chúng ta thường sử dụng điện thoại di động và máy tính để lướt Internet và cần truy cập tài nguyên mạng trên Internet công cộng, chẳng hạn như duyệt Taobao và xem video. Vậy làm thế nào để điện thoại di động và máy tính biết nơi để lấy các tài nguyên mạng này và tải xuống cục bộ?
- Ví dụ, khi tôi đến căng tin để lấy đồ ăn, tôi cần biết địa chỉ của căng tin. Điện thoại di động, máy tính và máy chủ lưu trữ tài nguyên mạng có cùng địa chỉ với con người. Các thiết bị này có địa chỉ IP mạng. Khi chúng ta cần truy cập tài nguyên mạng trên Internet công cộng, chẳng hạn như duyệt Taobao hoặc xem video, điện thoại di động và máy tính của chúng ta sẽ gửi yêu cầu đến máy chủ DNS trên Internet công cộng (chẳng hạn như 8.8.8.8, 114.114.114.114, v.v.), yêu cầu nó chuyển đổi tên miền (chẳng hạn như "www.taobao.com") thành địa chỉ IP tương ứng. Máy chủ DNS sẽ trả về địa chỉ IP tương ứng cho điện thoại di động và máy tính của chúng ta.
- Các trang web hiện tại về cơ bản dựa trên địa chỉ IPv4.
- Các địa chỉ mạng mà chúng ta sử dụng hiện nay là từ thế hệ thứ tư: IPv4, được phát hành vào năm 1981. Có 2^32, tương đương với khoảng 4,3 tỷ địa chỉ IP. Vào ngày 25 tháng 11 năm 2019, Trung tâm điều phối mạng lưới châu Âu (RIPE NCC), một trong năm cơ quan quản lý đăng ký Internet khu vực lớn nhất thế giới, đã công bố Tất cả các địa chỉ IPv4 đều là hết.
- Như chúng ta đã biết, nếu chúng ta muốn truy cập tài nguyên trên Internet công cộng, chúng ta phải có địa chỉ IP công cộng. Nhưng nếu địa chỉ IP đã được sử dụng hết, làm sao các thiết bị của chúng ta có thể truy cập được?
- Để giải quyết vấn đề này, khi địa chỉ IPv4 đã được phân bổ và không đủ, những người sáng tạo đã phát minh ra địa chỉ IPv6, tuyên bố rằng một địa chỉ IP có thể được gán cho mọi hạt cát trên trái đất. IPv6 đang trở nên phổ biến. Trong trường hợp không có địa chỉ IPv6, những người bảo thủ đã đề xuất chuyển đổi địa chỉ NAT vào năm 1994.
- NAT là gì? Để đưa ra một phép loại suy, khi có đủ địa chỉ IPv4, toàn bộ mạng của cộng đồng được chỉ định một địa chỉ mạng bên ngoài và mọi người đều chia sẻ một địa chỉ. Khi số lượng thiết bị tăng lên và không có nhiều địa chỉ IP bên ngoài, mô hình lồng nhau được tiếp tục và một lớp dịch địa chỉ mạng NAT khác được thêm vào. Vào thời điểm này, một số cộng đồng có thể chia sẻ một địa chỉ mạng bên ngoài. Mọi người đều chia sẻ một địa chỉ IP bên ngoài để truy cập tài nguyên trên Internet.
- Hiện tại, mặc dù chúng ta có ít địa chỉ IPv4 hơn và vấn đề truy cập tài nguyên mạng bên ngoài đã được giải quyết, nhưng vấn đề phát sinh là chúng ta không thể truy cập các thiết bị mạng nội bộ từ mạng bên ngoài.
- Trong bối cảnh này, sự thâm nhập mạng nội bộ đã ra đời.
2. Các khái niệm cơ bản
Thâm nhập mạng nội bộ là công nghệ ánh xạ các dịch vụ mạng trong mạng nội bộ tới các máy chủ mạng công cộng, cho phép các máy khách mạng công cộng truy cập trực tiếp vào các dịch vụ mạng trong mạng nội bộ. Trong trường hợp bình thường, máy tính và thiết bị mạng trong mạng nội bộ chỉ có thể giao tiếp với nhau trong mạng nội bộ. Máy tính trong mạng ngoại bộ không thể truy cập trực tiếp vào máy tính và thiết bị mạng trong mạng nội bộ. Điều này dẫn đến những khó khăn và tắc nghẽn trong việc trao đổi thông tin giữa mạng nội bộ và mạng ngoại bộ. Công nghệ thâm nhập mạng nội bộ có thể vượt qua trở ngại này, giúp luồng dữ liệu giữa mạng nội bộ và mạng ngoại bộ trở nên mượt mà và thuận tiện hơn.
3. Nguyên tắc thâm nhập mạng nội bộ (sử dụng frp làm ví dụ)
.
4. Một số điểm đau hoặc tình huống sử dụng được giải quyết bằng cách thâm nhập mạng nội bộ
- Văn phòng từ xa: Việc thâm nhập mạng nội bộ cho phép nhân viên công ty kết nối với mạng nội bộ được kiểm soát thông qua mạng công cộng trong môi trường mạng bên ngoài, truy cập thuận tiện vào các tài nguyên nội bộ và thực hiện văn phòng từ xa. (Hiện tại đã được thay thế bằng VPN)
- Máy chủ đám mây: Sử dụng công nghệ thâm nhập mạng nội bộ cho phép truy cập vào máy chủ nội bộ, cơ sở dữ liệu và các tài nguyên khác của công ty thông qua mạng công cộng đồng thời đảm bảo tính bảo mật khi truyền dữ liệu. (Nó giống như đám mây trên máy chủ cục bộ)
- Mạng gia đình: Đôi khi có một số thiết bị trong mạng gia đình cần được truy cập từ xa, chẳng hạn như bộ lưu trữ mạng, thiết bị nhà thông minh, camera, v.v. Việc thâm nhập mạng nội bộ có thể dễ dàng truy cập vào các thiết bị này từ bên ngoài, giúp người dùng thuận tiện thực hiện giám sát từ xa, lưu trữ dữ liệu và các hoạt động khác. (Những loại phổ biến bao gồm NAS và bộ định tuyến mềm)
- Kiểm thử dịch vụ: Khi phát triển hoặc gỡ lỗi, đôi khi cần phải thực hiện kiểm thử dịch vụ cục bộ. Sử dụng công nghệ thâm nhập mạng nội bộ, các dịch vụ cục bộ có thể được truy cập trực tiếp thông qua mạng công cộng, tránh tình huống không thể thực hiện kiểm thử do mạng bị cô lập. (Xây dựng trang web hoặc dịch vụ giao diện cục bộ và chia sẻ với mọi người trên mạng bên ngoài để sử dụng, phát triển WeChat cục bộ)
ps: Điều kiện tiên quyết ở trên là thiết bị có thể truy cập mạng bên ngoài.
5. So sánh các công cụ thâm nhập mạng nội bộ phổ biến
Tôi đã có vinh dự được sử dụng cả bốn công cụ thâm nhập mạng nội bộ này. Trước khi có máy chủ đám mây với IP công khai, tôi đã sử dụng ngrok và peanut shell đầu tiên. Ưu điểm của hai công cụ này là bạn chỉ cần cấu hình máy khách và đặt cổng cục bộ cần ánh xạ tới mạng bên ngoài, sau đó bạn có thể sử dụng. Tuy nhiên, khi miễn phí, có một số hạn chế. Ví dụ, peanut shell của Koso chỉ cung cấp lưu lượng 1G. Vào thời điểm đó, tôi đã sử dụng peanut shell để xây dựng hệ thống ZenTao trên máy chủ mạng nội bộ của công ty. Máy chủ luôn mở, để các đồng nghiệp trên mạng bên ngoài cũng có thể truy cập vào hệ thống lỗi của mạng nội bộ.
.
Sau khi có máy chủ đám mây, tôi đã nghiên cứu frp, không bị giới hạn lưu lượng như peanut shell và ngrok, nhưng bạn cần tự xây dựng máy khách và máy chủ, cấu hình từng cổng tương ứng và có một phần phụ trợ có thể tự cấu hình.
.
Sau đó, tôi đã sử dụng ZeroTier, mà tôi đang sử dụng. Tất cả những gì tôi cần là có thể truy cập vào các thiết bị trong nhà của tôi. Ưu điểm của công cụ này là bạn có thể xác định một mạng LAN ảo, sau đó xác định một địa chỉ IP cho các thiết bị tham gia vào mạng này. Các thiết bị này có thể truy cập lẫn nhau thông qua địa chỉ IP mạng LAN ảo này. Không cần phải thiết lập sự tương ứng giữa mỗi cổng cục bộ và máy chủ như ba công cụ trước. Cổng bổ sung này cực kỳ tiện lợi. Về mặt tốc độ, điều này sẽ tự động cố gắng tạo một lỗ hổng trên mạng và thiết lập kết nối p2p. Miễn là lỗ hổng được tạo thành công, tốc độ đầu cuối sẽ rất nhanh. Nếu p2p không thể kết nối, công nghệ chuyển tiếp cổng tương tự như ba công cụ trên sẽ được sử dụng. Nếu bạn có yêu cầu về tốc độ truy cập mà không cần kết nối đục lỗ hoặc 25 thiết bị miễn phí không đủ, bạn có thể xây dựng một máy chủ mặt trăng để mở rộng.
.
Cuối cùng, bài viết này chỉ nói về việc thâm nhập mạng nội bộ (so sánh nền tảng-khái niệm-nguyên tắc-công cụ) ở đây. Nếu bạn muốn biết thêm về việc chỉ nói về việc thâm nhập mạng nội bộ (so sánh nền tảng-khái niệm-nguyên tắc-công cụ), vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!