Sử dụng Mullvad VPN làm Exit Node trong Tailscale
(tailscale.com)- Tailscale đã hợp tác với Mullvad để cho phép sử dụng các máy chủ VPN toàn cầu của Mullvad làm Tailscale exit node, giúp người dùng tailnet duyệt web riêng tư hơn mà không cần tự xây dựng hạ tầng riêng
- Mullvad là một VPN không ghi log hoạt động hay theo dõi, sử dụng số tài khoản duy nhất cho gói thuê bao để dữ liệu cá nhân không bị gắn trực tiếp với tài khoản
- Tailscale chỉ đảm nhận lớp điều phối giữa thiết bị và biên mạng của Mullvad, còn lưu lượng Internet thực tế sẽ đi trực tiếp qua nút Mullvad đã chọn
- Cách kết hợp này hữu ích cho các trường hợp như bảo vệ trên Wi‑Fi công cộng hoặc truy cập theo khu vực, nhưng không phải mô hình bảo đảm ẩn danh thực sự
- Tính năng đang được cung cấp dưới dạng beta công khai và có thể thêm vào các gói Tailscale hiện có cũng như gói Free dưới dạng add-on trả phí, với giá 5 USD/tháng cho mỗi 5 thiết bị
Vai trò của Tailscale và Mullvad
- Cả hai đều có thể được gọi là VPN, nhưng giải quyết những vấn đề khác nhau
- Tailscale là dịch vụ tạo ra một tailnet, tức mạng Internet riêng cho cá nhân, giúp người dùng kết nối an toàn với các dịch vụ và con người họ cần từ gần như bất cứ đâu
- Các VPN thiên về quyền riêng tư như Mullvad cung cấp truy cập Internet riêng tư hơn bằng cách che giấu thông tin nhận dạng thiết bị khỏi nhà quảng cáo, ISP, tác nhân đe doạ trên Wi‑Fi công cộng, các trang marketing và những bên tương tự
- Trước đây, nếu muốn dùng Tailscale mà vẫn có được lợi ích tương tự VPN quyền riêng tư, người dùng phải tự cấu hình hạ tầng
Cách dùng Mullvad làm Tailscale exit node
- Mullvad cho phép truy cập hàng trăm máy chủ tại hơn 40 quốc gia trên toàn thế giới
- Khi kết nối tới máy chủ Mullvad, thiết bị sẽ tạo một cặp khóa WireGuard
- Khóa công khai được dùng để nhận diện peer trong hạ tầng Mullvad
- Khóa riêng được dùng để mã hoá lưu lượng
- Khi sử dụng Mullvad exit node trong Tailscale, cấu trúc cũng tương tự
- Nút sẽ đăng ký cặp khóa WireGuard do Tailscale tạo sẵn với hạ tầng Mullvad
- Lưu lượng đi ra Internet sẽ kết thúc tại biên mạng Mullvad
- Lưu lượng được mã hoá đầu cuối tới thiết bị
- Kết quả là bạn có thể sử dụng cụm máy chủ của Mullvad như thể chúng được đưa vào bên trong tailnet
Tailscale hoạt động như lớp điều phối
- Tailscale đảm nhiệm vai trò lớp điều phối giữa thiết bị người dùng và biên mạng Mullvad
- Lớp điều khiển liên tục cập nhật bản đồ mạng Mullvad khả dụng và gửi cho thiết bị biết nên kết nối tới máy chủ nào ở từng khu vực hoặc thành phố
- Sau khi nhận thông tin kết nối của nút Mullvad tại khu vực hoặc thành phố đã chọn, thiết bị sẽ gửi lưu lượng trực tiếp ra Internet thông qua nút đó
- Cũng như các lưu lượng khác trong tailnet, dữ liệu được mã hoá đầu cuối, và Tailscale không có khóa riêng nên không thể xem nội dung lưu lượng
Thiết lập và tính phí
- Để kích hoạt Mullvad exit node, quản trị viên tailnet cần chọn Configure trên trang general settings trong bảng điều khiển quản trị
- Quản trị viên sẽ chọn các thiết bị trong tailnet sẽ dùng cùng Mullvad rồi mua giấy phép qua luồng thanh toán
- Giá là 5 USD/tháng cho mỗi 5 thiết bị muốn sử dụng
- Trên các thiết bị đã được cấp quyền truy cập Mullvad VPN, có thể chọn Mullvad exit node
- Mỗi thiết bị có thể bật hoặc tắt exit node một cách riêng biệt
- Có thể xem cách sử dụng chi tiết trong tài liệu Tailscale
Giới hạn của quyền riêng tư và ẩn danh
- Mỗi kết nối Tailscale là một đường hầm WireGuard, được mã hoá và xác thực đầu cuối
- Việc xác thực mang lại bảo đảm mạnh mẽ rằng lưu lượng thực sự đi giữa đúng các endpoint đã khai báo
- Không có thông tin cá nhân nào của người dùng được gửi tới Mullvad
- Tailscale biết người dùng thông qua identity provider được kết nối, nhưng thông tin này không cần thiết cho kết nối tới máy chủ Mullvad
- Tailscale client cục bộ nhận thông tin về nơi gửi khóa WireGuard công khai, sau đó lưu lượng Internet sẽ đi qua hạ tầng VPN của Mullvad
- Cấu trúc này giúp che giấu các chi tiết riêng tư về thiết bị, mạng và kết nối khỏi những bên quan sát bên ngoài
Ẩn danh thực sự là một vấn đề khác
- Tailscale cho rằng cách kết hợp này phù hợp với nhiều trường hợp sử dụng, nhưng không cung cấp ẩn danh thực sự
- Vấn đề mà Tailscale muốn giải quyết không phải true anonymity, mà là phục vụ những người dùng có mô hình đe doạ chấp nhận mức ẩn danh có điều kiện
- Vẫn có những trường hợp sử dụng hợp lệ cần cả quyền riêng tư lẫn ẩn danh thực sự
- Về mặt thương mại, việc cung cấp những bảo đảm như vậy đi kèm rủi ro
- Mullvad và IVPN đã nhắc tới khả năng bị lạm dụng khi loại bỏ hỗ trợ port forwarding
- Người dùng xấu có thể biến dịch vụ thành một vector bị lạm dụng
- Kiểu lạm dụng này có thể làm xấu đi trải nghiệm của toàn bộ người dùng, bao gồm cả những người phụ thuộc vào dịch vụ để bảo vệ an toàn cho bản thân
- Với những người dùng có mô hình đe doạ khắt khe hơn, cần tham khảo các tài liệu như EFF Surveillance Self-Defense guide để đánh giá công cụ phù hợp
Beta công khai và hỗ trợ gói dịch vụ
- Mullvad exit node hiện có thể sử dụng ngay dưới dạng beta công khai
- Có thể mở rộng cho gia đình hoặc nhóm, với thanh toán tự động định kỳ 5 USD/tháng cho mỗi 5 thiết bị có quyền truy cập
- Mullvad hiện được cung cấp như một add-on trả phí cho mọi gói của Tailscale
- Add-on này cũng dùng được trên gói Free
- Để bắt đầu, chỉ cần chọn Configure trong tab general settings của bảng điều khiển quản trị
1 bình luận
Ý kiến trên Hacker News
VPN ban đầu mang ý nghĩa khá khác so với các VPN thương mại dành cho người tiêu dùng như Mullvad, và gần hơn với mạng overlay được mã hóa mà Tailscale cung cấp.
Giờ đây có cảm giác bánh xe tái phát minh đã quay trọn một vòng và hai thứ lại nhập làm một; ở đây tôi không dùng “tái phát minh” theo nghĩa tiêu cực. Tôi nghĩ đây là hướng đi tốt.
Bối cảnh lịch sử, nơi những người như John Gilmore[1] từng cho rằng có thể bảo vệ lưu lượng Internet đầu-cuối bằng một công nghệ VPN phổ quát, tương tác được với nhau dựa trên chuẩn IPSec của IETF, cũng có thể thấy trong tài liệu nêu mục đích của FreeS/WAN những năm 90: http://web.archive.org/web/20210125023625/https://www.freesw...
Sau đó là thời kỳ đen tối của VPN, khi nó chủ yếu chỉ được dùng như công nghệ để truy cập các “mạng nội bộ” doanh nghiệp kiểu cũ.
[1] https://en.wikipedia.org/wiki/John_Gilmore_(activist)
Hồi nhỏ tôi từng vận hành một cái, và nó gần như là ác mộng bảo mật; không có cách nào ngăn người vận hành web proxy xem trộm mọi thông tin xác thực của người dùng đi qua đó. Việc sửa PHPRoxy để làm như vậy cũng cực kỳ dễ.
Cá nhân tôi, hồi đầu những năm 2000 khi còn là thiếu niên, tôi vận hành một dịch vụ parking tên miền, dùng các tên miền làm web proxy, tìm các khối AdSense trong nội dung rồi thay bằng mã AdSense của mình, chia 50/50 với mã của chủ sở hữu tên miền. Cuối cùng Google cũng phát hiện và cấm, nhưng trong thời gian còn chạy thì khá ổn, và tôi nghĩ cũng khá công bằng vì không thêm khối quảng cáo mới mà chỉ tái sử dụng khối hiện có.
Về sau, khi VPN cho người tiêu dùng xuất hiện, nó trở thành mô hình điểm-đa điểm để gắn một máy tính đơn lẻ vào mạng; tôi không rõ sự nhầm lẫn đó hình thành thế nào. Thời đó thực chất nó gần như chỉ là SSH tunnel được đóng gói lại.
Về mặt kỹ thuật, VPN của Mullvad cũng là VPN site-to-site, chỉ khác là site ở xa chính là Internet.
Tôi thường dùng các VPN tương tự để kết nối toàn bộ mạng LAN ở nhà ra Internet.
Khác biệt lớn nhất nằm ở cách cấu hình phía client, vì đầu bên kia hầu như luôn là một mạng chứ không phải một host.
Với tư cách là một thuật ngữ chung, VPN đến nay vẫn mang đúng nghĩa như 20 năm trước.
“Virtual” nghĩa là nó không tương ứng với một giao diện mạng vật lý, còn “private” nghĩa là có mã hóa, khác với các tunnel đơn giản như ipip hay 6in4. Và việc nó là một giao diện mạng xuất hiện trên node cũng luôn như vậy; chuyện node đó có phải là hộp đen độc quyền của nhà cung cấp hay không là vấn đề khác.
Vài chục năm trước, số trường hợp sử dụng và vị thế của nó ít hơn, “router” chuyên dụng quan trọng hơn, và mọi người chỉ ngây thơ tin tưởng hạ tầng hơn mà thôi. Những khác biệt thay đổi theo thời gian là như vậy. Tìm nhanh thì thấy OpenVPN ra đời năm 2001, tinc năm 1998.
Tôi thích công nghệ của Tailscale và những đóng góp của họ cho hệ sinh thái bảo mật, nhưng tôi nhìn việc này ngược với nhiều phản ứng ở đây.
Nó có cảm giác là một ý tưởng tệ, và có lẽ còn là tín hiệu thất bại ở thị trường doanh nghiệp, nơi công nghệ này có thể tạo ra giá trị lớn nhất. Năm ngoái Tailscale đã gọi vốn 100 triệu USD, chắc chắn dựa trên giả thuyết rằng họ sẽ tăng trưởng lên phân khúc thị trường cao hơn.
Quan hệ đối tác này có thể có giá trị với người tiêu dùng cá nhân, nhưng nó giống một sự xao nhãng khỏi cơ hội lớn hơn, và trong kịch bản tệ nhất còn có thể phản tác dụng đối với việc đạt được cơ hội đó.
Tôi cũng không mấy tin vào lập luận phản biện rằng làm hài lòng người tiêu dùng cá nhân sẽ tạo thành flywheel dẫn tới thành công B2B.
Nếu chúng tôi có thể tạo ra thứ chính mình muốn và bạn bè, đồng nghiệp geek của mình cũng thích, rồi điều đó cũng dẫn tới doanh số doanh nghiệp, thì không có lý do gì để không làm.
Đây là một tính năng khá hay để có thêm doanh thu định kỳ từ nhóm khách hàng geek vốn trước giờ dùng miễn phí.
Hợp tác với các tổ chức có cùng định hướng như Tailscale hay Tor có vẻ là cách hay để mở rộng tệp người dùng mà không phải đụng tới các mô hình kinh doanh đáng ngờ như những đối thủ VPN khác.
Sản phẩm quá giống phép thuật nên ai cũng nghi ngờ. Ở nhà tôi đã dùng nó và đã cố bằng mọi cách để thuyết phục.
Việc này trông giống một khoản đầu tư dài hạn hơn nhằm phá vỡ nền tảng “mesh” của sản phẩm. Đó vừa là phần kỳ diệu, vừa là vấn đề. Với tư cách người ngoài, tôi không thể giải thích mô hình bảo mật của mesh, và theo một số bình luận thì nó dường như cũng gây vấn đề về pin trên thiết bị di động.
Nếu tạo hai tunnel riêng rồi duyệt Internet qua chúng, thì ngoài các trang HTML tĩnh, streaming hay gần như mọi cách sử dụng khác đều sẽ rất khổ sở.
Gần đây Mullvad đang làm rất nhiều việc và tôi thật sự thích điều đó.
Có cảm giác họ đang xây dựng một hệ sinh thái mã nguồn mở phi tập trung thông qua quan hệ đối tác với các công ty theo đuổi hướng đi tương tự. Nó khá gần với hình ảnh mà những “hacker” yêu bảo mật từng mơ tới.
Tôi tò mò liệu tiếp theo có phải là Matrix hay Signal không. Signal thì khả năng rất thấp, nhưng ta vẫn có thể mơ rằng câu nói “dịch chuyển sang một hệ sinh thái nơi biểu đạt có ý nghĩa thực sự” sẽ trở thành hiện thực.
Tôi muốn thấy một thế giới nơi các sản phẩm dựa trên mã nguồn mở và giao thức công khai hoạt động hài hòa với nhau. Thật ra tôi từng nghĩ sẽ không thể thấy viễn cảnh đó cho tới khi chúng ta tiến khá gần tới một xã hội hậu khan hiếm.
tailscaled chạy dưới quyền root. Tò mò không biết có cách nào cô lập nó mà không mất chức năng không
Vì nó kết nối nhiều thiết bị trong mạng của tôi, lỗ hổng Tailscale sẽ có tác động lớn. Gần đây cũng đã có gần 10 CVE. Với mô hình client-server tiêu chuẩn, có thể chạy client bằng WireGuard trong user space nên vấn đề này đỡ hơn
Tôi không trực tiếp mở cổng bằng Tailscale, nhưng chính xác hơn là đang thuê ngoài việc đó cho Tailscale, nên vẫn không thể ngủ ngon
Chạy Tailscale mà không có quyền là khó. Vì tailscaled phải có thể thiết lập mạng, và nếu bật Tailscale SSH thì cũng phải có thể tạo phiên người dùng đã cấu hình
Với người không cần SSH và chấp nhận thách thức cùng gánh nặng bảo trì này thì vẫn có thể làm được: https://tailscale.com/kb/1279/security-node-hardening/
Cơ sở là tôi đang dùng như vậy trên Arch
Nhìn bên ngoài thì thật sự rất tuyệt, và với tư cách người dùng cả Tailscale lẫn Mullvad thì đây là điều rất hay
Tuy nhiên, mối lo chính là khả năng rò rỉ quyền riêng tư. Liệu giờ đây cơ quan chính phủ có thể gây áp lực lên Tailscale để liên kết Mullvad ID hoặc kết nối với tài khoản Tailscale nhằm theo dõi không?
Tóm lại, như mọi khi, còn tùy vào mô hình đe dọa
Gần đây Tailscale đã chặn người quốc tịch Cuba truy cập dịch vụ, nên cá nhân tôi đã bỏ lỡ một cơ hội vốn có thể rất hữu ích. Hẳn là họ có lý do riêng, nhưng dù vậy tôi vẫn thấy bản thân dịch vụ đang được xây dựng từng bước khá ổn
Trước đây khi tham gia điều hành một tổ chức phi lợi nhuận từ thiện của Mỹ, tôi từng cố hỗ trợ chi phí cho một người tham dự hội nghị công nghệ ở Cuba thời Obama. Cũng có thể đó là chi phí để một người Cuba đi dự hội nghị công nghệ ở nơi khác
Cuối cùng thì cũng làm được, nhưng phải tham vấn luật sư, đối chiếu chi tiết tình huống với các quy định áp dụng, và những người liên quan phải cam kết ở trong khuôn khổ các quy định đó
Tôi đoán Tailscale hoặc một trong các nhà cung cấp mà họ phụ thuộc đang chặn người Cuba để tuân thủ nghĩa vụ pháp lý của Mỹ dành riêng cho Cuba, hoặc ít nhất là để giảm rủi ro vi phạm
Ít nhất thì GitHub đã tìm được cách cung cấp hợp pháp phần lớn dịch vụ cho người Cuba hoặc người dùng tại Cuba, ngoại trừ các cá nhân/tổ chức bị cấm hẹp hơn, bất chấp lệnh cấm vận. Nếu có thể lấy mã nguồn mở của client Tailscale và server Headscale, bạn vẫn có thể tận hưởng một phần lợi ích của phần mềm Tailscale
Google cũng tuân theo một phần: https://support.google.com/google-ads/answer/6163740?hl=en
Cần thiết lập nhiều hơn đáng kể, nhưng đó là một lựa chọn. Tôi đã tự host headscale một thời gian và nó khá ổn định
Nếu đã là khách hàng Mullvad, tôi thắc mắc liệu có cách nào tích hợp cái này với tài khoản hiện có không
Hiện tại, khi muốn dùng Mullvad thông qua tailnet, tôi đặt máy Linux ở nhà làm exit node và để máy đó tự động gửi toàn bộ lưu lượng qua Mullvad. Vì tôi đã trả tiền Mullvad trên máy Linux ở nhà đó rồi, nên với tôi không phát sinh thêm chi phí
May là nếu bạn không tích lũy sẵn quá nhiều tháng trả trước ở Mullvad thì hoàn toàn không thành vấn đề
Muốn giúp hiểu vì sao trong vài năm gần đây việc sử dụng VPN dường như đã tăng bùng nổ
Tôi biết các trường hợp sử dụng điển hình như thiết bị công ty, nhưng những thứ đó đã có từ hàng chục năm trước nên có vẻ không phải nguyên nhân chính. Bối cảnh nào khiến quy mô tăng trưởng lớn diễn ra trong hơn 3 năm qua?
Vì vậy với công chúng, từ “VPN” đã trở nên gần với “thứ giúp định tuyến traffic qua một vị trí địa lý cụ thể” hơn là “thứ cho phép truy cập từ bất cứ đâu vào mạng do mình kiểm soát”
Những sự thật nửa vời như “giúp kết nối an toàn”, “ngăn theo dõi” được đưa ra mà không giải thích thêm; thực tế thì dấu vân tay thiết bị và trình duyệt còn quan trọng hơn vị trí địa lý trong việc nhận diện người dùng. Nếu có HTTPS thì traffic đã được mã hóa rồi, và DNS-over-HTTPS hoặc nhà cung cấp TLS cũng che được nơi bạn định truy cập, nên phần lớn lợi ích được quảng cáo gần như chỉ là “dầu rắn”
Tuy nhiên nếu bạn muốn xem nội dung bị giới hạn theo khu vực, hoặc dùng chiến lược xếp nhiều lớp mơ hồ để ẩn danh danh tính, thì cứ thoải mái dùng. Tôi cho rằng lý do việc sử dụng đại chúng bùng nổ là kết quả của sự kết hợp giữa mức hoang tưởng lành mạnh và influencer marketing
Tôi nhìn nhóm khách hàng như sau: người quan tâm đến quyền riêng tư trực tuyến, người quan tâm đến việc vượt kiểm duyệt, người muốn có một kênh mạng an toàn giữa máy của mình và “internet” để tránh ISP địa phương nghe lén, người muốn vượt giới hạn địa lý
Do bản chất của internet và cách thức hoạt động của IP, giao thức quan trọng nhất của nó, việc thay đổi địa chỉ IP là một bước cần thiết để bảo vệ quyền riêng tư trực tuyến nhưng không phải lúc nào cũng đủ. Điều này cho thấy sự liên quan lâu dài của VPN, Tor và các công nghệ tương tự
Nói rõ nguồn gốc thì tôi là đồng sáng lập Mullvad VPN
VPN kiểu Tailscale chủ yếu được dùng bởi những người tự host ứng dụng và muốn truy cập từ nhiều thiết bị mà không công khai ra internet, hoặc muốn truy cập NAS ở Starbucks
Không cần đụng vào
sshdchút nào, và các máy kết nối vào tailnet sẽ tự có chứng chỉ HTTPS. Hơn nữa còn miễn phí[1] https://tailscale.com/tailscale-ssh/
[2] https://tailscale.com/kb/1081/magicdns/
Tôi coi trọng quyền riêng tư, và muốn chống lại nhận thức sai lầm rằng các công cụ tăng cường quyền riêng tư chỉ được những người đáng ngờ dùng cho mục đích đáng ngờ
Cứ dùng VPN vì cùng lý do bạn đóng cửa buồng trong nhà vệ sinh công cộng là được
Tôi không nhất thiết đồng ý với tiền đề rằng gần đây việc dùng VPN thực sự đã tăng. Tôi không biết điều đó có đúng không
Thú vị là trước đây tôi từng viết một script chạy khi kết nối để cho Mullvad và Tailscale cùng tồn tại. Nếu ai quan tâm thì cũng có bản cho NVPN
DOMAINS=(login controlplane log derp1-all derp2-all derp3-all derp4-all derp5-all derp6-all derp7-all derp8-all derp9-all derp10-all derp11-all derp12-all derp13-all derp14-all derp15-all derp16-all derp17-all derp18-all derp19-all derp20-all derp21-all derp22-all derp23-all derp24-all)
FWMARK=$(wg show $1 fwmark)
for d in ${DOMAINS[@]}; do
IPS=$(dig +answer -4 $d.tailscale.com +short)
for IP in ${IPS[@]}; do
iptables -I INPUT --in-interface tailscale0 -j MARK --set-mark $FWMARK
iptables -I OUTPUT --out-interface tailscale0 -j MARK --set-mark $FWMARK
iptables -I INPUT -d $IP/32 -j MARK --set-mark $FWMARK
iptables -I INPUT -s $IP/32 -j MARK --set-mark $FWMARK
iptables -I OUTPUT -d $IP/32 -j MARK --set-mark $FWMARK
done;
done;
iptables -I OUTPUT -d 100.100.100.100/32 -j MARK --set-mark $FWMARK
iptables -I OUTPUT -s 100.100.100.100/32 -j MARK --set-mark $FWMARK
iptables -I INPUT -d 100.100.100.100/32 -j MARK --set-mark $FWMARK
iptables -I INPUT -s 100.100.100.100/32 -j MARK --set-mark $FWMARK
DOMAINS=(login controlplane log derp{1..24}-all)
wg show $1là gì, và script này được chạy khi nào, bằng cách nào