Tôi nên sử dụng tap hoặc tun cho openvpn?


85

Sự khác biệt giữa việc sử dụng dev tap và dev tun cho openvpn là gì? Tôi biết các chế độ khác nhau không thể hoạt động. Sự khác biệt kỹ thuật là gì, khác sau đó chỉ là hoạt động lớp 2 vs 3. Có đặc điểm hiệu suất khác nhau, hoặc mức độ khác nhau của chi phí. Chế độ nào tốt hơn. Chức năng nào là độc quyền có sẵn trong mỗi chế độ.


Hãy giải thích sự khác biệt? cầu nối ethernet là gì và tại sao nó xấu?
Thomaschaaf

Câu trả lời:


74

nếu bạn có thể tạo vpn trên lớp 3 (thêm một bước nhảy giữa các mạng con) - hãy điều chỉnh.

nếu bạn cần kết nối hai phân đoạn ethernet ở hai vị trí khác nhau - thì hãy sử dụng vòi. trong thiết lập như vậy, bạn có thể có các máy tính trong cùng một mạng con ip (ví dụ 10.0.0.0/24) ở cả hai đầu của vpn và chúng sẽ có thể 'nói chuyện' với nhau trực tiếp mà không có bất kỳ thay đổi nào trong bảng định tuyến của chúng. vpn sẽ hoạt động như chuyển đổi ethernet. Điều này nghe có vẻ hay và hữu ích trong một số trường hợp nhưng tôi khuyên bạn không nên dùng nó trừ khi bạn thực sự cần nó. nếu bạn chọn thiết lập bắc cầu lớp 2 như vậy - sẽ có một chút 'rác' (đó là các gói phát sóng) đi qua vpn của bạn.

bằng cách sử dụng tap, bạn sẽ có nhiều chi phí hơn một chút - ngoài các tiêu đề ip còn các tiêu đề ethernet 38B trở lên sẽ được gửi qua đường hầm (tùy thuộc vào loại lưu lượng truy cập của bạn - nó có thể sẽ giới thiệu nhiều phân mảnh hơn).


24

Tôi đã chọn "chạm" khi thiết lập VPN cho một người bạn sở hữu một doanh nghiệp nhỏ vì văn phòng của anh ta sử dụng mớ máy Windows, máy in thương mại và máy chủ tệp Samba. Một số trong số họ sử dụng TCP / IP thuần túy, một số dường như chỉ sử dụng NetBIOS (và do đó cần các gói phát sóng Ethernet) để liên lạc và một số tôi thậm chí không chắc chắn.

Nếu tôi đã chọn "tun", có lẽ tôi đã phải đối mặt với rất nhiều dịch vụ bị hỏng - rất nhiều thứ hoạt động trong khi bạn đang ở trong văn phòng, nhưng sau đó sẽ bị hỏng khi bạn rời khỏi trang web và máy tính xách tay của bạn không thể "nhìn thấy" các thiết bị trên mạng con Ethernet nữa.

Nhưng bằng cách chọn "tap", tôi nói với VPN để làm cho các máy từ xa có cảm giác giống hệt như chúng trên mạng LAN, với các gói Ethernet phát sóng và các giao thức Ethernet thô có sẵn để giao tiếp với máy in và máy chủ tệp và để cấp nguồn cho màn hình Mạng lân cận của chúng. Nó hoạt động rất tốt và tôi không bao giờ nhận được báo cáo về những thứ không hoạt động ngoài cơ sở!


15

Tôi luôn luôn thiết lập tun. Tap được sử dụng bởi cầu nối ethernet trong OpenVPN và giới thiệu mức độ phức tạp không cần thiết mà đơn giản là không đáng bận tâm. Thông thường khi cần cài đặt VPN, cần có ngay bây giờ và việc triển khai phức tạp không diễn ra nhanh chóng.

Câu hỏi thường gặp về OpenVPNEthernet Bridging HOWTOnhững tài nguyên tuyệt vời về chủ đề này.


9
Theo kinh nghiệm của tôi, tun dễ cài đặt hơn nhưng không xử lý nhiều cấu hình mạng, do đó bạn gặp phải nhiều vấn đề mạng kỳ lạ hơn. Ngược lại, tap phức tạp hơn một chút để thiết lập, nhưng một khi bạn làm như vậy, nó thường "chỉ hoạt động" cho mọi người.
Cerin

8

Nếu bạn có kế hoạch kết nối các thiết bị di động (iOS hoặc Android) bằng OpenVPN, thì bạn nên sử dụng TUN vì hiện tại TAP không được OpenVPN hỗ trợ trên chúng:

Hạn chế của TAP: ..... không thể được sử dụng với các thiết bị Android hoặc iOS


TAP được hỗ trợ trên Android thông qua ứng dụng của bên thứ ba: OpenVPN Client (Nhà phát triển: colucci-web.it)
Boo

5

Tôi đã bắt đầu sử dụng tun, nhưng đã chuyển sang tap vì tôi không thích sử dụng mạng con / 30 cho mỗi PC (tôi cần hỗ trợ Windows). Tôi thấy rằng là lãng phí và khó hiểu.

Sau đó, tôi phát hiện ra tùy chọn "mạng con cấu trúc liên kết" trên máy chủ. Hoạt động với 2.1 RC (không phải 2.0), nhưng nó mang lại cho tôi tất cả các lợi thế của điều chỉnh (không bắc cầu, hiệu suất, định tuyến, v.v.) với sự tiện lợi của một địa chỉ IP (tuần tự) trên mỗi máy (windows).


5

Bởi vì tôi tìm thấy lời khuyên đơn giản khó có thể đến:

Bạn có thể sử dụng TUN nếu bạn chỉ sử dụng VPN để kết nối với internet .

Bạn cần sử dụng TAP nếu bạn muốn kết nối với mạng từ xa thực tế (máy in, máy tính để bàn từ xa, v.v.)


4

Tôi đã có câu hỏi tương tự từ nhiều năm trước và đã cố gắng giải thích nó bằng những từ ngữ đơn giản (mà cá nhân tôi thấy thiếu tài nguyên khác) trên blog của mình: Một Primer OpenVPN

Hy vọng nó sẽ giúp được ai đó


2
Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Mark Henderson

Bài đăng tuyệt vời! Tôi hiếm khi đọc cả một bài như thế này nhưng bài này tôi đã làm. Tôi đồng ý với Mark Henderson, bạn nên viết một bản tóm tắt nhỏ và đặt liên kết sau.
Pierre-Luc Bertrand

4


TUN "quy tắc ngón tay cái" của tôi - nếu bạn CHỈ cần quyền truy cập vào các tài nguyên được kết nối trực tiếp với máy chủ OpenVPN ở đầu kia và không có vấn đề gì về Windows. Một chút sáng tạo ở đây có thể giúp ích, bằng cách làm cho các tài nguyên "xuất hiện" trở thành cục bộ đối với máy chủ OpenVPN. (ví dụ có thể là kết nối CUPS với máy in mạng hoặc chia sẻ Samba trên máy khác MACKed trên máy chủ OpenVPN.)

TAP - nếu bạn cần truy cập vào nhiều tài nguyên (máy, lưu trữ, máy in, thiết bị) được kết nối qua mạng tại đầu kia. TAP cũng có thể được yêu cầu cho một số ứng dụng Windows.


Ưu điểm:
TUN thường giới hạn quyền truy cập VPN vào một máy (địa chỉ IP) và do đó (có lẽ) bảo mật tốt hơn thông qua kết nối hạn chế với mạng phía xa. Kết nối TUN sẽ tạo ra ít tải hơn trên đường hầm VPN và đến lượt mạng phía xa vì chỉ lưu lượng đến / từ địa chỉ IP duy nhất sẽ vượt qua VPN sang phía bên kia. Các tuyến IP đến các trạm khác trong mạng con không được bao gồm, do đó lưu lượng không được gửi qua đường hầm VPN và rất ít hoặc không thể giao tiếp ngoài máy chủ OpenVPN.

TAP - thường cho phép các gói lưu chuyển tự do giữa các điểm cuối. Điều này mang lại sự linh hoạt trong giao tiếp với các trạm khác trên mạng phía xa, bao gồm một số phương pháp được sử dụng bởi phần mềm cũ của Microsoft. TAP có các mức phơi nhiễm bảo mật cố hữu liên quan đến việc cấp quyền truy cập bên ngoài "đằng sau tường lửa". Nó sẽ cho phép nhiều gói lưu lượng hơn chảy qua đường hầm VPN. Điều này cũng mở ra khả năng xung đột địa chỉ giữa các điểm cuối.

rấtSự khác biệt về độ trễ do lớp ngăn xếp, nhưng trong hầu hết các kịch bản của người dùng cuối, tốc độ kết nối của các điểm cuối có lẽ là yếu tố góp phần quan trọng hơn cho độ trễ so với lớp ngăn xếp cụ thể của truyền. Nếu độ trễ là vấn đề, nó có thể là một ý tưởng tốt để xem xét các lựa chọn thay thế khác. Các bộ đa xử lý cấp GHz hiện tại thường vượt qua nút thắt truyền qua internet.

"Tốt hơn" và "Tệ hơn" không thể xác định được nếu không có ngữ cảnh.
(Đây là câu trả lời yêu thích của nhà tư vấn, "Chà điều đó phụ thuộc ...")
Một chiếc Ferrari "tốt hơn" một chiếc xe tải tự đổ? Nếu bạn đang cố gắng đi nhanh, nó có thể; nhưng nếu bạn đang cố gắng chuyên chở những vật nặng, có lẽ là không.

Các ràng buộc như "nhu cầu truy cập" và "yêu cầu bảo mật" phải được xác định, cũng như xác định các ràng buộc như thông lượng mạng và giới hạn thiết bị, trước khi có thể quyết định liệu TUN hoặc TAP phù hợp hơn với nhu cầu của bạn.


2

Thiết lập TAP hầu như không yêu cầu thêm công việc nào từ người thiết lập nó.

Tất nhiên, nếu bạn biết cách thiết lập TUN nhưng không hiểu bạn đang làm gì và chỉ cần làm theo hướng dẫn điều chỉnh, bạn sẽ chiến đấu để thiết lập TAP nhưng không phải vì nó khó hơn mà vì bạn không biết bạn đang làm gì đang làm. Điều này dễ dẫn đến xung đột mạng trong môi trường TAP và sau đó có vẻ như nó phức tạp hơn.

thực tế là, nếu bạn không cần một hướng dẫn bởi vì bạn biết những gì bạn đang làm, thiết lập tap mất nhiều thời gian như thiết lập tun.

với tap có nhiều giải pháp về mạng con, tôi thấy mình cách dễ nhất là sử dụng mạng con lớp B. trang web1 (Network1) bằng cách sử dụng 172.22.1.0/16 trang web2 (mạng2) bằng cách sử dụng 172.22.2.0/16 trang web3 bằng cách sử dụng 172.22.3.0/16, v.v.

bạn thiết lập site1 với máy chủ oVPN và để cung cấp cho khách hàng phạm vi ip 172.22.254.2 - 172.22.254.255/16 để bạn có thể có hơn 200 máy khách ovpn (mạng con) mỗi mạng con có thể có hơn 200 máy khách. Làm cho tổng số 40.000 khách hàng bạn có thể xử lý (nghi ngờ oVPN có thể xử lý việc đó nhưng như bạn thấy, việc thiết lập mạng con phù hợp sẽ cung cấp cho bạn nhiều hơn đủ khi bạn cần)

bạn sử dụng một vòi và tất cả các khách hàng cùng nhau như trong một mạng lưới công ty lớn.

Tuy nhiên, nếu mỗi trang web có DHCP riêng và cần có, bạn cần đảm bảo sử dụng ebtables hoặc iptables hoặc dnsmasq để chặn phân phối dhcp. ebtables tuy nhiên sẽ làm chậm hiệu suất. sử dụng dnsmasq dhcp-host = 20: a9: 9b: 22: 33: 44, ví dụ bỏ qua sẽ là một nhiệm vụ lớn để thiết lập trên tất cả các máy chủ dhcp. tuy nhiên, trên phần cứng hiện đại, tác động của ebtables không phải là lớn. chỉ 1 hoặc 2%

chi phí hoạt động của vòi, khoảng 32 đến điều chỉnh, cũng không phải là vấn đề (có thể là trên các mạng không được mã hóa) nhưng trên các mạng được mã hóa, thông thường AES sẽ gây ra sự chậm lại.

Ví dụ, trên wrt3200acm của tôi không được mã hóa, tôi nhận được 360Mbps. Sử dụng mã hóa, nó giảm xuống còn 54-100Mbps tùy thuộc vào loại mã hóa tôi chọn) nhưng openvpn không thực hiện mã hóa trên 1500 và mã hóa thứ 2 trên 32 chi phí. Thay vào đó, nó thực hiện mã hóa 1 lần trên 1500 + 32 đầu.

Vì vậy, tác động ở đây là tối thiểu.

Trên phần cứng cũ, bạn có thể nhận thấy tác động nhiều hơn, nhưng đối với phần cứng hiện đại thì nó thực sự giảm đến mức tối thiểu.

Mã hóa giữa 2 máy ảo có hỗ trợ AES giúp tôi nhận được ovpn của mình với TAP tới 120-150Mbps.

Một số báo cáo bộ định tuyến chuyên dụng VỚI mã hóa phần cứng AES hỗ trợ lên tới 400Mbps! Nhanh hơn 3 lần thì i5-3570k có thể làm được (mà trên hệ thống thử nghiệm của tôi không thể tăng cao hơn 150Mb / giây với 100% sử dụng lõi 1) Đầu khác của tôi: E3-1231 v3, sau đó khoảng 7% sử dụng CPU, khoảng 25% lõi openvpn đang sử dụng đã được sử dụng. Vì vậy, E3 rất có thể có thể tăng kết nối lên gấp 3 đến 4 lần.

vì vậy, bạn có một cái gì đó giữa 360Mbps và 600Mbps với kết nối giữa cpu E3-1231 v3 khi thực hiện nhấn mã AES265, auth SHA256 và ta.key, chứng chỉ tls-crypt tôi cũng đã sử dụng TLS-DHE-RSA-VỚI-AES cao nhất 256-SHA256

Để chỉ ra điều này, với tap: wrt3200acm đạt tới 70-80mbps với mã hóa. i5-3570k đạt 120-150 bằng mã hóa. E3-1231 v3 nhận được ít nhất 360Mb / giây bằng mã hóa (điều này được nội suy từ các phát hiện của tôi với trường hợp 1 và 2 vì tôi không có 2 E3-1231 v3 để thử nghiệm.)

Đây là những phát hiện của tôi dựa trên các bản sao từ windows sang windows sao chép giữa 2 máy khách trong 2 mạng con khác nhau được kết nối bởi openvpn TAP


-1

Nếu sau đó, tại sao những gì, bạn có bao nhiêu? Tôi sẽ sử dụng TAP, một cách rõ ràng vì lý do rằng việc phân lớp các gói tiến hành với độ trễ và mất truyền ít hơn nhiều so với phương pháp này. Tuy nhiên, chỉ với lớp 3, điều này mới ảnh hưởng đến bất kỳ ảnh hưởng rõ ràng nào đến hoạt động của VPN, đáng chú ý là khía cạnh đường hầm và IP nào được phép thông qua và địa chỉ có thể gán. Việc sử dụng UDP có thể giới thiệu một tình huống khác mà bạn sẽ cần phải quyết định đó là con đường tốt nhất để đi cho bạn. Mỗi mạng là khác nhau và yêu cầu một bộ thông số duy nhất. Hi vọng điêu nay co ich.


1
Hơi bối rối. Vui lòng xem xét việc cắt nó ra, giải thích sự khác biệt quan trọng và loại bỏ chúng.
vonbrand
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.