Лучший VPS сервер, который мне удалось найти: https://justhost.ru

  • Больше 30 стран локаций
  • Возможность 50 раз сменить страну и ip адрес вашего сервера
  • Все тарифы подходят для VPN и Proxy
  • Установка Mikrotik routerOS и linux из коробки
  • Оплата Российскими картами
  • Стоимость от 79 рублей в месяц за промо тариф

Настройка хоста (LXC)

Отредактируйте конфигурацию LXC-контейнера, указав IP-адрес и шлюз:

sudo nano /var/lib/lxc/[container_name]/config
# Autostart
lxc.start.auto = 1
lxc.start.delay = 5

# Network configuration
lxc.network.type = veth
lxc.network.flags = up
lxc.network.name = eth1
lxc.network.link = br0
lxc.network.ipv4 = XXX.XXX.XXX.XXX/24
lxc.network.ipv4.gateway = XXX.XXX.XXX.XXX

# for openvpn
lxc.mount.entry = /dev/net dev/net none bind,create=dir
lxc.cgroup.devices.allow = c 10:200 rwm

# mount folder
lxc.mount.entry = /home/ /var/lib/lxc/[container_name]/rootfs/home/ none bind 0 0

Настройка контейнера

Получение root-доступа

/bin/su

Настройка часового пояса

dpkg-reconfigure tzdata

Установка необходимых пакетов

apt-get install curl wget nano

Загрузка установочного скрипта OpenVPN

curl -O https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh

Альтернативный источник:

wget http://ruii.ru/scripts/openvpn-install.sh

Запуск установочного скрипта

./openvpn-install.sh

Параметры установки (обязательно)

  • Указать внешний IP-адрес сервера
  • Отключить IPv6
  • Выбрать произвольный порт
  • Протокол: TCP (MikroTik не поддерживает UDP OpenVPN)
  • Выбрать DNS-серверы для клиентов
  • Отключить компрессию (MikroTik не поддерживает)
  • Customize encryption settings: Yes
  • Cipher: AES-256-CBC
  • Key type: RSA
  • Key size: 2048 bits
  • TLS Cipher: ECDHE-RSA-AES-128-GCM-SHA256
  • Diffie-Hellman: 2048 bits
  • Auth digest: SHA-256
  • Enable tls-auth: Yes
  • Создать passwordless client

Файл клиента сохраняется в домашнем каталоге пользователя.


Конфигурация OpenVPN-сервера

nano /etc/openvpn/server.conf
port 12375
proto tcp
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
client-to-client
client-config-dir /etc/openvpn/client/
topology subnet
server XXX.XXX.XXX.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 77.88.8.8"
push "redirect-gateway def1 bypass-dhcp"
dh dh.pem
#tls-auth tls-auth.key 0
crl-verify crl.pem
ca ca.crt
cert server_n6k2pkZrAtbDZA6v.crt
key server_n6k2pkZrAtbDZA6v.key
auth SHA1
cipher AES-256-CBC
ncp-ciphers AES-256-CBC
status /var/log/openvpn/status.log
verb 3
management localhost 7777

Конфигурация шаблона клиента

nano /etc/openvpn/client-template.txt
client
proto tcp-client
remote XXX.XXX.XXX.XXX 12375
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
verify-x509-name server_n6k2pkZrAtbDZA6v name
auth SHA1
auth-nocache
cipher AES-256-CBC
setenv opt block-outside-dns
verb 3

Статическая конфигурация клиента

nano /etc/openvpn/client/[ClientNAME]
ifconfig-push 10.10.50.120 255.255.255.0
push "route 10.10.50.0 255.255.255.0"

Перезапуск и проверка

service openvpn restart

Просмотр подключённых клиентов:

cat /var/log/openvpn/status.log

OVPN-файл клиента доступен в каталоге /home.


Настройка клиента MikroTik

  • Передать .ovpn-файл на MikroTik
  • System → Certificates → Import
  • Импортировать сертификат (KT)
  • PPP → OVPN Client → Dial Out
  • Указать внешний IP, порт, имя пользователя
  • Выбрать сертификат
  • Auth: SHA1
  • Cipher: AES256

TAGS: OpenVPN, MikroTik, LXC, VPN, TCP, Linux