vpn — настройка сервера debian

Это список действий для Debian

1. Проверяешь репозитарии /etc/apt/sources.list

Они должны быть примерно такого вида

deb https://ftp.ru.debian.org/debian stable main contrib non-free
deb-src https://ftp.ru.debian.org/debian stable main contrib non-free
deb https://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src https://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb https://security.debian.org/ wheezy/updates main contrib non-free
deb-src https://security.debian.org/ wheezy/updates main contrib non-free

То что было в списке изначально, не позволяло поставить даже самые распространенные программы.

Очень удобный сайт для генерации списков https://debgen.simplylinux.ch/

после записи в файл новых списков нужно выполнить команду

apt-get update для обновления списков дистрибутивов

3. устанавливаем софт

apt-get install openvpn dnsmasq udev vim zip

4. Копируем скрипты генерации RSA из папки с примерами

cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn

5. Переходим в папку куда скопировали скрипты для ключей

cd /etc/openvpn/easy-rsa/2.0/

В файле vars содержатся переменные для ключей, менять их не обязательно, если не хочешь заморачиватся с красотой сертификата

ACHTUNG!!! ниже все команды с учетом того что ты сменил директорию командой cd !

объявим переменные

source ./vars

далее по порядку запускаешь скрипты

./clean-all
./build-ca

после последнего скрипта начнется генерация сертификата, где по ходу генерации можно будет указать переменные которые инициализировались ранее

но это совсем не обязательно

можно везде жать Enter

6. Потом запускаешь скрипт генерации ключа для сервера

./build-key-server server

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

+будет вопрос про подпись ключа

7. Генерируем ключ для клиента

./build-key cli

имя тоже можно указать любое

все тоже самое что и с ключом сервера — пароль, вопрос

8. Генерируем ключ для симметричного шифрования

./build-dh

9. эта команда генерирует ключ для tls

openvpn —genkey —secret keys/ta.key

его есть смысл использовать для защиты от DDOS если соединение идет через UDP, через TCP добавит тормозов. Сгенерировать в любом случае можно, в настройках убирается комментированием строки. Но использовать большого смысла нету.

10. Теперь надо скопировать полученные ключи

они все записались в папку keys

для удобства можно перейти в эту папку

cd keys

копируешь ключи сервера в папку /etc/openvpn/

cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/

ключи для клиента копируй куда удобно

zip -9 client_keys.zip user.crt user.key ca.crt ta.key

11. На всякий смени рабочую папку на корень

cd /

12. Копируем файл базовой настройки сервера в папку /etc/openvpn/

zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

13. открываем файл базовой конфигурации

vim /etc/openvpn/server.conf

Ищешь параметры

port NEW_PORT
proto udp
;proto tcp — so slow
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
push «redirect-gateway def1 bypass-dhcp»
push «dhcp-option DNS 8.8.8.8»
push «dhcp-option DNS 8.8.4.4»
;status openvpn-status.log
;log /var/log/openvpn.log
verb 3
#sndbuf 0 — vpn die
#rcvbuf 0 — vpn die

Можно задать адресацию, порт, путь к залу логов

если надо вырубить логи то ;log /var/log/openvpn.log — закоментированная строка не обрабатывается

14. Останавливаешь сервис vpn

/etc/init.d/openvpn stop

15. Включаешь ip-forwarding

в файле /etc/sysctl.conf раскомментируем строку

net.ipv4.ip_forward=1

потом применим настройки

echo 1 > /proc/sys/net/ipv4/ip_forward

16. открываем

vim /etc/rc.local

вносим изменения

это настройки если у тебя виртуализация openvz (venet0 = eth0, tun0 — vpn [dev tun])

iptables -t nat -A POSTROUTING -o venet0 -j SNAT —to XXX.XXX.XXX.XXX
iptables -A FORWARD -i venet0 -o tun0 -m state —state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT
/etc/init.d/dnsmasq restart
exit 0
XXXXXXX — ip сервера

этот файл отвечает за применение правил iptables при загрузке системы

чтоб не перезагружать систему нужно эти же правила вбить в консоль

17. настраиваем dnsmasquerade

открываем

vim /etc/dnsmasq.conf

ищем строки и раскомментируем, в первой строке второй адрес vpn интерфейса tun0

listen-address=127.0.0.1,10.8.0.1
bind-interfaces

18.

service openvpn restart
service dnsmasq restart

18.2 Отключаем логи в конфиге сервера vim /etc/openvpn/server.conf (если еще нет)

;status openvpn-status.log
;log /var/log/openvpn.log

Сервер готов!!!

19. Клиент

client
dev tun
#proto tcp
proto udp
remote SERVER_IP NEW_PORT
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert cli.crt
key cli.key
comp-lzo
verb 3
tls-auth ta.key 1 # possible make lags, to disable also comment «tls-auth» line in server.conf
#sndbuf 0 — vpn die
#rcvbuf 0 — vpn die

Рейтинг
( Пока оценок нет )
Загрузка ...