Oracle Cloud
Регистрация
Переходим на сайт регистрации Oracle Cloud Free Tier.
- Выбираем регион, вводим данные.
- Подтверждаем почту.
- Придумываем пароль.
- Придумываем никнейм.
- Выбираем домашний регион. Вот тут нужно выбрать место где будет расположен сервер. Это важно, так как нам нужна та страна откуда можно беспрепятственно попадать на нужные нам ресурсы. Это Европа, я выбираю Германию.
- Придется согласиться с условиями, для продолжения регистрации.
- Далее придется ввести свой адрес
- После чего ввести свой номер телефона
- Далее придется привязать банковскую карту, с неё спишут 1 доллар, для проверки, после чего вернут. К сожалению это обязательно, если прочитать соглашение, то указывается что средства с караты без согласования списываться не будут.
В итоге мы получаем доступ к личному кабинету и приступаем к настройке нашей виртуальной машины.
Настройка виртуальной машины
Так как мы бомжи, то получаем очень слабую виртуальную машину 1 гигабайт оперативной памяти и одно ядро. Но этого как я и говорил, за глаза для vpn.
- Для начала переключим язык на русский. В углу есть значок планеты.
Создание Сети
Переходим в Сети/Вириальные облачные сети;
Здесь нас встречает список сетей. Пустой список;
Будем поднимать свою сеть (Это можно отдать на работу автоматике, при создание ВМ будет выполнено создание подсети автоматически);
Нажимаем Создать VCN, нас встретит окно настроек;
Тут укажем имя сети (нет разницы какое);
БЛОК CIDR IPV4 - мака нашей сети, мне привычно: 192.168.1.0/24;
РАЗРЕШЕНИЕ DNS - установить галочку, все мануалы про неё говорят, вроде она всегда активна;
Нажимаем создать VCN.
Создание подсети IP адресов
В меню Ресурсы, выбираем пункт Подсети, Создание подсети;
В открывшемся окне:
Даём имя подсети, ТИП ПОДСЕТИ - выбираем региональная;
БЛОК CIDR - пропишу 192.168.1.0/28 (Число 28 означает число адресов, 24 - это 256, 28 - это 16);
ДОСТУП К ПОДСЕТИ - Общедоступная подсеть;
Остальные поля заполняем единственно возможным вариантом;
Выбираем Создание подсети.
Создание Интернет-шлюзов
Выбираем в меню Ресурсы Интернет-шлюзы;
Создать интернет-шлюз;
Вводим имя;
Нажимаем создать.
Таблицы маршрутизации
Выбираем в меню Ресурсы пункт Таблицы маршрутизации;
В единственно созданной таблице создадим правило маршрутизации;
ТИП АДРЕСАТА - Интернет-шлюз;
КОНЕЧНЫЙ БЛОК CIDR - 0.0.0.0/0;
ЦЕЛЕВОЙ ИНТЕРНЕТ-ШЛЮЗ - Наш созданный интернет-шлюз;
Добавляем правило.
Списки безопасности
Выбираем в меню Ресурсы пункт Списки безопасности;
Выбираем список и добавляем в него правило:
ИСХОДНЫЙ CIDR - 0.0.0.0/0;
IP-ПРОТОКОЛ - ICMP, готово.
Создание экземпляра ВМ
В меню Oracle Cloud выберем Вычисления, Экземпляры, нас переведут к списку ВМ.
- Выберем Создать экземпляр;
- Присвоим имя, просто название машины;
- Образ и шаблон конфигурации, здесь нужно выбрать какая ОС будет использоваться, я бы рекомендовал Ubuntu;
- В настройка сети убедимся что выбрана наша сеть, и выбран пункт "Назначить общедоступный адрес IPv4";
- Далее можно подгрузить ключ SSH, для удобного доступа к нашей машине.
Всё остальное можно не трогать. Нажимаем создать, произойдет настройка всех параметров. Нас перекинет к окну свойств ВМ.
Мы увидим состояние машины, публичной IP адрес, имя пользователя.
Установка Wireguard на сервер
Работа с ВМ ничем не отличается от работы с обычным ПК с ubuntu server.
Подключение по ssh
Нам нужно попасть на наш сервер через консоль, по протоколу SSH.
Для этого в консоли вводим:
ssh ubuntu@ip адрес сервера
Настройка Ubuntu
Мы в получили доступ к серверу, модно приступать к настройке ubuntu;
Для начала назначим пароли нашим пользователям, для того чтобы можно было и без shh ключа попасть в консоль сервера.
passwd root
Вводим 2 раза пароль, тоже самое и для пользователя ubuntu
passwd ubuntu
Далее можно обновить систему и установить обновления;
apt update && apt -y upgrade
Установим часовой пояс как надо.
timedatectl set-timezone Asia/Omsk
Первичная настройка закончена.
Установка WireGuard
К сожалению я не знаю как настроить виртуальную машину так чтобы можно было выходить в интернет, через WG.
Поэтому я применю скрипт написанный кем то, на Ansible. Этот скрипт устанавливает все под ключ, и это работает.
git clone https://github.com/trailofbits/algo.git
cd algo
sudo apt install -y --no-install-recommends python3-virtualenv
python3 -m virtualenv --python="$(command -v python3)" .env &&
Внутри среды разработки, вводим команды.
source .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt
Отредактируем файл, в нем пропишем название клиента или клиентов, и порт.
nano config.cfg
Запустим скрипт:
./algo
Начинается установка.
What provider would you like to use? - Какого провайдера вы хотели бы использовать?
Ответим:
12
Вы хотите, чтобы клиенты macOS / iOS включали «Подключение по запросу» при подключении к сотовым сетям?
N
Вы хотите, чтобы клиенты macOS / iOS включали «Подключение по запросу» при подключении к Wi-Fi?
N
Вы хотите сохранить ключи (PKI)? (требуется для добавления пользователей в будущем, но менее безопасно)
y
Вы хотите включить блокировку рекламы DNS на этом VPN-сервере?
y
Вы хотите, чтобы у каждого пользователя была собственная учетная запись для SSH-туннелирования?
N
Введите IP-адрес вашего сервера: (или используйте localhost для локальной установки):
localhost
Введите общедоступный IP-адрес или доменное имя вашего сервера: (ВАЖНО! Это используется для проверки сертификата)
Внешний ip сервера
Идет долгая настройка
Готово скрипт отработал.
Конфиг для клиента находим в
nano /root/algo/configs/ip адресс/wireguard/название клиента.conf
Скопируем все от туда, это и будем прописывать в конфиг на роутере. Также можно попробовать этот конфиг проверить на ПК в установленном WG, чтобы проверить все ли хорошо.
С сервером закончили.