VPN trên iPhone theo tên miền: quyết định nơi sự từ chối xảy ra
NeverConnect chặn VPN khởi động; nó không chặn một trang web. Hãy quyết định sự từ chối thuộc ranh giới dịch vụ hay một chính sách được quản lý.
Hai yêu cầu được viết thành một câu rồi được triển khai ở những nơi hoàn toàn khác nhau. «Trang này chỉ được truy cập qua VPN» là một phát biểu về việc chấp nhận, và nơi ở tự nhiên của nó là mạng trước dịch vụ. «iPhone này không bao giờ được liên hệ trực tiếp với tên miền đó» là một phát biểu về thiết bị, và chỉ một chính sách máy khách được quản lý mới có thể diễn đạt điều đó. Hãy quyết định bạn thực sự có cái nào trước khi mở trình chỉnh sửa cấu hình.
Hai yêu cầu nghe có vẻ giống nhau
Lấy máy chủ minh họa records.corp.example. Trong trường hợp chấp nhận, bạn chỉ công bố nó tới các địa chỉ phía sau VPN, nên một nỗ lực trực tiếp từ điện thoại trên mạng di động thất bại ở tầng mạng, trong khi cùng yêu cầu đó qua đường hầm thành công và vẫn đòi hỏi đăng nhập tài khoản thật. Trong trường hợp thiết bị, điện thoại có thể ra internet công cộng, nên máy chủ được phân giải và trả lời cho mọi người, và nơi duy nhất để dừng nỗ lực là thiết bị. Dịch vụ không thể thi hành một quy tắc cho yêu cầu không bao giờ đến được nó.
Đọc sai yêu cầu thể hiện như một triển khai cụ thể. Bản ghi vẫn công khai, người vận hành tin rằng VPN là bắt buộc, và một cuộc kiểm toán nỗ lực di động cho thấy yêu cầu chưa bao giờ vào đường hầm. Không có gì trong nhật ký trông hỏng, vì không có gì bị chặn.
Đọc các hành động đánh giá theo nghĩa đen
Cơ chế theo yêu cầu có hai lớp hành động riêng biệt, và việc trộn lẫn chúng tạo ra phần lớn sự nhầm lẫn ở đây. Hành động của quy tắc bên ngoài quyết định điều gì xảy ra với đường hầm khi quy tắc khớp, và hành động đánh giá kết nối quyết định điều gì xảy ra với một khớp tên máy chủ bên trong một quy tắc đánh giá. Tài liệu tham chiếu Never Connect của Apple chỉ mô tả lớp thứ hai.
| Layer | Action | What it controls |
|---|---|---|
| Outer rule | connect | Bring the tunnel up when the rule matches |
| Outer rule | disconnect | Tear the tunnel down when the rule matches |
| Outer rule | evaluateConnection | Run a hostname evaluation instead of acting directly |
| Outer rule | ignore | Leave the current tunnel state alone |
| Connection evaluation | connectIfNeeded | Start the tunnel when the hostname cannot be resolved |
| Connection evaluation | neverConnect | Do not start the tunnel for that match |
neverConnect là giá trị bị đọc sai nhiều nhất, vì cái tên gợi ý một sự chặn. Nó điều khiển việc khởi động đường hầm cho tên máy chủ khớp, không phải quyền của điện thoại để đến một tên, vì vậy một mục Never Connect không phải là chặn tên miền. Gọi nó như vậy trong một tài liệu thiết kế là cách một triển khai được phê duyệt với một ranh giới thực thi mà nó không có.
Khi bạn sở hữu dịch vụ, hãy thực thi tại ranh giới
Hạn chế chấp nhận nghĩa là chỉ công bố tên ở nơi đường VPN có thể đến, sau đó kiểm tra rằng đường dự định hoạt động và một đường khác thì không. Bao phủ mọi bản ghi đã công bố, cả hai họ địa chỉ nếu bạn công bố chúng, và bất kỳ tên trung gian hoặc thay thế nào ứng dụng dùng. Một CNAME cũ vẫn trỏ tới bộ cân bằng tải công cộng giữ cho đường trực tiếp sống, dù bản ghi chính có gọn gàng đến đâu.
Điều này bảo vệ dịch vụ chứ không phải thiết bị. Nó không ngăn điện thoại gửi truy vấn DNS, và không ngăn ứng dụng thử. Nếu những nỗ lực đó chấp nhận được, thực thi tại ranh giới là lựa chọn rẻ hơn và bền hơn, vì nó đúng cho mọi máy khách chứ không chỉ những máy bạn đã cấu hình. Nó cũng sống sót qua một điện thoại chưa từng được đăng ký.
Khi điện thoại không được phép thử, bạn cần một chính sách được quản lý
Dừng nỗ lực cần một chính sách thực thi được hỗ trợ bao phủ ứng dụng hoặc các đích trước khi kết nối, trong lúc đường hầm gặp sự cố và sau khi mạng thay đổi. Hãy yêu cầu nhà cung cấp VPN hoặc quản lý thiết bị nêu tên chính sách đó, cho biết nó có cần quản lý tổ chức hay không, và mô tả nó còn ảnh hưởng gì. Một đường hầm theo ứng dụng cộng một quy tắc theo yêu cầu không phải là một, và một lối tắt trên màn hình chính tới kết nối cũng không.
Kiểm tra trường hợp hỏng bằng cách tắt đường hầm và quan sát xem yêu cầu có đi ra ngoài không. Nếu có, ranh giới bạn đã ghi không phải ranh giới bạn đã triển khai.
Quyết định bằng ba câu hỏi
Thứ nhất, bạn kiểm soát dịch vụ hay chỉ điện thoại? Thứ hai, thiết bị có được dùng internet công cộng một cách hợp pháp cho mọi thứ khác không? Thứ ba, điện thoại có được quản lý không, và bởi ai? Sở hữu dịch vụ cộng một đội thiết bị được quản lý nghĩa là lớp nào cũng có sẵn, trong khi chỉ sở hữu điện thoại khiến chính sách máy khách thành lựa chọn duy nhất và nó phải được hỗ trợ.
Trả lời ba câu đó trước khi chạm vào một cấu hình. Khi đó cấu hình không còn là phỏng đoán về ý nghĩa của một hộp kiểm tên là Never.