- Регистрация
- 23.07.13
- Сообщения
- 951
- Реакции
- 946
- Депозит
- 0
- Покупок
-
8
- Продаж
-
21
Этот расклад помогает работать даже в анально огороженых странах, типа Сирии, Китая, ну и им подобным
Настройка ведется на debian 7.0
1.apt-get update
2.apt-get upgrade
3.убираем из списка источников ебучий диск
nano /etc/apt/sources.list
и ставим # перед deb cdrom:[Debian....
4.apt-get install mc - ставим mc(что-то типа тотал командера)
5. apt-get install openssl - ставим openssl
6. apt-get install openvpn - ставим openvpn
7. cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
7. # редактируем переменные
nano ./vars
там по сути можете менять, или не менять всякую хуйню
8. # инициализируем переменные и чистим папку keys и создаем сертификаты
. ./vars
. ./clean-all
./build-ca # корневой сертификат
./build-key-server server # сертификат сервера
./build-dh # ключ Диффи Хельман
9. # если вы планируете использовать tls-auth, который позволит скрыть порт на котором сервер слушает vpn подключения, защитить от DoS атак и кое чего еще, то выполните еще и эту строку:
openvpn --genkey --secret ./keys/ta.key
10. # перенесем полученные сертификаты в рабочую папку
cp ./keys/ca.crt /etc/openvpn
cp ./keys/server.crt /etc/openvpn
cp ./keys/server.key /etc/openvpn
cp ./keys/dh1024.pem /etc/openvpn
# Для tls-auth, выполните и эту строку:
cp ./keys/ta.key /etc/openvpn
11. # создадим сертификаты пользователей, сколько вам нужно (вводить данные не обязательно, поля будут принимать значения переменных по-умолчанию, достаточно просто нажимать Enter. В конце будет предложено ввести пароль (Enter export password), он защитит ваш сертификат от импорта недоброжелателями, хорошенько его запомните)
./build-key-pkcs12 vpn.android
12. Ваяем конфиг сервака
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
nano /etc/openvpn/server.conf
там меняем
local IP_АДРЕС_ВАШЕГО_СЕРВЕРА
и место tun, ставим tap
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
вот пример с моего тестового сервака
13. # применим настройки файрвола через rc.local, можно сделать иначе, но я остановился на этом варианте.
nano /etc/rc.local
# добавляем строки до exit 0
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# сохраняем
14. nano /etc/sysctl.conf
# раскомментируем строчку
net.ipv4.ip_forward=1
15. reboot
16. ставим ftp серва
apt-get install vsftpd
17. перебрасываем ключи для выгрузки в паблик папку фтп
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/testvpn.p12 /srv/ftp/
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ta.key /srv/ftp/
cd /srv/ftp/
18. chmod -R 755 testvpn.p12
chmod -R 755 ta.key
права для выгрузки ставим
19. удаляем оба ключа из паблик папки фтп
rm -rf /srv/ftp/
20. ребутаем сервак
reboot
21. По умолчанию сервер OpenVPN пишет логи обо всех подключениях в /var/log/daemon.log и /var/log/syslog. Если нужно, логи можно полностью отключить.
21.1.nano /etc/default/openvpn
добавляем
daemon_log_redirect=1
Теперь
21.2 nano /etc/openvpn/server.conf
добавляем
log /dev/null
применяем новую конфигурацию
service openvpn restart
22. делаем конфиг впн для компа
client
dev tap
remote localhost 1194
ping 10
comp-lzo
proto tcp
tls-client
remote-cert-tls server
pkcs12 tapvpn.p12
verb 3
pull
tls-auth ta.key 1
23. И так впн настроен, но сейчас не работает, т.к. конфиги сделаны под работу вместе с stunnel, который мы сейчас и поставим, чтобы скрыть от провайдеров факт использования vpn.
ставим его
apt-get install stunnel4
24. идем в папку с установленным
cd /etc/stunnel/
25. создаем сертификаты в 5 команд
openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
cat server.key > server.pem && cat server.crt >> server.pem
26. начнем править конфиг stunnel
mv /etc/stunnel/stunnel.conf stunnel.conf.old
nano /etc/stunnel/stunnel.conf
27. вставляем данный конфиг и правим ip на свой
sslVersion = all
options = NO_SSLv2
chroot = /var/lib/stunnel4/
; PID is created inside the chroot jail
pid = /stunnel4.pid
; Debugging stuff (may useful for troubleshooting)
; debug = 7
; output = /var/log/stunnel4/stunnel4.log
setuid = stunnel4
setgid = stunnel4
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
compression = zlib
[openvpn]
accept = 111.111.111.111:11446 #тут ебашим любой понравившийся и не занятый порт
connect = 111.111.111.111:1194 # тут прописываем порт на которую повесили OpenVPN
cert=/etc/stunnel/server.pem
key=/etc/stunnel/server.key
28. дальше правим тут
nano /etc/default/stunnel4
меняем:
ENABLED=0
На
ENABLED=1
29. запускаем
/etc/init.d/stunnel4 start
30. рестартим openvpn
31. chkconfig stunnel4 on
32. Идем на сайт stunnel и качаем версию для себя
33. Ставим его, там на отъебись жмем все кнопки, при генерации сертификата опять же на отъебись все делаем, кроме пароля
34. запускаем от администратора
35. правой кнопкой в трее жмем на запущенную софтину и выбираем Edit stunnel.conf
36. вписываем туда данный конфиг (ip на свой не забываем менять.
compression = zlib
[openvpn]
client = yes
accept = 127.0.0.1:1194
connect = 111.111.111.111:11446
37. все) можете скачать wireshark и поснифать траффик в этой связке и без нее, без нее будет палево с типом трафа Openvpn, с ней траф будет TCP
P.S. бывает что openvpn барахлит и не подхватывает настройки ip с сервака, в этом случае перезапустите службу DHCP на компе.
Настройка ведется на debian 7.0
1.apt-get update
2.apt-get upgrade
3.убираем из списка источников ебучий диск
nano /etc/apt/sources.list
и ставим # перед deb cdrom:[Debian....
4.apt-get install mc - ставим mc(что-то типа тотал командера)
5. apt-get install openssl - ставим openssl
6. apt-get install openvpn - ставим openvpn
7. cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
7. # редактируем переменные
nano ./vars
там по сути можете менять, или не менять всякую хуйню
8. # инициализируем переменные и чистим папку keys и создаем сертификаты
. ./vars
. ./clean-all
./build-ca # корневой сертификат
./build-key-server server # сертификат сервера
./build-dh # ключ Диффи Хельман
9. # если вы планируете использовать tls-auth, который позволит скрыть порт на котором сервер слушает vpn подключения, защитить от DoS атак и кое чего еще, то выполните еще и эту строку:
openvpn --genkey --secret ./keys/ta.key
10. # перенесем полученные сертификаты в рабочую папку
cp ./keys/ca.crt /etc/openvpn
cp ./keys/server.crt /etc/openvpn
cp ./keys/server.key /etc/openvpn
cp ./keys/dh1024.pem /etc/openvpn
# Для tls-auth, выполните и эту строку:
cp ./keys/ta.key /etc/openvpn
11. # создадим сертификаты пользователей, сколько вам нужно (вводить данные не обязательно, поля будут принимать значения переменных по-умолчанию, достаточно просто нажимать Enter. В конце будет предложено ввести пароль (Enter export password), он защитит ваш сертификат от импорта недоброжелателями, хорошенько его запомните)
./build-key-pkcs12 vpn.android
12. Ваяем конфиг сервака
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
nano /etc/openvpn/server.conf
там меняем
local IP_АДРЕС_ВАШЕГО_СЕРВЕРА
и место tun, ставим tap
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
вот пример с моего тестового сервака
13. # применим настройки файрвола через rc.local, можно сделать иначе, но я остановился на этом варианте.
nano /etc/rc.local
# добавляем строки до exit 0
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# сохраняем
14. nano /etc/sysctl.conf
# раскомментируем строчку
net.ipv4.ip_forward=1
15. reboot
16. ставим ftp серва
apt-get install vsftpd
17. перебрасываем ключи для выгрузки в паблик папку фтп
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/testvpn.p12 /srv/ftp/
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ta.key /srv/ftp/
cd /srv/ftp/
18. chmod -R 755 testvpn.p12
chmod -R 755 ta.key
права для выгрузки ставим
19. удаляем оба ключа из паблик папки фтп
rm -rf /srv/ftp/
20. ребутаем сервак
reboot
21. По умолчанию сервер OpenVPN пишет логи обо всех подключениях в /var/log/daemon.log и /var/log/syslog. Если нужно, логи можно полностью отключить.
21.1.nano /etc/default/openvpn
добавляем
daemon_log_redirect=1
Теперь
21.2 nano /etc/openvpn/server.conf
добавляем
log /dev/null
применяем новую конфигурацию
service openvpn restart
22. делаем конфиг впн для компа
client
dev tap
remote localhost 1194
ping 10
comp-lzo
proto tcp
tls-client
remote-cert-tls server
pkcs12 tapvpn.p12
verb 3
pull
tls-auth ta.key 1
23. И так впн настроен, но сейчас не работает, т.к. конфиги сделаны под работу вместе с stunnel, который мы сейчас и поставим, чтобы скрыть от провайдеров факт использования vpn.
ставим его
apt-get install stunnel4
24. идем в папку с установленным
cd /etc/stunnel/
25. создаем сертификаты в 5 команд
openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
cat server.key > server.pem && cat server.crt >> server.pem
26. начнем править конфиг stunnel
mv /etc/stunnel/stunnel.conf stunnel.conf.old
nano /etc/stunnel/stunnel.conf
27. вставляем данный конфиг и правим ip на свой
sslVersion = all
options = NO_SSLv2
chroot = /var/lib/stunnel4/
; PID is created inside the chroot jail
pid = /stunnel4.pid
; Debugging stuff (may useful for troubleshooting)
; debug = 7
; output = /var/log/stunnel4/stunnel4.log
setuid = stunnel4
setgid = stunnel4
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
compression = zlib
[openvpn]
accept = 111.111.111.111:11446 #тут ебашим любой понравившийся и не занятый порт
connect = 111.111.111.111:1194 # тут прописываем порт на которую повесили OpenVPN
cert=/etc/stunnel/server.pem
key=/etc/stunnel/server.key
28. дальше правим тут
nano /etc/default/stunnel4
меняем:
ENABLED=0
На
ENABLED=1
29. запускаем
/etc/init.d/stunnel4 start
30. рестартим openvpn
31. chkconfig stunnel4 on
32. Идем на сайт stunnel и качаем версию для себя
33. Ставим его, там на отъебись жмем все кнопки, при генерации сертификата опять же на отъебись все делаем, кроме пароля
34. запускаем от администратора
35. правой кнопкой в трее жмем на запущенную софтину и выбираем Edit stunnel.conf
36. вписываем туда данный конфиг (ip на свой не забываем менять.
compression = zlib
[openvpn]
client = yes
accept = 127.0.0.1:1194
connect = 111.111.111.111:11446
37. все) можете скачать wireshark и поснифать траффик в этой связке и без нее, без нее будет палево с типом трафа Openvpn, с ней траф будет TCP
P.S. бывает что openvpn барахлит и не подхватывает настройки ip с сервака, в этом случае перезапустите службу DHCP на компе.