Mua hàng tại Link Shopee hoặc Hotline 0345-148-136.

Public Server không cần NAT port trên Modem bằng Cloudflare Tunnel

1. Private IP và Public IP

1.1. Private IP

Địa chỉ IP riêng là IP được gán cho các thiết bị trên mạng riêng. Các loại IP này, còn được gọi là địa chỉ IP cục bộ hoặc địa chỉ IP nội bộ, được sử dụng trên mạng cục bộ (LAN) như mạng gia đình của bạn. Chúng thường bắt đầu bằng 10, 172 hoặc 192, tương ứng thuộc các lớp A, B và C.

1.2. Public IP

Địa chỉ IP công cộng là địa chỉ IP có thể được truy cập trực tiếp qua internet và được nhà cung cấp dịch vụ internet (ISP) gán cho bộ định tuyến mạng của bạn. Thiết bị cá nhân của bạn cũng có một IP riêng vẫn bị ẩn khi bạn kết nối Internet thông qua IP công cộng của bộ định tuyến.

1.2.1. Cách tìm Public IP

Truy cập whatismyip.com hoặc tìm kiếm trên Google “What is my IP?”

2. NAT port là gì

Biên dịch địa chỉ mạng (tiếng Anh: Network address translation – NAT) trong mạng máy tính là quá trình thay đổi thông tin địa chỉ IP trong gói tin đang được truyền qua một thiết bị định tuyến.

2.1. Carrier-grade NAT (CGNAT)

Carrier-grade NAT (CGN hay CGNAT), còn gọi là NAT quy mô lớn (tiếng Anh: large-scale NAT hay LSN), là một loại biên dịch địa chỉ mạng (NAT) được sử dụng trong thiết kế mạng IPv4. Với CGNAT, các mạng gia đình được cấu hình với các địa chỉ mạng riêng và được dịch sang địa chỉ IPv4 công cộng bằng các thiết bị biên dịch địa chỉ mạng trung gian được nhúng trong mạng của nhà mạng, cho phép chia sẻ một số lượng nhỏ địa chỉ IPv4 công cộng cho nhiều hộ gia đình.

Carrier-grade NAT thường được dùng để giảm thiểu sự cạn kiệt địa chỉ IPv4.

CGNAT được sử dụng phổ biến bởi các Nhà cung cấp dịch vụ Internet như VNPT, Viettel, FPT..

2.1.1. Cách kiểm tra CGNAT

Truy cập router và kiểm tra WAN IP của bạn. Nếu địa chỉ WAN IP của bạn có dạng 100.XXX.XXX.XXX thì IP của bạn đang CGNAT bởi nhà mạng.

Địa chỉ WAN IP này cũng khác với Public IP bạn kiểm tra được khi truy cập trang whatismyip.com.

IETF đã xuất bản RFC 6598, nêu chi tiết về không gian địa chỉ dùng chung để sử dụng trong quá trình triển khai CGN của ISP có thể xử lý cùng một tiền tố mạng xảy ra trên cả giao diện gửi vào và gửi đi. ARIN đã trả lại không gian địa chỉ cho Cơ quan cấp phát số hiệu Internet (IANA) cho việc phân bổ này. Khối địa chỉ được phân bổ là 100.64.0.0/10, tức là địa chỉ IP từ 100.64.0.0 đến 100.127.255.255.

3. Định tuyến gói tin

Phần này sẽ liệt kê các cách định tuyến gói tin từ internet về máy chủ dịch vụ trong local network, cũng giải thích cách thức hoạt động.

3.1. Public IP IPv4

Trường hợp WAN IP không có dạng 100.XXX.XXX.XXX và trùng với Public IP ta có thể NAT từ router như thông thường. Để NAT từ router bạn tham khảo hướng dẫn của nhà cung cấp thiết bị router.

3.2. Public IP IPv6

Các nhà mạng hiện nay thường cung cấp địa chỉ IPv6, bạn có thể sử dụng địa chỉ IPv6 này để truy cập trực tiếp từ internet.

Cần mở tường lửa IPv6 để có thể truy cập từ bên ngoài vào IPv6 của từng thiết bị. Chi tiết cài đặt tường lửa có thể xem ở hướng dẫn cụ thể từ nhà cung cấp.

Server IPv6 của bạn có thể sẽ không truy cập được từ các hệ thống chưa hỗ trợ IPv6 (trong trường hợp của tôi là điện thoại xài internet sóng Vietnamobile, vì Vietnamobile chưa hỗ trợ IPv6- thời điểm 23/12/30).

3.3. Tunnel

Trong trường hợp IP CGNAT hoặc không có quyền quản trị router, bạn có thể sử dụng Public IP của nhà cung cấp khác và sử dụng tunnel tới nhà cung cấp đó. Nó sẽ sử dụng một đường hầm kết nối giữa máy tính của bạn và Public IP của nhà cung cấp đó.

Truy cập từ internet sẽ qua Public IP của nhà cung cấp, vào đường hầm sau đó tới máy của bạn. Nó có thể làm gia tăng độ trễ giữa máy khách và máy chủ, nó cũng có các hạn chế bởi nhà cung cấp tunnel.

4. Public Server không cần NAT port trên Modem bằng tunnel

Sau khi khi tìm hiểu quá trình truyền gói tin từ máy khách tới máy chủ thông qua internet, chúng ta có thể hình dung mô hình tunnel như sau:

Có rất nhiều nhà cung cấp tunnel:

  • Cloudflare Tunnel – Protect your web servers from direct attack
  • ngrok – ngrok combines your reverse proxy, firewall, API gateway, and global load balancing to deliver apps and APIs.
  • zrok – An open source sharing solution built on OpenZiti, the zero trust networking platform. Available as SaaS or self-hosted.

Bạn cũng có thể tự xây dựng tunnel cho riêng mình nếu bạn có một Public IP:

  • frp – A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
  • rathole – A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.

4.1. Cloudflare Tunnel (cloudflared)

Có một cách đơn giản và an toàn hơn để bảo vệ ứng dụng và máy chủ web của bạn khỏi các cuộc tấn công trực tiếp: Đường hầm Cloudflare.

Tham khảo thông tin về Cloudflare Tunnel tại đây.

Video tham khảo

Để tạo và quản lý đường hầm, bạn cần cài đặt và xác thực cloudflared trên máy chủ gốc của mình. cloudflared là thứ kết nối máy chủ của bạn với mạng toàn cầu của Cloudflare.

Thiết lập đường hầm thông qua bảng điều khiển

Đăng nhập vào Zero Trust và đi tới Networks > Tunnels. Đối với một số người dùng, việc tạo đường hầm nằm trong Access > Tunnels.

Chọn Create a tunnel.

Nhập tên cho đường hầm của bạn. Chọn Save tunnel.

Tiếp theo, bạn sẽ cần cài đặt cloudflared và chạy nó. Để làm như vậy, hãy kiểm tra xem môi trường trong Choose an environment có phản ánh hệ điều hành trên máy của bạn không, sau đó sao chép lệnh trong hộp bên dưới và dán vào cửa sổ terminal máy nguồn. Chạy lệnh.

Sau khi lệnh chạy xong, trình kết nối của bạn sẽ xuất hiện trong Zero Trust.

Chọn Next.

Trong tab Public Hostnames, chọn một ứng dụng từ menu thả xuống và chỉ định bất kỳ thông tin đường dẫn hoặc tên miền phụ nào.

Subdomain và Path là tùy ý, bạn có thể sử dụng theo nhu cầu cụ thể của mình. Bài viết này sử dụng subdomain, còn video thì không.

Chỉ định một dịch vụ, ví dụ localhost:8001.

Trong Additional application settings, chỉ định bất kỳ tham số nào bạn muốn thêm vào cấu hình đường hầm của mình.

Chọn Save tunnel.

Sau khi lưu đường hầm, bạn sẽ được chuyển hướng đến trang Tunnels. Hãy tìm đường hầm mới của bạn được liệt kê cùng với trình kết nối hoạt động của nó.

Kiểm tra từ máy khách bên ngoài.


Comments

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *