Skip to content

Commit

Permalink
Add vps-setup.sh
Browse files Browse the repository at this point in the history
  • Loading branch information
diev committed Sep 10, 2019
1 parent 7039be5 commit 8a84856
Show file tree
Hide file tree
Showing 5 changed files with 374 additions and 31 deletions.
9 changes: 7 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# История версий

Нумерация версий старается следовать принципам
[семантического версионирования](http://semver.org/lang/ru/) со следующими
[семантического версионирования] со следующими
особенностями в смене трех чисел через точку (`1.2.3`):

1. Когда сильно меняется внешний вид *(требуется новое обучение
пользователей)* или функционал программы *(требуется обратить внимание
администраторов и сделать вдумчивые перенастройки)*;
Expand All @@ -17,6 +18,8 @@
## v1
### 1.0

#### 1.0.4 (2019-09-11): Add vps-setup.sh
- Добавлен скрипт автоматического создания VPN-сервера
#### 1.0.3 (2018-11-15): Add del destinationcache
- Проверена работа с названиями VPN с пробелами
- Добавлено игнорирование регистра букв при сравнении
Expand All @@ -28,5 +31,7 @@
#### 1.0.0 (2018-11-14): Initial release
- Автор программы - *Дмитрий Евдокимов*

*[top](#top)*
*[top]*

[семантического версионирования]: http://semver.org/lang/ru/
[top]: #top
61 changes: 47 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# [Always VPN](http://diev.github.io/Always-VPN)
# [Always VPN]

[![Build status](https://ci.appveyor.com/api/projects/status/bq1u869v35o09nai?svg=true)](https://ci.appveyor.com/project/diev/always-vpn)
[![GitHub Release](https://img.shields.io/github/release/diev/Always-VPN.svg)](https://github.com/diev/Always-VPN/releases/latest)
[![Build status]][appveyor]
[![GitHub Release]][releases]

Use VPN or On ne passe pas!
Интернет или только через VPN, или больше никак!
Expand Down Expand Up @@ -64,13 +64,12 @@ Use VPN or On ne passe pas!
по умолчанию. Чтобы форсировать их использование, в реестр надо добавить
параметр типа *DWORD (32 bit)* со значением **2**:

```
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters\NegotiateDH2048_AES256
```
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters\NegotiateDH2048_AES256

### Шаг 2: Прописывание констант

В файле **always_vpn.cmd** указать две используемые константы:

* название соединения (set vpn=*tunnel*)
* адрес сервера (set ip=*IP*).

Expand Down Expand Up @@ -107,6 +106,7 @@ set vpn=*VPN Tunnel IKEv2*. Регистр значения не имеет. Т
## Прекращение деятельности

При необходимости все отключить, надо:

* *Отключить* выполнение задания в *Планировщике заданий*,
* у статических (чаще кабельных) сетевых адаптеров прописать обратно
их *шлюз по умолчанию*, который удалила эта программа,
Expand All @@ -119,9 +119,7 @@ VPN! В этом ведь и заключается главная задача
Если шлюз по умолчанию на бумажку не записали, то его можно посмотреть
в правой колонке выдачи команды:

```
netsh int ipv4 show route | find "127.0.0.1/32"
```
netsh int ipv4 show route | find "127.0.0.1/32"

где вместо 127.0.0.1 указать *IP* Вашего сервера.

Expand All @@ -130,16 +128,51 @@ netsh int ipv4 show route | find "127.0.0.1/32"
Данный код обрабатывает только IPv4, поскольку и Windows не добавляет
маршрут IPv6 по умолчанию. Это можно сделать командой вида:

```
netsh interface ipv6 add route ::/0 interface=27
```
netsh interface ipv6 add route ::/0 interface=27

где 27 - для примера это наш интерфейс IKEv2.
Или патчить *strongSwan* issue [#817](https://wiki.strongswan.org/issues/817).

## Создание VPN-сервера

Собственно, создание самого сервера осуществляется скриптом `vps-setup.sh`.
Выполняются команды:

cd /tmp
wget https://raw.githubusercontent.com/diev/Always-VPN/master/vps-setup.sh
chmod u+x vps-setup.sh
./vps-setup.sh

Для скачивания также можно использовать сокращенный URL, но тогда с указанием
имени для сохранения файла:

wget https://git.io/JemOz -o vps-setup.sh

## Благодарности

Код скрипта создания сервера основан на проекте [jawj/IKEv2-setup].
Copyright (c) 2015 – 2018 George MacKerron.
Released under the [MIT licence].

## Лицензионное соглашение

Licensed under the [Apache License,
Version 2.0](http://www.apache.org/licenses/LICENSE-2.0 "LICENSE").
Licensed under the [Apache License, Version 2.0].
Вы можете использовать этот код совершенно свободно без всяких ограничений
с моей стороны и без претензий с Вашей.

[Wiki]: https://github.com/diev/Always-VPN/wiki
[Идеи]: https://github.com/diev/Always-VPN/projects/1
[Issues]: https://github.com/diev/Always-VPN/issues
[releases]: https://github.com/diev/Always-VPN/releases/latest

[CHANGELOG]: CHANGELOG.md
[Apache License, Version 2.0]: LICENSE
[MIT licence]: http://opensource.org/licenses/mit-license

[jawj/IKEv2-setup]: https://github.com/jawj/IKEv2-setup
[Always-VPN]: http://diev.github.io/Always-VPN

[appveyor]: https://ci.appveyor.com/project/diev/always-vpn

[Build status]: https://ci.appveyor.com/api/projects/status/bq1u869v35o09nai?svg=true
[GitHub Release]: https://img.shields.io/github/release/diev/Always-VPN.svg
61 changes: 47 additions & 14 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# [Always VPN](http://diev.github.io/Always-VPN)
# [Always VPN]

[![Build status](https://ci.appveyor.com/api/projects/status/bq1u869v35o09nai?svg=true)](https://ci.appveyor.com/project/diev/always-vpn)
[![GitHub Release](https://img.shields.io/github/release/diev/Always-VPN.svg)](https://github.com/diev/Always-VPN/releases/latest)
[![Build status]][appveyor]
[![GitHub Release]][releases]

Use VPN or On ne passe pas!
Интернет или только через VPN, или больше никак!
Expand Down Expand Up @@ -64,13 +64,12 @@ Use VPN or On ne passe pas!
по умолчанию. Чтобы форсировать их использование, в реестр надо добавить
параметр типа *DWORD (32 bit)* со значением **2**:

```
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters\NegotiateDH2048_AES256
```
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters\NegotiateDH2048_AES256

### Шаг 2: Прописывание констант

В файле **always_vpn.cmd** указать две используемые константы:

* название соединения (set vpn=*tunnel*)
* адрес сервера (set ip=*IP*).

Expand Down Expand Up @@ -107,6 +106,7 @@ set vpn=*VPN Tunnel IKEv2*. Регистр значения не имеет. Т
## Прекращение деятельности

При необходимости все отключить, надо:

* *Отключить* выполнение задания в *Планировщике заданий*,
* у статических (чаще кабельных) сетевых адаптеров прописать обратно
их *шлюз по умолчанию*, который удалила эта программа,
Expand All @@ -119,9 +119,7 @@ VPN! В этом ведь и заключается главная задача
Если шлюз по умолчанию на бумажку не записали, то его можно посмотреть
в правой колонке выдачи команды:

```
netsh int ipv4 show route | find "127.0.0.1/32"
```
netsh int ipv4 show route | find "127.0.0.1/32"

где вместо 127.0.0.1 указать *IP* Вашего сервера.

Expand All @@ -130,16 +128,51 @@ netsh int ipv4 show route | find "127.0.0.1/32"
Данный код обрабатывает только IPv4, поскольку и Windows не добавляет
маршрут IPv6 по умолчанию. Это можно сделать командой вида:

```
netsh interface ipv6 add route ::/0 interface=27
```
netsh interface ipv6 add route ::/0 interface=27

где 27 - для примера это наш интерфейс IKEv2.
Или патчить *strongSwan* issue [#817](https://wiki.strongswan.org/issues/817).

## Создание VPN-сервера

Собственно, создание самого сервера осуществляется скриптом `vps-setup.sh`.
Выполняются команды:

cd /tmp
wget https://raw.githubusercontent.com/diev/Always-VPN/master/vps-setup.sh
chmod u+x vps-setup.sh
./vps-setup.sh

Для скачивания также можно использовать сокращенный URL, но тогда с указанием
имени для сохранения файла:

wget https://git.io/JemOz -o vps-setup.sh

## Благодарности

Код скрипта создания сервера основан на проекте [jawj/IKEv2-setup].
Copyright (c) 2015 – 2018 George MacKerron.
Released under the [MIT licence].

## Лицензионное соглашение

Licensed under the [Apache License,
Version 2.0](http://www.apache.org/licenses/LICENSE-2.0 "LICENSE").
Licensed under the [Apache License, Version 2.0].
Вы можете использовать этот код совершенно свободно без всяких ограничений
с моей стороны и без претензий с Вашей.

[Wiki]: {{ site.github.wiki_url }}
[Идеи]: {{ site.github.repository_url }}/projects/1
[Issues]: {{ site.github.issues_url }}
[releases]: {{ site.github.releases_url }}/latest

[CHANGELOG]: {{ site.github.repository_url }}/blob/master/CHANGELOG.md
[Apache License, Version 2.0]: http://www.apache.org/licenses/LICENSE-2.0 "LICENSE"
[MIT licence]: http://opensource.org/licenses/mit-license

[jawj/IKEv2-setup]: https://github.com/jawj/IKEv2-setup
[Always-VPN]: http://diev.github.io/Always-VPN

[appveyor]: https://ci.appveyor.com/project/{{ site.github.repository_nwo }}

[Build status]: https://ci.appveyor.com/api/projects/status/bq1u869v35o09nai?svg=true
[GitHub Release]: https://img.shields.io/github/release/{{ site.github.repository_nwo }}.svg
2 changes: 1 addition & 1 deletion vpn/always_vpn.cmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@echo off
set version=1.0.3
set version=1.0.4
title Always VPN v%version%
color 1B

Expand Down
Loading

0 comments on commit 8a84856

Please sign in to comment.