Một máy chủ được lưu trữ có cài VPN cuối cùng giữ ba địa chỉ, và chỉ một trong số đó thuộc về từng vị trí bạn sắp cấu hình. Sao chép con số từ bảng điều khiển của nhà cung cấp vào DNS, vào một trình lắng nghe hoặc vào danh sách cho phép chính là cách một đường hầm đang hoạt động biến thành dịch vụ mà không ai chạm tới được. Hướng dẫn này sắp xếp công việc sao cho mỗi địa chỉ được chọn cho một mục đích đã nêu. Nó cũng liệt kê các lệnh xác nhận điều bạn thực sự đã công bố.

Lập bản đồ ba địa chỉ trước khi công bố bất cứ điều gì

Đặt tên chúng theo chức năng. Địa chỉ underlay là thứ máy dùng để chạm tới điểm cuối VPN qua internet, và nó thường là riêng tư sau NAT của nhà cung cấp. Địa chỉ đường hầm sống bên trong VPN, do máy chủ hoặc máy khách cấp tùy theo sản phẩm. Lối ra công cộng là địa chỉ mà một trang web từ xa ghi lại sau khi dịch, và nó không cần tồn tại trên bất kỳ giao diện nào bạn có thể truy vấn.

Một bảng điều khiển chỉ hiển thị một địa chỉ công cộng cho một máy nói với bạn rất ít về hai vai trò còn lại. Khả năng tiếp cận underlay là một yêu cầu, không phải một lần mua: một máy tính xách tay sau bộ định tuyến gia đình vẫn có thể chạm tới điểm cuối VPN được lưu trữ mà không cần sở hữu địa chỉ IPv4 công cộng. Điều bạn không thể làm là bịa ra một đường vào bằng cách viết một tên phân giải thành địa chỉ mà không ai chuyển tiếp.

Chọn địa chỉ theo dịch vụ, không theo nhãn

Ghi ra những gì máy chủ phải làm trước khi chọn một con số. Các lệnh gọi API đi ra cần một lối ra ổn định khi phía bên kia giữ danh sách cho phép. Truy cập riêng tư cần một địa chỉ đường hầm mà máy khách có thể định tuyến tới và một trình lắng nghe gắn với nó. Lưu trữ công cộng cần một ánh xạ vào mà nhà cung cấp thực sự cung cấp, và chỉ địa chỉ ra thì không đáp ứng được điều đó.

Một máy duy nhất có thể phục vụ cả ba mục đích mà vẫn dùng ba địa chỉ khác nhau. Thứ bị phá vỡ là giả định rằng một giá trị bao trùm tất cả:

RequirementValue that belongs thereWhat you see when the roles are swapped
Outbound allowlistingPublic exitRequests reach the service but are rejected
Private client accessTunnel addressClient connects, nothing answers
Inbound web serviceProvider mappingName resolves, connection times out

Dòng đi vào là dòng mà người ta tranh luận. Một bản ghi trỏ tới địa chỉ ra không tạo trình lắng nghe, không mở tường lửa và không ánh xạ cổng, và chờ đợi không thay đổi điều đó. Khi nhà cung cấp bán một địa chỉ riêng cùng với một quy tắc vào, gói đó chính là năng lực bạn đã mua; bản thân địa chỉ không phải là quyền.

Các lệnh cho thấy địa chỉ nào là địa chỉ nào

Đọc máy, không đọc bảng điều khiển. Tên giao diện khác nhau giữa các hệ thống, nên hãy ghép địa chỉ với thiết bị thay vì tin vào nhãn.

Dòng đầu liệt kê từng địa chỉ IPv4 và thiết bị của nó, dòng thứ hai hỏi nhân hệ điều hành sẽ dùng thiết bị nào cho một đích bên ngoài đã biết:

ip -brief -4 addr show
ip -4 route get 198.51.100.10
curl -4 -s https://ifconfig.me
ss -lntp | grep -E ':(443|1194)'

Nếu tra cứu tuyến trả về một thiết bị đường hầm cho lưu lượng công cộng, đường hầm đầy đủ của bạn đang có hiệu lực. Việc kiểm tra trình lắng nghe cũng quan trọng không kém, vì một tiến trình chỉ gắn với 127.0.0.1 sẽ không bao giờ trả lời trên địa chỉ đường hầm, bất kể bạn công bố tên nào.

Công bố nó, rồi xác minh từ bên ngoài

Chỉ công bố giá trị mà dịch vụ cần và không hơn: bản ghi A hoặc AAAA cho lưu trữ, một mục trong danh sách cho phép cho các lệnh gọi đi ra, một hồ sơ máy khách cho truy cập riêng tư. Sau đó kiểm tra từ vị trí quan trọng, và đó không bao giờ là máy bạn vừa chỉnh sửa.

Hai kiểm tra bao quát phần lớn, và cả hai đều đủ rẻ để giữ trong một tập lệnh:

dig +short vpn.example.net A
curl -4 -sS -o /dev/null -w '%{http_code}\n' https://vpn.example.net/health

Một câu trả lời DNS chứng minh bản ghi của bạn tồn tại không phải là bằng chứng cho thấy một yêu cầu đến, và một yêu cầu thành công chỉ chứng minh rằng một đường hoạt động từ một mạng. Lặp lại kiểm tra từ kết nối di động khi có danh sách cho phép, vì lối ra bạn quan sát có thể phụ thuộc vào họ địa chỉ và tuyến đã đi. Ghi lại họ nào bạn đã xác minh; một đường IPv4 hoạt động không nói gì về IPv6.

Nếu dịch vụ là đi vào, địa chỉ ra không đủ

Truy cập đi vào cần bốn thứ thẳng hàng: một tên hoặc địa chỉ mà máy khách chạm tới được, một tuyến đưa gói tới máy, một trình lắng nghe chấp nhận nó, và một chính sách không bỏ rơi nó. VPN thay đổi mục thứ hai và đôi khi mục thứ nhất, và không làm gì cho mục thứ ba và thứ tư. Khi đường hầm là đường giao hàng, máy khách kết nối tới địa chỉ đường hầm, không phải lối ra.

Ghi lại dịch vụ nào phụ thuộc vào địa chỉ nào, rồi xem lại ghi chú đó mỗi khi nhà cung cấp thay đổi mô hình định tuyến. Một máy chủ trả lời riêng tư và thất bại công khai thường không hỏng; nó đang trả lời bằng danh tính sai, và việc sửa chữa là một quyết định ánh xạ chứ không phải thay đổi tường lửa.

Bài viết liên quan