it-swarm-vi.tech

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

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ế độ.

87
Thomaschaaf

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ó thêm một chút chi phí - ngoài các tiêu đề ip cũng 8B trở lên các tiêu đề ethernet 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 thêm phân mảnh).

76
pQd

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 khi bạn ở 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ảm thấy 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 Network Network 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ở!

24
Brandon Rhodes

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ột 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 thiết 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ề OpenVPN và tài nguyên Ethernet Bridging HOWTO xuất sắc về chủ đề này.

16
jtimberman

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 như TAP hiện tại 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 Android hoặc thiết bị iOS

8
Siegfried Löffler

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
Mikeage

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.)

5
user541686

"Quy tắc của ngón tay cái" của tôi
[.___ 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 ở đầu kia. TAP cũng có thể được yêu cầu cho một số ứng dụng Windows.







chúng tôi





5
oldbaritone

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 thuậ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 đó

4
Steve

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) 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 dải 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 phải 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, 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 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 để kiểm tra.)

Đây là những phát hiện của tôi dựa trên các cửa sổ sao chép vào cửa sổ 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

2
Vincent