tun/tap on virtual machine

This forum is for admins who are looking to build or expand their OpenVPN setup.
Forum rules
Please use the [oconf] BB tag for openvpn Configurations. See viewtopic.php?f=30&t=21589 for an example.
Post Reply
mio
OpenVpn Newbie
Posts: 8
Joined: Thu Oct 29, 2020 9:38 am

tun/tap on virtual machine

Post by mio » Sat Oct 31, 2020 7:43 pm

Hi guys. I have small problems starting the service openvpn on virtual machine hyper-v windows 10. Guest system is Ubuntu 20.4.1. I try to check tun with command

Code: Select all

ls -l /dev/net/tun
answer is about

Code: Select all

crw-rw-rw- 1 root root 10 /dev/net/tun
log of server

Code: Select all

Sat Oct 31 22:16:53 2020 us=204500 Current Parameter Settings:
Sat Oct 31 22:16:53 2020 us=204526   config = '/etc/openvpn/server/server_udp.conf'
Sat Oct 31 22:16:53 2020 us=204532   mode = 1
Sat Oct 31 22:16:53 2020 us=204554   persist_config = DISABLED
Sat Oct 31 22:16:53 2020 us=204561   persist_mode = 1
Sat Oct 31 22:16:53 2020 us=204565   show_ciphers = DISABLED
Sat Oct 31 22:16:53 2020 us=204569   show_digests = DISABLED
Sat Oct 31 22:16:53 2020 us=204573   show_engines = DISABLED
Sat Oct 31 22:16:53 2020 us=204576   genkey = DISABLED
Sat Oct 31 22:16:53 2020 us=204580   key_pass_file = '[UNDEF]'
Sat Oct 31 22:16:53 2020 us=204583   show_tls_ciphers = DISABLED
Sat Oct 31 22:16:53 2020 us=204587   connect_retry_max = 0
Sat Oct 31 22:16:53 2020 us=204591 Connection profiles [0]:
Sat Oct 31 22:16:53 2020 us=204595   proto = udp
Sat Oct 31 22:16:53 2020 us=204598   local = '[UNDEF]'
Sat Oct 31 22:16:53 2020 us=204602   local_port = '1194'
Sat Oct 31 22:16:53 2020 us=204606   remote = '[UNDEF]'
Sat Oct 31 22:16:53 2020 us=204609   remote_port = '1194'
Sat Oct 31 22:16:53 2020 us=204613   remote_float = DISABLED
Sat Oct 31 22:16:53 2020 us=204616   bind_defined = DISABLED
Sat Oct 31 22:16:53 2020 us=204620 NOTE: --mute triggered...
Sat Oct 31 22:16:53 2020 us=204627 270 variation(s) on previous 20 message(s) suppressed by --mute
Sat Oct 31 22:16:53 2020 us=204631 OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep  5 2019
Sat Oct 31 22:16:53 2020 us=204639 library versions: OpenSSL 1.1.1f  31 Mar 2020, LZO 2.10
Sat Oct 31 22:16:53 2020 us=240309 Diffie-Hellman initialized with 2048 bit key
Sat Oct 31 22:16:53 2020 us=280628 Outgoing Control Channel Encryption: Cipher 'AES-256-CTR' initialized with 256 bit key
Sat Oct 31 22:16:53 2020 us=280650 Outgoing Control Channel Encryption: Using 256 bit message hash 'SHA256' for HMAC authentication
Sat Oct 31 22:16:53 2020 us=280656 Incoming Control Channel Encryption: Cipher 'AES-256-CTR' initialized with 256 bit key
Sat Oct 31 22:16:53 2020 us=280662 Incoming Control Channel Encryption: Using 256 bit message hash 'SHA256' for HMAC authentication
Sat Oct 31 22:16:53 2020 us=280669 TLS-Auth MTU parms [ L:1621 D:1156 EF:94 EB:0 ET:0 EL:3 ]
Sat Oct 31 22:16:53 2020 us=280976 TUN/TAP device tun1 opened
Sat Oct 31 22:16:53 2020 us=281058 TUN/TAP TX queue length set to 100
Sat Oct 31 22:16:53 2020 us=281076 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Sat Oct 31 22:16:53 2020 us=281089 /sbin/ip link set dev tun1 up mtu 1500
Sat Oct 31 22:16:53 2020 us=282580 /sbin/ip addr add dev tun1 10.10.1.1/24 broadcast 10.10.1.255
Sat Oct 31 22:16:53 2020 us=284263 Data Channel MTU parms [ L:1621 D:1450 EF:121 EB:406 ET:0 EL:3 ]
Sat Oct 31 22:16:53 2020 us=284476 Could not determine IPv4/IPv6 protocol. Using AF_INET
Sat Oct 31 22:16:53 2020 us=284492 Socket Buffers: R=[212992->212992] S=[212992->212992]
Sat Oct 31 22:16:53 2020 us=284502 UDPv4 link local (bound): [AF_INET][undef]:1194
Sat Oct 31 22:16:53 2020 us=284507 UDPv4 link remote: [AF_UNSPEC]
Sat Oct 31 22:16:53 2020 us=284514 GID set to nogroup
Sat Oct 31 22:16:53 2020 us=284521 UID set to nobody
Sat Oct 31 22:16:53 2020 us=284528 MULTI: multi_init called, r=256 v=256
Sat Oct 31 22:16:53 2020 us=284544 IFCONFIG POOL: base=10.10.1.2 size=252, ipv6=0
Sat Oct 31 22:16:53 2020 us=284556 IFCONFIG POOL LIST
Sat Oct 31 22:16:53 2020 us=284573 Initialization Sequence Completed
Sat Oct 31 22:17:07 2020 us=109903 event_wait : Interrupted system call (code=4)
Sat Oct 31 22:17:07 2020 us=110051 TCP/UDP: Closing socket
Sat Oct 31 22:17:07 2020 us=110082 Closing TUN/TAP interface
Sat Oct 31 22:17:07 2020 us=110091 /sbin/ip addr del dev tun1 10.10.1.1/24
RTNETLINK answers: Operation not permitted
Sat Oct 31 22:17:07 2020 us=110957 Linux ip addr del failed: external program exited with error status: 2
Sat Oct 31 22:17:07 2020 us=130639 SIGINT[hard,] received, process exiting
config of server

# Внешний IP-адрес OpenVPN-сервера, на котором слушать запросы
#local 185.159.128.152

# Какой TCP/UDP порт должен слушать OpenVPN?
# Если вы хотите запустить несколько OpenVPN процессов
# на одной машине, используйте различные номера
# портов для каждого процесса. Вы должны
# открыть этот порт в вашем файерволе.
port 1194

# Вид протокола (tcp или udp)
proto udp
;proto tcp

;mode server

#поддерживается в системах, отличных от Windows, улучшает использование вашего ЦП
#при работе с UDP-пакетами, используя неблокирующие операции записи. Это относится только к UDP-туннелям.
;fast-io

# "dev tun" создаст маршрутизируемый IP туннель,
# "dev tap" создаст ethernet туннель.
# Используйте "dev tap0" если вам нужен мост
# и объедините полученный tap0 виртуальный интерфейс
# в режиме моста с вашим ethernet интерфейсом.
# Если вы хотите управлять правами доступа
# через VPN, вы должны создать правила файервола
# для TUN/TAP интерфейса.
# На не-Windows системах, вы можете указать
# явный номер устройствам, как например, tun0.
# В Windows, используйте для этого "dev-node".
# В большинстве систем, VPN не будет работать
# пока вы частично или польностью не отключите
# файервол для TUN/TAP интерфейса.
#Так же можно явно указывать номер виртуального интрефейса, например tun0.
dev tun1
;dev tap

# Расположение сертификатов и ключей
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem

# Виртуальная сеть, которая будет установлена между клиентом и сервером
# Закоментируйте эту строку, если вы используете
# ethernet мост. Смотри man для получения дополнительной информации.
server 10.10.1.0 255.255.255.0

# Укажите хранить соответствие клиент <-> виртуальный IP адрес
# в файле. Если OpenVPN будет остановлен или
# перезапущен, переприсоединившиеся клиенты смогут получить
# тот же виртуальный IP адрес из пула, что был назначен ранее.
ifconfig-pool-persist ipp.txt

# Установите серверный режим для ethernet моста.
# Вы должны сначала в своей ОС настроить мост
# между TAP и NIC интерфейсом.
# Затем вы должны вручную установить
# IP/маску на мост, к примеру 10.8.0.4/255.255.255.0.
# В заключении мы должны установить диапазон IP
# адресов в этой подсети для выделения клиентам
# (начало=10.8.0.50 конец=10.8.0.100).
# Оставьте эту строку закоментированной, если вы
# не используете ethernet мост.
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

# Установите клиенту соответствующие маршруты
# для возможности работать с другими подсетями
# за сервером. Помните, что эти подсети так же
# должны знать маршрут к клиентам
# адресного пула OpenVPN (10.10.10.0/255.255.255.0)
;push "route 10.10.2.0 255.255.255.0"
;push "route 10.10.3.0 255.255.255.0"

# Допустим вы хотите сделать различные права доступа
# на файерволе для различных групп клиентов
# Есть два способв:
# (1) Запустит несколько OpenVPN демонов, по одному на
# каждую группу, и настроить файервол на каждом TUN/TAP
# интерфейсе для каждой группы/демона соответственно.
# (2) (Advanced) Создать скрипт для динамической
# модификации файервола при подключении
# различных клиентов. Смотри man для получения
# дополнительной информации по learn-address скрипту.
;learn-address ./script

# Разрешаем клиентам обмениваться пакетами(по умолчанию клиент видит только сервер)
client-to-client

# Расскомментировать,если используется один ключ/сертификат или одно имя клиента(common name) на несколько клиентов
;duplicate-cn

# Проверяем соединение каждые 10 секунд, если его нет то через 20 секунд переподключаем в режиме server mode
keepalive 10 600

#то же что и keepalive
;inactive 60
;ping 10
;ping-exit 10
;ping-restart 10

# Включаем TLS
#for ovpn 2.5 and higher
#tls-crypt-v2 tls-crypt-v2-server.key
#for ovpn 2.4
tls-crypt ta.key
;tls-timeout 120
tls-server
tls-version-min 1.2
tls-version-max 1.3
#For OpenSSL, the --tls-cipher is used for TLS 1.2 and below. For TLS 1.3 and up, the --tls-ciphersuites setting is used. mbed TLS has no TLS 1.3 support yet and only the --tls-cipher setting is used.
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384
#tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM-SHA384

# шифрование
auth SHA512
cipher AES-256-GCM

# сжатие
;compress lz4-v2
;compress lzo
;push "compress lz4-v2"
;push "compress lzo"

# Максимальное количество клиентов
max-clients 1

# Назначаем пользователя и группу для работы с OpenVPN
user nobody
group nogroup

# Не перечитывать ключи после получения SIGUSR1 или ping-restart
persist-key

# Не закрывать или переоткрывать TUN\TAP устройство, после получения SIGUSR1 или ping-restart
persist-tun

# Вывод краткого файла состояния, показывающего
# текущие соединения, усеченные
# и переписывается каждую минуту.
status /var/log/openvpn/openvpn-status.log

# Логи
# "log" будет обрезать файл журнала при запуске OpenVPN,
# пока "log-append" будет добавляться к нему. Использовать один
# или другой (но не оба).
log /var/log/openvpn/openvpn.log
;log-append /var/log/openvpn/openvpn.log

# Установите необходимый уровень логирования.
# 0 - ничего, за исключением фатальных ошибок
# 4 - подойдет для получения общих сведений
# 5 и 6 пригодяться для отладки проблем соединения
# 9 - максимально возможная информация
verb 4

# Запрещает повтор сообщений. Не более 20
# идущих друг за другом сообщений одного типа
# будут направлены в лог.
mute 20

# весь трафик идет через впн
# local опция в одной беспроводной сети
push "redirect-gateway def1 bypass-dhcp"
;push "redirect-gateway local def1 bypass-dhcp"

# Файл отозванных сертификатов. Разремить, когда такие сертификаты появятся.
;crl-verify /etc/openvpn/crl.pem

# устанавливает виртуальный адрес сервера
;ifconfig 192.168.10.1 255.255.255.0
# устанавливает диапазон виртуальных адресов для клиентов
;ifconfig-pool 192.168.10.2 192.168.10.99

# Топология сети tun только
# Должна быть подсетью (адресация по IP)
# если клиенты Windows v2.0.9 и ниже не должны
# поддерживаться (тогда net30, то есть / 30 для каждого клиента)
# По умолчанию net30 (не рекомендуется)
topology subnet

# Чтобы назначить конкретные IP-адреса для конкретных
# клиенты или если у подключающегося клиента есть личный
# подсеть за ней, которая также должна иметь доступ VPN,
# использовать подкаталог "ccd" для конкретного клиента
# конфигурационные файлы (см. справочную страницу для получения дополнительной информации).
# ПРИМЕР: предположим, клиент
# имеющий сертификат общего наименования "Телониус"
# также имеет небольшую подсеть за подключением
# машина, например 192.168.40.128/255.255.255.248.
# Во-первых, раскомментируйте эти строки:
; client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Затем создайте файл ccd / Thelonious с этой строкой:
# iroute 192.168.40.128 255.255.255.248
# Это позволит частной подсети Thelonious
# доступ к VPN. Этот пример будет работать только
# если вы маршрутизируете, а не соединяете, то есть вы
# используя директивы dev tun и server.
# ПРИМЕР: Предположим, вы хотите дать
# Thelonious фиксированный IP-адрес VPN 10.9.0.1.
# Сначала раскомментируйте эти строки:
; client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Затем добавьте эту строку в ccd / Thelonious:
# ifconfig-push 10.9.0.1 10.9.0.2

# путь к каталогу индивидуальных клиентских конфигураций
client-config-dir /etc/openvpn/ccd

# Некоторые сетевые настройки для Windows
# можно отправить клиентам, например DNS
# или адрес сервера WINS. ПРЕДОСТЕРЕЖЕНИЕ:
# http://openvpn.net/faq.html#dhcpcaveats
# Адреса ниже относятся к общественности
# DNS-серверы предоставлены opendns.com.
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#утечка dns
push "block-outside-dns"

#realtime получить разного рода информацию о текущих клиентских подключениях к серверу
#нужно установить telnet сначала на сервере
;management localhost 7778

#повышаем скорость
;sndbuf 524288
;rcvbuf 524288
;tun-mtu 1472
;fragment 0
;mssfix 1431




I understand the problem with tun / tap and permissions. Maybe someone had this experience and can help me

User avatar
TinCanTech
OpenVPN Protagonist
Posts: 8354
Joined: Fri Jun 03, 2016 1:17 pm

Re: tun/tap on virtual machine

Post by TinCanTech » Sat Oct 31, 2020 7:48 pm

Help you do what ?

mio
OpenVpn Newbie
Posts: 8
Joined: Thu Oct 29, 2020 9:38 am

Re: tun/tap on virtual machine

Post by mio » Sat Oct 31, 2020 7:55 pm

TinCanTech wrote:
Sat Oct 31, 2020 7:48 pm
Help you do what ?
what problem. do nothing.just write here

mio
OpenVpn Newbie
Posts: 8
Joined: Thu Oct 29, 2020 9:38 am

Re: tun/tap on virtual machine

Post by mio » Sun Nov 01, 2020 9:58 pm

Who cares about the solution. It's not about tun/tap. The server file was named server_udp.conf. Working with only server.conf. Because of this, it did not start. He didn't like it yet tls-crypt-v2. put tls-crypt and everything is working

zxun
OpenVpn Newbie
Posts: 9
Joined: Mon Jan 04, 2021 2:26 am

Re: tun/tap on virtual machine

Post by zxun » Mon Jan 04, 2021 10:44 am

Sat Oct 31 22:17:07 2020 us=109903 event_wait : Interrupted system call (code=4)
You stopped the OpenVPN mannually?

Post Reply