должен ли я использовать tap или tun для openvpn?

<p>каковы различия между использованием dev tap и dev tun для openvpn? я знаю, что разные режимы не могут взаимодействовать. в чем технические отличия, кроме просто слой 2 против 3 операции. существуют ли разные характеристики производительности или разные уровни накладных расходов. какой режим лучше. какие функциональные возможности доступны исключительно в каждом режиме.</p>

<p>если это нормально для создания vpn на уровне 3 (еще один прыжок между подсетями) - перейдите на tun.</p><p>если вам нужно соединить два сегмента ethernet в двух разных местах - используйте команду tap. в такой конфигурации вы можете иметь компьютеры в одной подсети ip (например, 10.0.0.0/24) на обоих концах vpn, и они смогут напрямую "общаться" друг с другом без каких-либо изменений в своих таблицах маршрутизации. vpn будет действовать как коммутатор ethernet. это может звучать круто и полезно в некоторых случаях, но я бы посоветовал не делать этого, если вам это действительно не нужно. если вы выберете такую настройку моста 2-го уровня - будет немного мусора (то есть широковещательных пакетов), проходящего через ваш vpn.</p><p>при использовании tap у вас будет немного больше накладных расходов - помимо заголовков ip также <a href="https://web.archive.org/web/20140828224859/http://sd.wareonearth.com/~phil/net/overhead/">8b или более</a> заголовки ethernet будут отправляться через туннель (в зависимости от типа вашего трафика - это, возможно, представит больше фрагментация).</p>

<p>я выбрал "tap" при настройке vpn для друга, который владел небольшим бизнесом, потому что его офис использует множество компьютеров под управлением windows, коммерческих принтеров и файлового сервера samba. некоторые из них используют чистый tcp/ip, некоторые, кажется, используют только netbios (и, следовательно, нуждаются в широковещательных пакетах ethernet), а некоторые я даже не уверен.</p><p>если бы я выбрал "tun", я бы, вероятно, столкнулся с множеством сломанных сервисов - множество вещей, которые работали, пока вы находитесь в офисе физически, но потом сломались бы, когда вы уходили за пределы площадки и ваш ноутбук не мог "видеть" устройства в подсети ethernet больше.</p><p>но, выбрав "tap", я говорю vpn, чтобы удаленные машины чувствовали себя точно так же, как они находятся в локальной сети, с широковещательными ethernet-пакетами и необработанными ethernet-протоколами, доступными для связи с принтерами и файловыми серверами, а также для питания их дисплеев сетевого соседства. это прекрасно работает, и я никогда не получаю сообщений о вещах, которые не работают вне офиса!</p>

<p>я всегда настраиваю tun. tap используется в мостовых сетях ethernet в openvpn и представляет беспрецедентный уровень сложности, с которым просто не стоит беспокоиться. обычно, когда требуется установить vpn, она необходима <strong> сейчас </strong>, а сложные развертывания не выполняются быстро.</p><p> <a href="https://community.openvpn.net/openvpn/wiki/faq">openvpn faq</a> и <a href="http://openvpn.net/index.php/open-source/documentation/miscellaneous/76-ethernet-bridging.html">ethernet bridging howto</a> являются <strong> отличными </strong> ресурсами по этой теме.</p>

<p>если вы планируете подключать мобильные (ios или android) устройства с использованием openvpn, то вам следует использовать tun, как в настоящее время tap <a href="https://community.openvpn.net/openvpn/wiki/bridgingandrouting">не поддерживается openvpn</a> на них:</p><blockquote> <p>недостатки tap: ..... не может использоваться с android или ios устройствами</p> </blockquote>

<p>я начал использовать tun, но переключился на tap, так как мне не нравилось использование подсети/30 для <em>каждого</em> пк (мне нужно поддерживать windows). я нашел это расточительным и запутанным.</p><p>затем я обнаружил параметр "топология подсети" на сервере. работает с rc 2.1 (не 2.0), но дает мне все преимущества tun (без мостов, производительности, маршрутизации и т.д.) с удобством одного (последовательного) ip-адреса на (windows) машину.</p>

<p>потому что мне трудно найти простой совет:</p><h3>вы можете использовать tun, если вы просто используете vpn для подключения к <em>интернет</em>.</h3><h3>вам нужно использовать tap, если вы хотите подключиться к <em>фактическая удаленная сеть</em> (принтеры, удаленные рабочие столы и т.д.)</h3>

<p>мои "правила большого пальца"<br> tun - если вам нужен только доступ к ресурсам, подключенным напрямую к серверу openvpn на другом конце, и проблем с windows нет. здесь может помочь немного творчества, так как ресурсы "кажутся" локальными для сервера openvpn. (примерами могут быть подключение cups к сетевому принтеру или общий ресурс samba на другом компьютере, установленном на сервере openvpn.)<br> <br> tap - если вам нужен доступ к нескольким ресурсам (машины, хранилище, принтеры, устройства), подключенным через сеть на другом конце. tap также может потребоваться для определенных приложений windows.<br></p><hr><br><br><br><br><br><i>находятся</i><br><hr><br><br><br><br>

<p>у меня был тот же вопрос несколько лет назад, и я попытался объяснить его в прямом выражении (которого я лично не нашел в других ресурсах) в своем блоге: <a href="http://www.aminutestime.com/blog/articles/an-openvpn-primer/">учебник по openvpn</a> </p><p>надеюсь, это поможет кому-то</p>

<p>настройка tap практически не требует дополнительной работы от человека, который его настраивает.</p><p>конечно, если вы знаете, как настроить tun, но не понимаете, что делаете, и просто следуете учебнику по туннелю, вы будете бороться за настройку tap, но не потому, что это сложнее, а потому, что вы не знаете, что вы делаете. делает. что легко может привести к сетевым конфликтам в среде tap, а затем это выглядит сложнее.</p><p>дело в том, что если вам не нужен учебник, потому что вы знаете, что делаете, настройка tap занимает столько же времени, сколько и настройка tun.</p><p>с помощью tap есть много решений о подсетях, я обнаружил, что проще всего использовать подсеть класса b. site1 (network1), используя 172.22.1.0/16 site2 (network2), используя 172.22.2.0/16 site3, используя 172.22.3.0/16 и т. д.</p><p>вы настраиваете site1 с сервером ovpn и предоставляете клиентам диапазон ip 172.22.254.2 - 172.22.254.255/16, чтобы вы могли иметь более 200 клиентов ovpn (подсетей), каждая подсеть может иметь более 200 клиентов. делает в общей сложности 40 000 клиентов, с которыми вы можете справиться (сомнение в том, что ovpn может с этим справиться, но, как вы видите, настройка правильной подсети даст вам более чем достаточно, как вам, скорее всего, когда-либо понадобится)</p><p>вы используете кран, и все клиенты вместе, как в огромной корпоративной сети.</p><p>если, однако, у каждого сайта есть свой собственный dhcp, и он должен иметь, вы должны убедиться, что вы используете ebtables или iptables или dnsmasq, чтобы заблокировать распространение dhcp, чтобы выйти из строя. однако ebtables снизит производительность. использование dnsmasq dhcp-host = 20: a9: 9b: 22: 33: 44, игнорирование, например, будет огромной задачей для установки на всех серверах dhcp. однако на современном оборудовании влияние ebtables не так велико. только 1 или 2%</p><p>издержки крана, примерно 32 к туну, тоже не такая большая проблема (может быть в незашифрованных сетях), но в зашифрованных сетях обычно aes вызывает замедление.</p><p>например, на моем wrt3200acm в незашифрованном виде я получаю 360 мбит/с. при использовании шифрования она снижается до 54-100 мбит/с в зависимости от того, какой тип шифрования я выберу), но openvpn не выполняет шифрование на 1500 и 2-е шифрование на 32 служебных данных. вместо этого он выполняет однократное шифрование на 1500 + 32 оверхеда.</p><p>таким образом, влияние здесь минимально.</p><p>на старом оборудовании вы можете заметить большее влияние, но на современном оборудовании оно действительно минимально.</p><p>шифрование между двумя виртуальными машинами с поддержкой aes позволяет мне увеличить скорость передачи tap до 120-150 мбит/с.</p><p>некоторые сообщают, что выделенные маршрутизаторы с поддержкой аппаратного шифрования aes достигают 400 мбит/с! в 3 раза быстрее, чем может сделать i5-3570k (что в моей тестовой системе не могло быть выше 150 мбит/с при 100% использования 1 ядра). мой другой конец: e3-1231 v3, тогда было примерно 7% загрузки цп, около использовалось 25% ядра openvpn. так что e3, скорее всего, может увеличить соединение в 3-4 раза.</p><p>так что у вас будет что-то между 360 мбит/с и 600 мбит/с при соединении между процессором e3-1231 v3, выполняющим шифр aes265, аутентификацию sha256 и ta.key, сертификаты tls-шифр. я также использовал самый высокий tls-dhe-rsa-with-aes- 256-sha256</p><p>чтобы указать на это, с tap: wrt3200acm получает до 70-80 мбит/с с шифрованием. i5-3570k добирается до 120-150 с шифрованием. e3-1231 v3 получает не менее 360 мбит/с с шифрованием (это интерполируется из моих выводов в случаях 1 и 2, потому что у меня не было 2 e3-1231 v3 для тестирования.)</p><p>это мои выводы, основанные на копировании окон в окна между двумя клиентами в двух разных подсетях, подключенных через openvpn tap</p>