pLan Gaming Client

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » pLan Gaming Client » Технические вопросы » параметры OpenVPN


параметры OpenVPN

Сообщений 1 страница 3 из 3

1

http://s48.radikal.ru/i119/1401/d0/2cc3e0204121.png
virtual private network — виртуальная частная сеть

OpenVPN - очень гибкое, удобное, а главное быстрое и безопасное, решение для построения виртуальных частных сетей VPN.
В данной статье я попытаюсь наиболее подробно описать основные команды, используемые в OpenVPN.

Пояснение файла openvpn.conf

1. mode server # указывает программе работать в режиме сервера
2. tls-server # активирует работу Transport Layer Security (криптографический протокол) сервера
3. proto tcp-server # выбираем протокол TCP (если необходим UDP, тогда: proto udp)
4. dev tap # используемый тип интерфейса - L2 туннель (для L3-туннеля: dev tun)
5. port 1200 # указываем порт, по которому будет работать OpenVPN
6. daemon # программа будет работать в режиме демона, если нет в этом необходимости - просто раскомментируйте строку
7. tls-auth /etc/openvpn/keys/ta.key 0 # активирует дополнительный уровень аутентификации
8. ca /etc/openvpn/keys/ca.crt # путь к корневому сертификату
9. cert /etc/openvpn/keys/server.crt # путь к сертификату сервера
10. key /etc/openvpn/keys/server.key # ключ сервера
11. dh /etc/openvpn/keys/dh1024.pem # файл алгоритма Diffie-Hellman
12. client-config-dir /etc/openvpn/ccd # путь к каталогу индивидуальных клиентских конфигураций
13. ifconfig 192.168.10.1 255.255.255.0 # устанавливает виртуальный адрес сервера
14. ifconfig-pool 192.168.10.2 192.168.10.99 # устанавливает диапазон виртуальных адресов для клиентов
15. push "route 192.168.10.0 255.255.255.0 192.168.10.1" # эта команда будет выполняться на клиентских компьютерах, во время инициализации OpenVPN, она будет активировать роутинг так, чтобы клиенты автоматически использовали openvpn-сервер как шлюз для этой подсети
16. duplicate-cn # включает возможность использования одного ключа несколькими клиентами
17. verb 3 # указывает уровень отладки
18. cipher DES-EDE3-CBC # шифрование по алгоритму DES-EDE3-CBC
19. persist-key # будет загружать ключи в режиме persist, то есть их перезагрузка не потребуется в случае разрыва соединения
20. log-append /var/log/openvpn.log # путь к файлу лога
21. persist-tun # активирует работу tun/tap устройств в режиме persist
22. comp-lzo # активирует использование сжатия

Описание команд и параметров OpenVPN

Приведенные в статье команды без -- (двумя знаками дефиса) перед командой должны быть использованы в конфигурационном файле, команды с -- в начале используются только из командной строки. Подробности использования команд и их параметры - man openvpn.

remote < host > - определяет удаленный конец туннеля. Могут использоваться записи IP и DNS.
local < host > - определяет локальный ip или имя хоста, на котором будет работать OpenVPN. Актуально, если на локальной машине несколько адресов.
dev < device > - определяет какой использовать тип устройства tun или tap. Например:
dev tun
или
dev tap
При одном из таких указаний будет использован свободный интерфейс tun или tap. Так же можно явно указывать номер виртуального интрефейса, например tun0.
port < port number > - указывает на каком порту будет работать OpenVPN (локально и удаленно).
proto < proto > - какой протокол будет использоваться. Возможные значения: udp, tcp, tcp-client, tcp-server. С первыми двумя все ясно, а на последних двух остановимся чуть подробнее:
tcp-client - сам пытается установить соединение
tcp-server - только ждет подключений
Примечательно, что с использованием протокола udp VPN будет работать чуть быстрее, чем tcp. Но в плане стабильности работы лучше выбирать tcp (как показывает практика, VPN-соединение более устойчиво)
remote-random - если указана данная опция и в random перечисленно несколько удаленных хостов, то OpenVPN в случайном порядке будет к ним подключаться. Применяется для балансировки нагрузки.
float - позволяет удаленному хосту изменять IP во время работы туннеля. Соединение при этом не разрывается.
ipchange < cmd > - выполняет скрипт или команду указанную в < cmd >, если IP сменился. Пример:
ipchange script-ip.sh
connect-retry < seconds > - пробует переподключиться через указанное время в секундах, если соединение было разорвано.
connect-retry-max < n > - максимальное количество повторов если соединение было разорвано
resolv-retry < seconds > - если OpenVPN не удалось узнать имя удаленного хоста по DNS, то через указанное количество секунд попытаться переподключиться.
lport < port > - указывает на локальный порт для использования OpenVPN
rport < port > - аналогично для удаленного порта. Пример:
rport 8000 - OpenVPN будет пытаться подключится к удаленному порту 8000
nobind - использовать динамический порт для подключения (только для клиента)
shaper < bytes > - указывает скорость передачи данных в байтах для исходящего трафика (только для клиента)
tun-mtu < mtu size > - устанавливает максимальный размер MTU. По умолчанию tun-mtu равен 1500. Использование:
tun-mtu 1200
dev-node < interface name > - устанавливает имя виртуального интерфейса. Например:
dev-node openvpn1
ifconfig - устанавливает локальный IP и маску подсети для туннельного интерфейса. Например:
ifconfig 10.3.0.1 255.255.255.0
server < network > < mask > - автоматически присваивает адреса всем клиентам (DHCP) в указанном диапазоне с маской сети. Данная опция заменяет ifconfig и может работаеть только с TLS-клиентами в режиме TUN, соответственно использование сертификатов обязательно. Например:
server 10.3.0.0 255.255.255.0
Подключившиеся клиенты получат адреса в диапазоне между 10.3.0.1 и 10.3.0.254.
server-bridge < gateway > < mask > < pool > - сервер в режиме моста для TAP устройств. Пример:
server bridge 10.3.0.1 255.255.255.0 10.3.0.128 10.3.0.254
Клиентам будут выданы адреса в диапазоне 10.3.0.128 - 10.3.0.254, в качестве шлюза будет указан 10.3.0.1.
mode server - переключает OpenVPN в режим сервера (начиная с 2-й версии)
mode p2p - данная опция идет по умолчанию.

Опции в режиме сервера

push < options > - передача клиенту конфигурационных параметров. Пример: push "route 192.168.0.0 255.255.255.0"

Аналогично с помощью push клиенту могут передаваться следующие параметры:

route
route-gateway
route-delay
redirect-gateway
inactive
ping, ping-exit, ping-restart
persist-key, persist-tun
comp-lzo
dhcp-option
ip-win32

Последние две опции применимы только для Window-клиентов. Например передадим Windows-клиенту адрес DNS-сервера 11.11.11.11:
push "dhcp-option DNS 11.11.11.11"

comp-lzo - параметр сжатия трафика, идущего через виртуальный туннель. Может принимать значения yes, no, adaptive. Последнее используется по умолчанию.
Например:
comp-lzo yes - принудительно включить сжатие
comp-lzo no - принудительно отключить сжатие
comp-lzo adaptive - адаптивный режим.

Команды и параметры при работе с сертификатами x509 и параметрами шифрования

cipher < alg > - указываем алгоритм шифрования. Например: cipher AES-256-CBC
Рекомендуется использование шифров в режиме CBC (Cipher Block Chaining).

keysize < n > - размер ключа в битах. Например: keysize 128
auth < alg > - алгоритм хэширования. Пример: auth SHA1
df < file > - файл с ключом Диффи-Хелмана
ca < file > - файл сертификата для CA
cert < file > - сертификат локальной машины
key < file > - локальный ключ машины
tls-server - явно указывает, что данный хост является tls-server
tls-client - соответственно tls-client
pkcs12 < file > - указываем файл (PKCS12), который содержит в себе сертификат, ключ и CA в одном файле. Пример: pkcs12 /file
crl-verify < file > - список отозванных сертификатов, т.е. blacklist.

no-replay - отключает защиту OpenVPN от атаки повторного воспроизведения (replay attack). Крайне не рекомендуется отключать!!!
no-iv - отключает использование вектора инициализации шифра (IV). Крайне не рекомендуется отключать!
Последние две опции очень сильно снижают безопасность OpenVPN, крайне не рекомендуется их использование.

secret < file > - включает режим шифрования и аутентификации на статических ключах. В качестве параметра использует заранее сгенерированный, командой --genkey, файл. Например: secret key.txt

Все доступные алгоритмы шифрования можно просмотреть выполнив из командной строки:
openvpn --show-ciphers

Алгоритмы хэширования:
openvpn --show-digests

Показать все доступные TLS-шифры (TLS используется только для шифрования канала управления)
openvpn --show-tls

Показать все доступные крипто-устройства в системе (если такие имеются):
openvpn --show-engines

Для улучшения безопасности рекомендовано запускать все сервисы с минимальными правами. Следующими двумя командами мы укажем с правами какого пользователя и группы будет работать openvpn:
user nobody
group nogroup

Где, соответственно, nobody и nogroup имена пользователя и группы.

Команды для управления маршрутизацией

Обозначение: VPN-хост - удаленная сторона (удаленный хост)

route < network > - устанавливает указанную маршрутизацию на VPN-хосте, после успешного запуска туннеля. Пример:
route 10.0.10.0 255.255.255.252

route-gateway < IP > - устанавливает шлюз на VPN-хосте. Пример: route-gateway 192.168.0.22
После успешного запуска виртуального туннеля клиенту будет задан шлюз 192.168.0.22

route-delay < seconds > - указывает подождать n-секунд перед установкой маршрутов. Пример: route-delay 5
Т.е. через 5 секунд после установки туннеля будут заданы маршруты.

route-up < cmd > - выполнить скрипт или программу < cmd > после установки маршрутов. Пример: route-up /script.sh

redirect-gateway - установить шлюзом по умолчанию удаленный сервер. Т.е. когда удаленный пользователь подключается к нашему серверу, то ему будет задан шлюз по умолчанию на наш сервер.

Команды для управления туннелем

ping < seconds > - указывает отсылать ping на удаленный конец тунеля после указанных n-секунд, если по туннелю не передавался никакой трафик. Пример: ping 10

ping-restart < seconds > - если за указанное время не было получено ни одного пакета с удаленной стороны, то перезапускать туннель. Пример: ping-restart 60 - если в течении 60 секунд не было получено ни одного пакета, то туннель будет перезапущен.

ping-timer-rem - позволяет перезапускать туннель, только когда указан удаленный адрес.
persist-tun - данная опция оставляет без изменения устройства tun/tap при перезапуске OpenVPN.
persist-key - указывает не перечитавать файлы ключей при перезапуске туннеля.

resolv-retry < seconds > - устанавливает время в секундах для запроса об удаленном имени хоста. Актуально только если используется DNS-имя удаленного хоста. Пример: resolv-retry 86400
inactive < seconds > - после n-секунд неактивности устройство TUN/TAP автоматически отключится. Пример: inactive 120

ping-exit < seconds > - если за указанные n-секунд не было получено ни одного пакета, то отключать OpenVPN. Пример: ping-exit 120

keepalive < seconds > < seconds > - является совмещением сразу двух команд - ping и ping-restart. Использует сразу два параметра в секундах, перечисленных через пробел. Пример: keepalive 10 180
Означает следующее: каждые 10 секунд посылать ping на удаленный хост, и, если за 180 секунд не было получено ни одного пакета - то перезапускать туннель.

persist-local-ip < IP > - оставлять неизменными локальный IP адрес и номер порт, если туннель был перезапущен.
persist-remote-ip < IP > - оставлять неизменными удаленный IP адрес и номер порт, если туннель был перезапущен.
persist-remote-ip 192.168.50.1

Методы аутентификации

auth-user-pass-verify < script > < method > - указывается только на серверной стороне.
< script > - путь к скрипту, который будет производить авторизацию. Скрипт должен возвращать 0 если авторизация успешна, и соответственно, 1 если авторизация не успешна.
< method > - метод авторизации, может быть двух типов: via-env и via-file

auth-user-pass < file >- указывается на клиентской стороне. Параметр не обязателен, если он отсутствует то будет предложено ввести пару логин/пароль.
должен содержать имя пользователя и пароль в двух строчках:
username
password

client-cert-not-required - отключает авторизацию по сертификатам.

Скриптинг

up < command >- выполнить команду после запуска устройства TUN/TAP. Пример: up script-up.sh
up-delay < seconds > - подождать n-секунд перед запуском команды указанной в up. Пример: up-delay 5
down < command > - выполнить команду когда интерфейс TUN/TAP выключится. Пример: down script-down.sh
down-pre - выполнить команду, указанную в down перед выключением интерфейса TUN/TAP
up-restart < command > - выполнить команду после каждого реконнекта
route-up < command > - выполнить команду после установки сетевых маршрутов. Пример: route-up script.sh
learn-address < command > - выполнить указанную команду, если ip удаленной стороны изменился.
ipchange < command > - выполнить команду, если ip сервера изменился.
client-connect < command > - выполнить команду, когда клиент подключился.
client-disconnect < command > - выполнить команду, когда клиент отключился.

Логирование

log < file > - указываем лог-файл. Если данный параметр не указан, то весь вывод openvpn будет производиться в stdout.
log-append < file > - дописывать сообщения в лог-файл, а не перезаписывать.
status < file > - указывает путь к статус-файлу, в котором содержится информация о текущих соединениях и информация о интерфейсах
TUN/TAP.

Настройка фаерволла

Добавляем в /etc/rc.local:
echo 1 > /proc/sys/net/ipv4/ip_forward
  iptables -A INPUT -i tun+ -j ACCEPT
  iptables -A FORWARD -i tun+ -j ACCEPT
  iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  iptables -t nat -F POSTROUTING
  iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Вопрос. Чем отличаются виртуальные устройства tun и tap?
Ответ. TUN - туннель, соединение по которому указывается по типу: локальный IP < --- > удаленный IP. Например, при явном указании ifconfig:
--ifconfig 10.3.0.2 10.3.0.1
в этом примере 10.3.0.2 - локальный IP, 10.3.0.1 - удаленный IP
TAP - эмулирует виртуальную ethernet карточку, для которой требуется указывать локальный IP и маску подсети. Например:
--ifconfig 10.3.0.2 255.255.255.0

Вопрос. Для чего нужны файлы serial и index.txt при генерации ключей с easy-rsa?
Отвоет. Эти два файла используются в качестве временной базы данных, используемой при генерации ключей. Должны находиться в том каталоге, где и ключи.

Отредактировано andrey (2014-02-06 11:17:34)

0

2

Поднял OpenVPN сервер на Windows. При создании игрового сервера NFS Underground 2 с таким конфигом:

Код:
#
# The server sends a ping message to the client every PINGTIME seconds
# and the client is expected to respond within PINGWAIT seconds or
# the server considers the connection to be dead and the client is
# logged out.
#
PINGTIME=20
PINGWAIT=30

#
# A client can only be idle for TIMEIDLE minutes before it is
# automatically logged out.  Even if a client is not idle it can
# only be connected for a maximum of TIMEMAXM minutes.
# Either/Both values can be set to 0 to mean that the server will
# not timeout the client.
#
TIMEIDLE=0
TIMEMAXM=0

#
# Limits how many times per second the LAN server will service requests.
# Lowering this number will increase game performance for slower computers
# at the expense of sluggish response time from the server.  Valid range is
# 1-1000.
#
LAN_THROTTLE=30


##------------------------------------------------------------------------
## DO NOT CHANGE ANYTHING BELOW HERE
##------------------------------------------------------------------------


ACCOUNT=1
MASTER=1
SLAVE=1
REDIR=1

#
# This line allows the server to determine on what interface to listen for
# connections.  It can be any publicly routable IP address (this is the case
# even if the host is on a LAN that is isolated from the Internet).  There is
# no communication attempted with the IP address listed here.
#

запуск проходит успешно, но OpenVPN клиент не видит сервер в игре.

Если же поставить конфиг, который используется в pLan по-умолчанию:

Код:
#
# The server sends a ping message to the client every PINGTIME seconds
# and the client is expected to respond within PINGWAIT seconds or
# the server considers the connection to be dead and the client is
# logged out.
#
PINGTIME=20
PINGWAIT=30

#
# A client can only be idle for TIMEIDLE minutes before it is
# automatically logged out.  Even if a client is not idle it can
# only be connected for a maximum of TIMEMAXM minutes.
# Either/Both values can be set to 0 to mean that the server will
# not timeout the client.
#
TIMEIDLE=0
TIMEMAXM=0

#
# Limits how many times per second the LAN server will service requests.
# Lowering this number will increase game performance for slower computers
# at the expense of sluggish response time from the server.  Valid range is
# 1-1000.
#
LAN_THROTTLE=30


##------------------------------------------------------------------------
## DO NOT CHANGE ANYTHING BELOW HERE
##------------------------------------------------------------------------

TRUST=255.255.255.255
TRUST_MATCH=%%bind("0.0.0.0")

ACCOUNT=1
MASTER=1
SLAVE=1
REDIR=1

#
# This line allows the server to determine on what interface to listen for
# connections.  It can be any publicly routable IP address (this is the case
# even if the host is on a LAN that is isolated from the Internet).  There is
# no communication attempted with the IP address listed here.
#
ADDR=%%bind("0.0.0.0")

то при создании сервер зависает на "вход в лобби" и происходит дисконнект.


используются:
конфиг OpenVPN сервера:

Код:
#################################################
# Sample OpenVPN 2.0 config file for            #
# multi-client server.                          #
#                                               #
# This file is for the server side              #
# of a many-clients <-> one-server              #
# OpenVPN configuration.                        #
#                                               #
# OpenVPN also supports                         #
# single-machine <-> single-machine             #
# configurations (See the Examples page         #
# on the web site for more info).               #
#                                               #
# This config should work on Windows            #
# or Linux/BSD systems.  Remember on            #
# Windows to quote pathnames and use            #
# double backslashes, e.g.:                     #
# "C:\\Program Files\\OpenVPN\\config\\foo.key" #
#                                               #
# Comments are preceded with '#' or ';'         #
#################################################

# Which local IP address should OpenVPN
# listen on? (optional)
;local a.b.c.d

# Which TCP/UDP port should OpenVPN listen on?
# If you want to run multiple OpenVPN instances
# on the same machine, use a different port
# number for each one.  You will need to
# open up this port on your firewall.
port 1097

# TCP or UDP server?
;proto tcp
proto udp

# "dev tun" will create a routed IP tunnel,
# "dev tap" will create an ethernet tunnel.
# Use "dev tap0" if you are ethernet bridging
# and have precreated a tap0 virtual interface
# and bridged it with your ethernet interface.
# If you want to control access policies
# over the VPN, you must create firewall
# rules for the the TUN/TAP interface.
# On non-Windows systems, you can give
# an explicit unit number, such as tun0.
# On Windows, use "dev-node" for this.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
dev tap
;dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel if you
# have more than one.  On XP SP2 or higher,
# you may need to selectively disable the
# Windows firewall for the TAP adapter.
# Non-Windows systems usually don't need this.
dev-node ZVN

# SSL/TLS root certificate (ca), certificate
# (cert), and private key (key).  Each client
# and the server must have their own cert and
# key file.  The server and all clients will
# use the same ca file.
#
# See the "easy-rsa" directory for a series
# of scripts for generating RSA certificates
# and private keys.  Remember to use
# a unique Common Name for the server
# and each of the client certificates.
#
# Any X509 key management system can be used.
# OpenVPN can also use a PKCS #12 formatted key file
# (see "pkcs12" directive in man page).
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.key"  # This file should be kept secret

# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys. 
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"

# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.
# The server will take 10.8.0.1 for itself,
# the rest will be made available to clients.
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
server 192.168.251.0 255.255.255.0

# Maintain a record of client <-> virtual IP address
# associations in this file.  If OpenVPN goes down or
# is restarted, reconnecting clients can be assigned
# the same virtual IP address from the pool that was
# previously assigned.
ifconfig-pool-persist ipp.txt

# Configure server mode for ethernet bridging.
# You must first use your OS's bridging capability
# to bridge the TAP interface with the ethernet
# NIC interface.  Then you must manually set the
# IP/netmask on the bridge interface, here we
# assume 10.8.0.4/255.255.255.0.  Finally we
# must set aside an IP range in this subnet
# (start=10.8.0.50 end=10.8.0.100) to allocate
# to connecting clients.  Leave this line commented
# out unless you are ethernet bridging.
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

# Configure server mode for ethernet bridging
# using a DHCP-proxy, where clients talk
# to the OpenVPN server-side DHCP server
# to receive their IP address allocation
# and DNS server addresses.  You must first use
# your OS's bridging capability to bridge the TAP
# interface with the ethernet NIC interface.
# Note: this mode only works on clients (such as
# Windows), where the client-side TAP adapter is
# bound to a DHCP client.
;server-bridge

# Push routes to the client to allow it
# to reach other private subnets behind
# the server.  Remember that these
# private subnets will also need
# to know to route the OpenVPN client
# address pool (10.8.0.0/255.255.255.0)
# back to the OpenVPN server.
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"

# To assign specific IP addresses to specific
# clients or if a connecting client has a private
# subnet behind it that should also have VPN access,
# use the subdirectory "ccd" for client-specific
# configuration files (see man page for more info).

# EXAMPLE: Suppose the client
# having the certificate common name "Thelonious"
# also has a small subnet behind his connecting
# machine, such as 192.168.40.128/255.255.255.248.
# First, uncomment out these lines:
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Then create a file ccd/Thelonious with this line:
#   iroute 192.168.40.128 255.255.255.248
# This will allow Thelonious' private subnet to
# access the VPN.  This example will only work
# if you are routing, not bridging, i.e. you are
# using "dev tun" and "server" directives.

# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Then add this line to ccd/Thelonious:
#   ifconfig-push 10.9.0.1 10.9.0.2

# Suppose that you want to enable different
# firewall access policies for different groups
# of clients.  There are two methods:
# (1) Run multiple OpenVPN daemons, one for each
#     group, and firewall the TUN/TAP interface
#     for each group/daemon appropriately.
# (2) (Advanced) Create a script to dynamically
#     modify the firewall in response to access
#     from different clients.  See man
#     page for more info on learn-address script.
;learn-address ./script

# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
;push "redirect-gateway def1 bypass-dhcp"

# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses.  CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
client-to-client

# Uncomment this directive if multiple clients
# might connect with the same certificate/key
# files or common names.  This is recommended
# only for testing purposes.  For production use,
# each client should have its own certificate/key
# pair.
#
# IF YOU HAVE NOT GENERATED INDIVIDUAL
# CERTIFICATE/KEY PAIRS FOR EACH CLIENT,
# EACH HAVING ITS OWN UNIQUE "COMMON NAME",
# UNCOMMENT THIS LINE OUT.
;duplicate-cn

# The keepalive directive causes ping-like
# messages to be sent back and forth over
# the link so that each side knows when
# the other side has gone down.
# Ping every 10 seconds, assume that remote
# peer is down if no ping received during
# a 120 second time period.
keepalive 10 120

# For extra security beyond that provided
# by SSL/TLS, create an "HMAC firewall"
# to help block DoS attacks and UDP port flooding.
#
# Generate with:
#   openvpn --genkey --secret ta.key
#
# The server and each client must have
# a copy of this key.
# The second parameter should be '0'
# on the server and '1' on the clients.
tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ta.key" 0 # This file is secret

# Select a cryptographic cipher.
# This config item must be copied to
# the client config file as well.
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES

# Enable compression on the VPN link.
# If you enable it here, you must also
# enable it in the client config file.
comp-lzo

# The maximum number of concurrently connected
# clients we want to allow.
;max-clients 100

# It's a good idea to reduce the OpenVPN
# daemon's privileges after initialization.
#
# You can uncomment this out on
# non-Windows systems.
;user nobody
;group nobody

# The persist options will try to avoid
# accessing certain resources on restart
# that may no longer be accessible because
# of the privilege downgrade.
persist-key
persist-tun

# Output a short status file showing
# current connections, truncated
# and rewritten every minute.
status "C:\\Program Files\\OpenVPN\\log\\openvpn-status.log"

# By default, log messages will go to the syslog (or
# on Windows, if running as a service, they will go to
# the "\Program Files\OpenVPN\log" directory).
# Use log or log-append to override this default.
# "log" will truncate the log file on OpenVPN startup,
# while "log-append" will append to it.  Use one
# or the other (but not both).
log "C:\\Program Files\\OpenVPN\\log\\openvpn.log"
;log-append  openvpn.log

# Set the appropriate level of log
# file verbosity.
#
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 3

# Silence repeating messages.  At most 20
# sequential messages of the same message
# category will be output to the log.
;mute 20

конфиг OpenVPN клиента:

Код:
##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server.     #
#                                            #
# This configuration can be used by multiple #
# clients, however each client should have   #
# its own cert and key files.                #
#                                            #
# On Windows, you might want to rename this  #
# file so it has a .ovpn extension           #
##############################################

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
dev tap
;dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
dev-node ZVN

# Are we connecting to a TCP or
# UDP server?  Use the same setting as
# on the server.
;proto tcp
proto udp

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote 0.0.0.0 1097
;remote my-server-2 1194

# Choose a random host from the remote
# list for load-balancing.  Otherwise
# try hosts in the order specified.
;remote-random

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to
# a specific local port number.
;nobind

# Downgrade privileges after initialization (non-Windows only)
;user nobody
;group nobody

# Try to preserve some state across restarts.
persist-key
persist-tun

# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here.  See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Wireless networks often produce a lot
# of duplicate packets.  Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\client.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\client.key"

# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server".  This is an
# important precaution to protect against
# a potential attack discussed here:
#  http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server".  The build-key-server
# script in the easy-rsa folder will do this.
;ns-cert-type server

# If a tls-auth key is used on the server
# then every client must also have the key.
tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ta.key" 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

Какие маршруты необходимо прописать, чтобы успешно создавался игровой сервер, и OpenVPN клиент мог его видеть, также, как это реализовано в pLan?; и почему игровой сервер не хочет создаваться на OpenVPN интерфейсе?

Отредактировано Brian (2014-02-26 13:45:34)

0

3

http://upload.bbfrm.ru/pixel/b8752f3326042bb66e005b5ca53102a1/1/Гость/server_conf/234497.jpg

http://upload.bbfrm.ru/pixel/111552613d8ba2cd6b80de3711287352/2/Гость/server_conf/234497.jpg

http://upload.bbfrm.ru/pixel/75b2394dbbdd4449a7974ed7482c0e4c/3/Гость/server_conf/234497.jpg

0


Вы здесь » pLan Gaming Client » Технические вопросы » параметры OpenVPN