Vergleich TUN/TAP – Open. VPN Wiki. Aus Open. VPN Wiki Einleitung Im Moment bietet Open. VPN zwei Netzwerkmodi an: Bridging (TAP- Device) und Routing (TUN- Device). Openvpn Tun Или Tap WindowsВ терминологии компьютерных сетей, TUN и TAP — виртуальные сетевые драйверы ядра. OpenVPN, Ethernet/IP по TCP/UDP; шифрование, компрессия; NeoRouter 7 · Slonax 3G · tinc [1], Ethernet/IPv4/IPv6 по TCP/UDP; . . What are the differences between using dev tap and dev tun for openvpn? I know the different modes cannot inter-operate. What is the . Ключевые слова: linux, freebsd, bridge, ethernet, openvpn, vpn, (найти вида remote w.x.y.z nobind proto udp dev tap tun -mtu 1500 cipher none ping 10. В ряде случаев это может быть связано с тем, что tun/tap интерфейс не установлен по умолчанию на вашем VPS. Для OpenVZ помогут следующие . Emerge net-misc/bridge-utils net-misc/openvpn. При использовании >=sys-apps/baselayout-1.12. Установить там OpenVPN, создать TAP интерфейсы, скопировать со старого сервера ca.crt, server.crt, server.key, dh1024.pem и клиентские конфигурации. Какой тип подключения клиентов? TAP или TUN? Hinweis: Es ist auch möglich mit TAP ein geroutetes VPN Netzwerk zu erzeugen (umgekehrt jedoch nicht, mit TUN kann nicht gebrückt werden). In den Dokumentationen wird (daher) oft Bridging mit TAP gleichgesetzt und TUN mit Routing, da es die gängige Praxis darstellt. Auch dieser Artikel orientiert sich daran. Bridgingmodus Erklärung Dabei werden zwei Netze (egal ob IP, IPX, Net. BEUI, o. a.) miteinander verknüpft, ähnlich wie das zwei Switches/Hubs über den Uplinkport machen. Diese leiten Pakete nicht aufgrund der IP Adressen weiter, sondern arbeiten eine Schicht unter IP (Layer 3 im OSI- Modell), auf Ethernetebene (Layer 2). Open. VPN macht das genauso, dabei muss aber eine Brücke zwischen dem TAP- Device und der internen Netzwerkkarte geschlossen werden. Die Netzwerkkarten werden in den Promiscuous Mode geschaltet, d. Pakete die an der Netzwerkkarte ankommen ans Betriebssystem weitergeleitet. Auch die, die nicht dem Computer selbst gehören. Alle diese Pakete die auf der Netzwerkkarte ankommen, werden auch auf das TAP- Device gesendet. Open. VPN empfängt diese und leitet sie über den (verschlüsselten) Tunnel zur anderen Seite weiter. Der andere Endpunkt B sendet die Pakete auf sein TAP- Device. Sofern dort ebenfalls eine Brücke erstellt wurde, werden die Paket auch ins lokale LAN des Endpunkts B gesendet. In die andere Richtung geht es genauso. Da die Netzwerkkarte und das TAP- Device quasi zu einer neuen virtuellen Netzwerkkarte zusammengeschalten werden, verliert die Netzwerkkarte dabei ihre "Identität", d. IP Adresse mehr. Man kann aber der Brücke eine IP Adresse zuweisen. Was normalerweise auch Sinn macht. Je nach Netzwerkstruktur werden bei dieser VPN- Art, alle Netzwerkpakete zwischen zwei physikalischen Netzen hin- und herreflektiert. Voraussetzungen Im Normalfall muss auf beiden Seiten das selbe Subnet (z. B. 1. 92. 1. 68. 1. Computer sich später erreichen können. Eine IP Adresse im LAN 1 darf nicht bereits im LAN 2 vergeben sein, und umgekehrt. IP Adressen). Nur eine Netzwerkbrücke/Open. VPN pro physikalisches Netzwerk. Spezialfall "Multi- Singlepoint" Viele Leute wollen lediglich mehrere Computer, ohne die LANs dahinter, zusammenschalten. In diesem Fall sucht man sich ein eigenes Subnet aus, das keiner der Clients besitzt. Weiters werden keine Netzwerkbrücken erstellt. Das TAP- Device wird natürlich trotzdem als "virtuelle Netzwerkkarte" verwendet und jeder der Clients bekommt eine IP Adresse in diesem virtuellen Subnet. Dieser Fall wird gerne zum Spielen von LAN- Games verwendet, da es alle Vorteile von Bridging bietet (Multi- Protokoll, Broadcasts), ohne jemanden in das eigene LAN zu lassen. Vorteile Jedes Protokoll, das auf Ethernet läuft, läuft auch durch den Tunnel. Broadcasts werden auch getunnelt. B. für diverse LAN- Spiele). In den meisten Fällen einfacher zu Konfigurieren als Routing, da keine Änderungen an Routingtabellen notwendig sind. Nachteile Firewalling von Brückenpaketen ist schwer möglich. Unter Windows fällt mir keine Firewall ein die das könnte. Unter Linux geht das mit iptables und einem Bridging- Hack). Unschöne" Netzwerktopologie. Bei Diagnose von Netzwerkproblemen sind Netzwerkbrücken schwer als Ursache zu finden. Sie wirken wie schwarze Löcher, die unerwünscht Pakete verschlingen können. Können im schlimmsten Fall sogar Loops erzeugen, wo Pakete im Kreis laufen. Zusammenfassung Briding ist einfacher, wenn man bloß ein paar Computer zusammenhängen möchte über das Internet. Dann kann man sogar auf die Netzwerkbrücke(n) verzichten, sofern die Computer alleine reichen. Die Konfiguration ist eigentlich kein Problem unter Linux und Windows XP. Sofern man aber auf andere Protokolle außer IP verzichten kann, ist wahrscheinlich Routing "sauberer" und besser. Routingmodus Erklärung Das funktioniert nur mit IP- Paketen - andere Protokolle werden nicht unterstützt. Das Prinzip setzt also auf Layer 3 des OSI- Modells auf. Dabei muss jedes Netzwerk, das mit Open. VPN verbunden wird, ein eigenes Subnet besitzen. Weiter existiert noch ein virtuelles Netzwerk, das die VPN- Endpunkte verbindet. Ein Beispiel, 2 Netzwerke, VPN- Server im Multi- Client Modus. LAN 1: 1. 92. 1. 68. VPN- Server- A: 1. LAN 2: 1. 92. 1. 68. VPN- Client- B: 1. VPN- Netzwerk: 1. Das TUN- Device in Open. VPN erzeugt immer 2 virtuelle Endpunkte (Point- To- Point). Im Peer- To- Peer Modus von Open. VPN hätte die Endstelle A 1. Endstelle B 1. 0. Im Multi- Client Modus ist die Sache komplizierter. Open. VPN teilt das virtuelle Netzwerk 1. Netzwerke auf, die aus 4 IP- Adressen bestehen. Subnets/Clients maximal, wobei das erste Subnet für Open. VPN selbst reserviert ist). Die Subnetmask der Netzwerke ist immer 2. Kurzschreibweise /3. Erstes Minisubnet. Netzwerkadresse. 1. VPN- Server. 1. 0. Endpunkt B. 1. 0. Broadcastadresse. Das nächste Minisubnet. Netzwerkadresse. 1. Gateway zu Open. VPN (Endpunkt A). Client- IP (Endpunkt B). Broadcastadresse. Beim Routing muss man einige Sachen beachten; vorallem muss man dafür Sorge tragen, dass die Pakete von jedem Netzwerk richtig ins andere geroutet werden. Jeder Computer muss das andere Netzwerk kennen. Im Normalfall ist es aber einfacher, wenn das Standardgateway (Internetgateway, Router) diese Routen besitzt, dann braucht man nicht die Routing Tabellen von jeden Computer abändern. Im LAN 1 muss dann folgende Route im Standardgateway eingetragen werden. Im LAN 2 folgende. Sofern man noch einzelne Computer hat, die sich ebenfalls per VPN verbinden, muss man noch die Route für das VPN- Netzwerk 1. LAN- Router eintragen. Voraussetzungen Unterschiedliche Netzwerk- Subnets. Auch bei einzelnen Clients sollten die Netzwerkadressen nicht mit den eigenen LAN- Subnets kollidieren. IP Forwarding muss auf dem Open. VPN Server aktiviert sein. Die Firewalls müssen angepasst werden um die neuen IP Adressen durchzulassen. Vorteile Die Bandbreitenbelastung ist niedriger, da der zusätzliche Ethernet- Layer wegfällt. Netzwerktechnisch ist Routing "schöner", es verschwinden keine Pakete in schwarzen Löchern/Netzwerkbrücken. Bei einem Zusammenschluss von zwei oder mehreren Netzwerken müssen keine doppelten Adressen gesucht werden. Logischer bei der Fehlersuche. Nachteile Nur IP- Pakete gehen über den Tunnel. Broadcasts werden nicht geroutet. Einige Spiele könnten da Probleme machen, genauso wie das Browsing ("Netzwerkumgebung") unter Windows. Schwieriger zu Konfigurieren. Zusammenfassung Routing ist logischer und einfacher, wenn man Ahnung von IP- Netzwerken hat. Bei Internetanschlüssen mit geringer Bandbreite oder sogar Trafficlimitierung sollte es bevorzugt werden. Allerdings ist es keine Lösung, die man mal eben implementiert. VPN- мост в локальную сеть / Хабрахабр. Прочитал топик habrahabr. Wiki. Обычно, при создании VPN, используется подключение типа точка- точка к некоторому серверу, либо установка ethernet- туннеля с некоторым сервером, при котором туннелю назначается определённая подсеть. Сервер VPN при этом выполняет функции маршрутизации и фильтрования трафика для доступа к локальной сети через VPN. Данная статья рассматривает другой подход к созданию виртуальной сети, при котором удалённые системы включаются в уже существующую локальную подсеть, а сервер VPN выполняет роль Ethernet- шлюза. При использовании такого подхода мы всё ещё имеем возможность фильтровать трафик на основании способа подключения (например, использовать для локальной сети и для удалённых пользователей разные фильтры), но исключается необходимость настройки маршрутизации, а удалённые машины включаются прямо в локальную сеть, видят ресурсы, даже способны использовать широковещательные посылки вообще без дополнительной настройки. Через такой VPN у них отображаются все компьютеры локальной сети Windows, все доступные XDMCP- серверы при XDMCP broadcast и т. Структура сети и настройка сервера. Предположим, что имеется офис с локальной сетью, используется IP- подсеть 1. В эту локальную сеть мы включим домашних пользователей, то есть они будут иметь адрес из этой же самой подсети. Необходимо убедиться, что у них «дома» не встречается данная подсеть, и что никакие системы в локальной сети не имеют адресов из диапазона, который мы выделим для удалённых пользователей. Поддержка моста в ядре. Для работы такой техники нам нужны некоторые ядерные драйвера. Это универсальный драйвер виртуальных сетевых интерфейсов tun, и драйвер ethernet- моста bridge. Можно включить их в ядро, или собрать модулями. Networking. - > Networking support (NET [=y]). Networking options. Ethenet Bridging (BRIDGE [=y]). Device Drivers. - > Network device support (NETDEVICES [=y]). Universal TUN/TAP device driver support (TUN [=y]). Если они будут собраны модулями, необходимо либо включить автоматическую загрузку модулей в ядре, либо загружать их самому перед установкой VPN- соединения. Программное обеспечение. Для сервера потребуется Open. VPN и утилиты для обслуживания моста. В Gentoo они собираются следующим образом. При использовании > =sys- apps/baselayout- 1. Положим, eth. 2 — интерфейс, к которому подключена локальная сеть, с назначенным адресом 1. Его настройка выглядела примерно так. Поскольку он будет участвовать в мосте, ему не нужно назначать адреса. Также, в мосте участвует вновь создаваемый виртуальный интерфейс tap. Адрес, который использовался eth. Также нужно создать настроечные скрипты для указанных интерфейсов. Достаточно автоматически загружать только интерфейс br. Создание ключей Open. VPN. Мы будем авторизовывать клиентов посредством RSA- ключей Open. SSL. Для упрощения процесса, для нас приготовили несколько init- скриптов. Там есть файл vars, в который мы занесём общие значения. Внизу этого файла мы заполняем наши переменные. KEY_COUNTRY="RU". KEY_PROVINCE="Voronezh oblast". KEY_CITY="Boguchar". KEY_ORG="Organi. Zationn. Ame". export KEY_EMAIL="root@oza. Загружаем переменные из этого файла и строим CA (Certificate Authority). Ключ сервера. Для генерации ключа сервера с именем office, используем следующую команду. На вопрос «Common Name» нужно ответить именем сервера (в нашем случае, office). На два вопроса в конце «Sign the certificate? При необходимости, можно будет создать дополнительные ключи серверов. Например, это могут быть резервные серверы доступа для повышения надёжности системы. Они создаются той же командой, перед ней нужно выполнить source ./vars. Параметры Диффи- Хеллмана. Здесь ничего дополнительно делать не придётся, но придётся подождать. Этот файл нужен только на сервере. Ключи клиентов. Каждому клиенту необходимо выдать свой ключ. Для клиента с именем client ключ создаётся командой. На вопрос о «Common Name» отвечаем именем клиента (в данном случае, client). На два вопроса в конце отвечаем согласием. Сгенерированные ключи и сертификаты передаём клиентам через защищённый канал. При необходимости, можно создавать ещё ключи той же командой. Перед её запуском, необходимо загрузить окружение — выполнить source ./vars. Настройка и запуск сервиса Open. VPN. Для запуска следует использовать следующую конфигурацию сервера (файл /etc/openvpn/openvpn. Этот порт рекомендован IANA для Open. VPN. Можно перевесить на другой порт, но секретность не повысится - он всё равно первым делом признаётся, что он - Open. PVN. # Open. VPN может использовать tcp и udp в качестве транспортного протокола, udp - предпочтительнее. Виртуальный интерфейс, который мы включили в мост, непременно типа tap (через tun нельзя эмулировать Ethernet). Корневой самоподписанный сертификат CA. Сертификат и секретный ключ сервера. Файл с параметрами Диффи- Хеллмана. Если у вас другая длина ключей, исправьте имя : ). Раздавать удалённым клиентам адреса в этой подсети, из этого диапазона (обратите внимание - подсеть задаётся ВСЯ, как в конфиге сетевухи, а диапазон - часть подсети). Разрешить взаимодействие клиентов друг с другом (иначе только с сервером и сегментом сети "за мостом"). Это позволит выдать клиенту тот же самый адрес, какой выдавали раньше, если не занят. Если вы не хотите через DHCP передавать также и адрес DNS- сервера, можно убрать следующую строку. DNS 1. 92. 1. 68. Максимальное число клиентов - имеет смысл сделать меньше или равно числу адресов в диапазоне server- bridge. Подробности относительно этих ключей - в документации Open. VPN. keepalive 1. Не переинициализировать tun и не перечитывать ключ при переподключениях; если работаем не как root, а как nobody, то нам это и не позволят, поэтому либо все эти опции, либо ни одну из них. Каждую минуту Open. VPN сбрасывает сюда текущее состояние (список клиентов, маршруты и т. Очень шумный лог, нормальная работа - verb 2. Ключ office. key должен иметь режим 6. Файлы office. crt и dh. Настройка фильтрования. Поскольку мы используем мост, есть несколько особенностей организации фильтрования пакетов. Например, не все проходящие пакеты могут вообще оказаться IPv. Для настройки работы моста в ядре существует несколько параметров: Переменные этой группы сохраняются в файлах директории /proc/sys/net/bridge/. Их можно также настраивать в /etc/sysctl. Логическая переменная bridge- nf- call- arptables управляет передачей трафика ARP в цепочку FORWARD пакетного фильтра arptables. Установленное по умолчанию значение 1 разрешает передачу пакетов фильтрам, 0 – запрещает. Логическая переменная bridge- nf- call- iptables управляет передачей проходящего через мост трафика IPv. Используемое по умолчанию значение 1 разрешает передачу пакетов для фильтрации, 0 – запрещает. Действие аналогично предыдущему, только оно настраивает передачу трафика IPv. Логическая переменная bridge- nf- filter- vlan- tagged определяет возможность передачи трафика IP/ARP с тегами VLAN программам фильтрации пакетов (arptables/iptables). Значение 1 (установлено по умолчанию) разрешает передачу пакетов с тегами VLAN программам фильтрации, 0 – запрещает. Для фильтрования пакетов, проходящих через мост, используется соответствие physdev, которое различает, с какого и на какой порт моста следует пакет. Включаем его в ядре. Networking. - > Networking support (NET [=y]). Networking options. Network packet filtering framework (Netfilter) (NETFILTER [=y]). Core Netfilter Configuration. Netfilter Xtables support (required for ip_tables) (NETFILTER_XTABLES [=y]). NETFILTER_XT_MATCH_PHYSDEV [=y]). Кроме этого, конфигурация ядра должна разрешать передачу пакетов на фильтрацию iptables, т. IPv. 6). После можете использовать, например, такие правила для фильтрования. A FORWARD - p tcp - -dport 2. ACCEPT. Поподробнее про настройку фильтрации между портами поста можно почитать в статье Building bridges with Linux. Если вы не хотите делать никаких различий между пользователями LAN и пользователями bridged VPN, вы можете просто выключить эти параметры в ядре (они включены по умолчанию). На клиенте необходимо создать конфигурационный файл Open. VPN следующего содержания. Куда подключаться. Можно указать несколько опций remote - будет использоваться первый доступный сервер. Если для server. example. A- записей, между ними выбор производится случайно. Никогда не сдаваться, пытаться подключаться бесконечно. Либо все опции вместе, либо ни одна из них. Если сервер подключен через несколько провайдеров, можно повысить устойчивость сети к отказам. Для этого клиенту нужно прописать несколько опций remote, по одной на сервер, в порядке «сначала предпочтительные». Имена файлов, указанные в параметрах ca, cert и key — это файлы, переданные через защищённый канал. Права доступа к файлу key должны быть установлены в 6. Linux. Необходим universal tun/tap driver в ядре, либо модулем, но загруженный. Gentoo. При установке net- misc/openvpn создаётся скрипт /etc/init. Этот скрипт запускает openvpn с конфигурационным файлом /etc/openvpn/openvpn. Мы, однако, можем поддерживать несколько конфигураций Open. VPN одновременно, если сделаем симлинки вида /etc/init. Open. VPN с конфигурационным файлом /etc/openvpn/network- name. Соответственно, помещаем туда вышеприведённый конфиг, создаём симлинк и кладём скрипты в поддиректорию в /etc/openvpn/. В конфиге прописываем полный путь к ключу и сертификатам. Следите, чтобы имена файлов в конфиге не пересекались, во избежание неприятных эффектов! Запуск и останов сети производятся через управление сервисом /etc/openvpn. Windows. Конфигурационный файл помещается в директорию «C: \Program Files\Open. VPN\config\» с именем вроде «office. Если мы их помещаем в поддиректорию (например, хотим использовать несколько виртуальных сетей и все они предоставили файлы с одинаковым именем ca. Для запуска сетей можно либо запустить сервис Open. VPN (тогда будут запущены все конфигурации *. Запустить Open. VPN с этой конфигурацией». Возможные проблемы. Проверить доступность сервера, если он запущен на TCP, можно обычным telnetом. Windows. Нет свободного виртуального адаптера TAP. Wed Dec 3. 1 1. 0: 4.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2016
Categories |