- Регистрация
- 25.01.17
- Сообщения
- 763
- Реакции
- 225
- Репутация
- 292
Почему именно на VDS/VPS? Это самый доступный на сегодняшний день хостинг с неограниченными возможностями и недорогой (купить VPN дороже раза в 2, хоть в покупке и есть свои плюсы и довольно таки немалые, но не об этом тема). Поехали:
1. Выбираем хостера с VDS/VPS. Я рекомендую
2. Регистрируемся. ОС выбираем CentOS ибо на нем лучше всего делать VPN
3. Для фёрста просим сразу же активировать TUN и NAT (пишем в билинге что-то типа Активизируйте, пожалуйста, TUN/TAP-устройства для сервера {IP вашего сервера}, а так же включите NAT). Для других хостеров может быть не актуально, поскольку это все может быть включено, но скорей всего - нет
4. Лезем через ssh на сервер. Редактируем /etc/yum.conf. Ищем строчку plugins=1. Если стоит 0 то все нормально, если нет то правим.
5. Командуем
Код:
Соглашаемся на установку. Если же послали куда подальше, то либо не выполнили пункт 4, если не помогло то меняем репозиторий юма
6. Ну вот поставили... Теперь создаем конфигурационные файлы
Код:
7. Редактируем /etc/openvpn/easy-rsa/vars
Код:
8. Создаем ключи
Код:
Будут спрашивать данные для сертификата, лучше отвечать ближе к правде, хотя и не обязательно:
Код:
Аналогично, отвечать нужно на все вопросы. Common name должно быть server. На 2 вопроса отвечать y:
Код:
Создаем ключ шифрования:
Код:
Создаем клиентский сертификат. Если у нас несколько клиентов, то повторяем этот шаг несколько раз, меняя номер клиента. В Common name указываем то же самое что и в параметре запроса (client1 - прим.):
Код:
9. Топаем в /etc/openvpn. И редактируем конфиг openvpn.conf. Итак!!! То чего все так долго ждали!!! Рабочий конфиг сервера
Код:
Если нужно в ручную указывать айпишник для клиента то редактируем файл ipp.txt в директории /etc/openvpn на клиента строчку следующего вида:
Код:
10. Прокидываем нат для выхода на внешку:
Код:
На VPS на базе Virtuozzo вместо первой команды надо выполнить (если не знаете че за хуета то устанавливаем опытным путем... не соединяется со страницами - значит эта хрень стоит ):
Код:
Выполнять нужно либо ту, либо эту комманду... хотя ниче не будет если обе выполнтие... После чего чтоб все вступило в силу выполняем:
Код:
11. Запускаем openvpn
Код:
Либо
Код:
Разницы нет. Если все нормально сделали то выдаст OK
12. Сервак настроили. Теперь настраиваем клиента. Описывать не буду как че делать - выложу один конфиг и какие ключи слить надо. Итак сливаем файлы ca.crt, client01.crt, client01.key (все находятся в /etc/openvpn/easy-rsa/keys). А вот и конфиг клиента для OpenVPN :
Код:
Все... цепляемся и радуемся. Если происходит ситуация, что при загрузке страниц висит ожидание открытия страницы... короче сервак найден, но страницы не грузит то меняем значение mtu (строка tun-mtu) в конфигах как сервака (после изменений перезагрузить не забудьте командой service openvpn restart) так и клиента на меньшее значение, например на 1000. У меня именно такая ситуация была, поскольку сетевое оборудование передавало пакеты меньше 1500, поставив 1000 - я избавился от геморроя ) Кому интересно что такое MTU читайте документацию и учите матанализ.
1. Выбираем хостера с VDS/VPS. Я рекомендую
You must be registered for see links
, поскольку у них поставил не один OpenVPN, да и привык к ним как-то 2. Регистрируемся. ОС выбираем CentOS ибо на нем лучше всего делать VPN
3. Для фёрста просим сразу же активировать TUN и NAT (пишем в билинге что-то типа Активизируйте, пожалуйста, TUN/TAP-устройства для сервера {IP вашего сервера}, а так же включите NAT). Для других хостеров может быть не актуально, поскольку это все может быть включено, но скорей всего - нет
4. Лезем через ssh на сервер. Редактируем /etc/yum.conf. Ищем строчку plugins=1. Если стоит 0 то все нормально, если нет то правим.
5. Командуем
Код:
Код:
# yum install openvpn
6. Ну вот поставили... Теперь создаем конфигурационные файлы
Код:
Код:
# touch /etc/openvpn/openvpn.conf
# mkdir /etc/openvpn/ccd
# mkdir /etc/openvpn/keys
# cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/openssl.cnf /etc/openvpn
# cd /etc/openvpn/easy-rsa
# chmod +x clean-all
# chmod +x build*
7. Редактируем /etc/openvpn/easy-rsa/vars
Код:
Код:
export KEY_COUNTRY=RU
export KEY_PROVINCE=MSK
export KEY_CITY=MOSCOW
export KEY_ORG="OpenVPN-TEST-INSTALLATION"
export KEY_EMAIL="[email protected]"
8. Создаем ключи
Код:
Код:
# cd /etc/openvpn/easy-rsa
# . ./vars
# ./clean-all
Будут спрашивать данные для сертификата, лучше отвечать ближе к правде, хотя и не обязательно:
Код:
Код:
# ./build-ca
Аналогично, отвечать нужно на все вопросы. Common name должно быть server. На 2 вопроса отвечать y:
Код:
Код:
# ./build-key-server server
Создаем ключ шифрования:
Код:
Код:
# ./build-dh
Создаем клиентский сертификат. Если у нас несколько клиентов, то повторяем этот шаг несколько раз, меняя номер клиента. В Common name указываем то же самое что и в параметре запроса (client1 - прим.):
Код:
Код:
# ./build-key client1
9. Топаем в /etc/openvpn. И редактируем конфиг openvpn.conf. Итак!!! То чего все так долго ждали!!! Рабочий конфиг сервера
Код:
Код:
port указываем нужным нам порт
proto tcp
dev tun
local указываем внешний айпишник сервера
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.8.0.1"
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option WINS 10.8.0.1"
keepalive 10 320
tun-mtu 1500
comp-lzo
user nobody
max-clients 10
client-to-client
group nobody
persist-key
persist-tun
mssfix 1450
status /etc/openvpn/openvpn-status.log
log /etc/openvpn/openvpn.log
verb 4
Если нужно в ручную указывать айпишник для клиента то редактируем файл ipp.txt в директории /etc/openvpn на клиента строчку следующего вида:
Код:
Код:
client1,10.8.0.4
10. Прокидываем нат для выхода на внешку:
Код:
Код:
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
На VPS на базе Virtuozzo вместо первой команды надо выполнить (если не знаете че за хуета то устанавливаем опытным путем... не соединяется со страницами - значит эта хрень стоит ):
Код:
Код:
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source IP_АДРЕС_ВАШЕГО_ВДС
Выполнять нужно либо ту, либо эту комманду... хотя ниче не будет если обе выполнтие... После чего чтоб все вступило в силу выполняем:
Код:
Код:
# echo 1 > /proc/sys/net/ipv4/ip_forward
11. Запускаем openvpn
Код:
Код:
# service openvpn start
Либо
Код:
Код:
# /etc/init.d/openvpn start
Разницы нет. Если все нормально сделали то выдаст OK
12. Сервак настроили. Теперь настраиваем клиента. Описывать не буду как че делать - выложу один конфиг и какие ключи слить надо. Итак сливаем файлы ca.crt, client01.crt, client01.key (все находятся в /etc/openvpn/easy-rsa/keys). А вот и конфиг клиента для OpenVPN :
Код:
Код:
client
port указываем порт на котором работаем
dev tun
proto tcp
remote сервак порт
resolv-retry infinite
nobind
route-method exe
route-delay 2
persist-key
persist-tun
mute-replay-warnings
ca "ca.crt"
cert "client2.crt"
key "client2.key"
ping 15
ping-restart 45
ping-timer-rem
tun-mtu 1500
ifconfig 10.8.0.4 255.255.255.0
dhcp-option DNS 10.8.0.1
dhcp-option WINS 10.8.0.1
comp-lzo
ns-cert-type server
cipher BF-CBC
verb 4
mute 20
Все... цепляемся и радуемся. Если происходит ситуация, что при загрузке страниц висит ожидание открытия страницы... короче сервак найден, но страницы не грузит то меняем значение mtu (строка tun-mtu) в конфигах как сервака (после изменений перезагрузить не забудьте командой service openvpn restart) так и клиента на меньшее значение, например на 1000. У меня именно такая ситуация была, поскольку сетевое оборудование передавало пакеты меньше 1500, поставив 1000 - я избавился от геморроя ) Кому интересно что такое MTU читайте документацию и учите матанализ.