Настройка сети oracle cloud
Задался целью организовать удаленный доступ к серверу УД, чтоб можно было занимается настройкой УД с работы, ну и с телефона в случае чего зайти.
Создал экземпляр виртуальной машины Ubuntu 20.04. Установил там Wireguard - имеется следующая конфигурация на wg0.conf:
До самой Raspberry Pi еще дело не дошло. Сейчас хотя бы добиться нормального подключения к серверу со всех клиентов, чтоб был интернет, ping между всем клиентами, попасть в локальную сеть.
Почему-то SSH работает. С сайта сканера портов по общедоступному IP вижу открытый 22-й порт TCP, а вот 51820 закрыт. Wireguard по идеи работает, wg show показывает информацию о сервисе, но трафик не бегает и клиенты при подключении не получают данные.
На сервере тут /etc/sysctl.conf раскомментировал net.ipv4.ip_forward=1, сюда /proc/sys/net/ipv4/ip_forward добавил 1.
Думаю, что нужно больше ковыряться в веб-морде самого Oracle Cloud, хотя и тут вроде разрешил все входящие соединения.
Тут есть общедоступный IP-адрес, по которому получаю доступ к виртуальной. машине.
Есть основной виртуальный адаптер с частным IP-адресом 10.0.0.3. Подсеть subnet со следующими параметрами:
Блок CIDR: 10.0.0.0/24
Тип подсети: Региональная
Доступ к подсети: Общедоступная подсеть
Есть еще тут таблица маршрутизации по умолчанию, где у меня есть правила для входящего и исходящего трафика с назначением\источником: 0.0.0.0/0, со всеми IP протоколами и разрешением трафика для всех портов.
В правилах маршрутизации есть еще разные варианты типа адресата, кроме Интернет-шлюз, которые мне не совсем понятны, хоть и читал документацию.
Еще обнаружил возможность резервирования общедоступных IP-адресов, но по сути у меня есть такой для виртуально машины, по которому собственной и подключаюсь через SSH.
В общем если есть идеи, то подскажите куда копать и где может быть затык. Для начала нужно увидеть сканером открытый порт, а далее уже проверять правильно ли настроен WG и т.д.
Под спойлером 7 скриншотов с веб-интерфейса Oracle и терминал виртуальной машины для наглядности, хотел максимально подробно описать ситуацию.
Oracle Cloud Free Tier бесплатный виртуальный сервер VPS и проброс портов
Вот что пишет сама Oracle:
В приложении Oracle Cloud Free Tier можно создать аккаунт Oracle Cloud, в котором Вам будут доступны сервисы Always Free и бесплатная пробная версия Вашего продукта. Вместе с ней доступен бонус в размере 300 долларов США, который Вы можете потратить на тестирование любых доступных сервисов Oracle Cloud Infrastructure. Бонус, как и сама пробная версия, предоставляется на 30 дней. Сервисами Always Free можно пользоваться бессрочно. Сервисы, доступные для бесплатного тестирования, можно использовать, пока Вы не израсходуете сумму бонуса (300 долларов США) или не истекут 30 дней пробного периода (что произойдет раньше).
Часто задаваемые вопросы об Oracle Cloud Free Tier | Oracle Россия и СНГ
Сама регистрация не сказал бы, что простая, но и не сложная. Главное вводить все правдивые данные, а имя фамилию как на карте. Затем указать данные карты. Сначала спишут 0.83 евро. Затем я ждал сутки письма, пришло и как только перешел по ссылке в письме, то списали аж 10 евро, правда и в первом и во втором случаи моментально вернули деньги обратно.
Когда вы попадаете в личный кабинет то видите такую картину:
Все бесплатные услуги помечены соответствующим значком.
Создать виртуальную машину не сложно, но есть нюансы.
Заметьте, это первая особенность Oracle Cloud, на виртуальном сервере не будет белого общедоступного IP адреса. IP адрес будет взят из диапазона 10.0.0.0/16 так как этот диапазон создан по умолчанию. В дебрях настроек можно этот диапазон изменить, но сейчас речь не об этом. Но белый общедоступный IP адрес у вас всетаки будете, но он будет работать через NAT. И нужно будет что делать? правильно пробрасывать порты на NAT сервере. Об этом чуть позже.
Дело в том, что образы Oracle не поддерживают изначально доступ по паролю, только по ключу и если вы его не скачаете, то подключиться к своему виртуальному серверу не сможете. Кстати, откройте ссылку в браузере SSH Key pair тут подробно описано как подключиться к вашей виртуалке с помощью ключа и Putty.
Если не выбрать размер диска, то он будет равен 46Гбайт.
Когда все выбрано смело жмем кнопку CREATE внизу страницы и начнется создание и запуск вашей первой бесплатной виртуально машины в облаке Oracle.
Вот так это будет выглядить:
Первое на что надо обратить внимание, это публичный адрес. Именно по этому адресу можно подключиться к виртуальной машине. Так же есть имя пользователя. А пароль как я уже и говорил только по ключу, который вы должны были скачать на этапе создания VPS.
И все бы хорошо, но как я и говорил, у вас открыт только 22 порт и виртуальный сервер находится за NAT сервером. Что бы попасть на ваш бесплатный виртуальный сервер Oracle по другому порту, например 80 или 443, вам нужно сделать несколько вещей. Первое, жмем на Virtual cloud network (на скрине выше кнопка с лева внизу).
Попадаем в такое меню, где надо выбрать Security List и затем сам лист:
Вот тут и надо разрешить требуемый порт отличный от 22
Но и это еще не все. Вообще все это меню в сервисе Oracle весьма запутанное и парой, что бы сделать элементарные вещи, нужн несколько часов читать документацию.
Дело в том, что оразы, которые Oracle раскатывает содержат включенный фаервол, который тоже блокирует все порты кроме 22. И соответственно нужно еще и в самой виртуалке открыть порт 80. Делается это такой командой:
Только после этого с интернета появится доступ к вашему бесплатному виртуальному серверу Oracle по 80 порту.
Но и это еще не все. Теперь нужно сохранить эти правила в конфигурацию, что бы после перезагрузки они никуда не делись. Для этого нужно добавить в файл /etc/iptables/rules.v4 следующее, но так что бы оно стояло перед REJECT :
Ох и на придумывали же они. ))))
Вот такое вот оно Oracle Cloud Free Tier бесплатный виртуальный сервер VPS и проброс портов.
nikolz
Well-known member
формат putty не соответствует формату ssh оракла.
Поставьте openSSH
потом снова создайте виртуальную машину на оракле
заберите два ключа
---------------------------
С помощью открытого ключа создайте терминал на оракле
------------------------------
поместите оба ключа у себя на компе в папку
Пользователи/ваше имя/.ssh
под именами
id_rsa - секретный
id_rsa.pub - публичный
откройте на компе терминал командной строки
наберите команду
ssh -v имяВашеймашиныНа оракле@IP адрес
например так:
ssh -v [email protected]
В результате получите на терминале компа:
-----------------------------------------------------------------
Microsoft Windows [Version 10.0.19041.630]
(c) Корпорация Майкрософт (Microsoft Corporation), 2020. Все права защищены.
System information as of Sun Nov 22 15:04:22 UTC 2020
System load: 0.16 Processes: 134
Usage of /: 7.4% of 44.97GB Users logged in: 0
Memory usage: 38% IPv4 address for ens3: 10.0.0.13
Swap usage: 2%
.
nikolz
Well-known member
Releases · PowerShell/Win32-OpenSSH
Win32 port of OpenSSH. Contribute to PowerShell/Win32-OpenSSH development by creating an account on GitHub.ildaronii
New member
На "Y" нажимать не стал, закрыл окно крестиком.
Не знаю в чем причина. Может что "OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5" у меня так то Win`10, но сторонний SSH я не ставил просто проверил что клиент SSH на виндовс стоит + добавил и сервер SSH из общей кучи приложений виндовс.
Может причина в том что имя юзера кириллицей и он не находит папку C:\Users\Артур\.ssh.
Что скажите?
ildaronii
New member
debug1: Connection established.
debug1: identity file C:\\Users\\karim/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory - это я так понимаю означает что он не нашёл такой файл или директорию
debug1: identity file C:\\Users\\karim/.ssh/id_rsa-cert type -1 - а это что за файл "id_rsa-cert" требуется?
debug1: key_load_public: No such file or directory
debug1: identity file C:\\Users\\karim/.ssh/id_dsa type -1 - а это что за файл "id_dsa" требуется?
debug1: key_load_public: No such file or directory
debug1: identity file C:\\Users\\karim/.ssh/id_dsa-cert type -1 - а это что за файл "id_dsa-cert" требуется?
debug1: key_load_public: No such file or directory
debug1: identity file C:\\Users\\karim/.ssh/id_ecdsa type -1 - а это что за файл "id_ecdsa-cert" требуется?
debug1: key_load_public: No such file or directory
debug1: identity file C:\\Users\\karim/.ssh/id_ecdsa-cert type -1 - а это что за файл "id_ecdsa-cert" требуется?
debug1: key_load_public: No such file or directory
debug1: identity file C:\\Users\\karim/.ssh/id_ed25519 type -1 - а это что за файл "id_ed25519" требуется?
debug1: key_load_public: No such file or directory
debug1: identity file C:\\Users\\karim/.ssh/id_ed25519-cert type -1 - а это что за файл "id_ed25519-cert" требуется?
debug1: key_load_public: No such file or directory
debug1: identity file C:\\Users\\karim/.ssh/id_xmss type -1 - а это что за файл "id_xmss type" требуется?
debug1: key_load_public: No such file or directory
debug1: identity file C:\\Users\\karim/.ssh/id_xmss-cert type -1 - а это что за файл "id_xmss-cert" требуется?
debug1: Local version string SSH-2.0-OpenSSH_for_Windows_7.7
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.2p1 Ubuntu-4ubuntu0.1
debug1: match: OpenSSH_8.2p1 Ubuntu-4ubuntu0.1 pat OpenSSH* compat 0x04000000
Ну если вводить в проводнике виндовс "C:\\Users\\karim/.ssh" то проводник ругается что не находит ничего, а вот если ввести "C:\Users\karim/.ssh" то выходит в папку .ssh и там лежат мои два фала - "id_rsa" и "id_rsa.pub", а других файлов типа "id_rsa-cert" и прочего там нет.
ildaronii
New member
Если продолжить дальше то будет так:
Are you sure you want to continue connecting (yes/no)? y
debug1: read_passphrase: can't open /dev/tty: No such file or directory
Please type 'yes' or 'no': y
debug1: read_passphrase: can't open /dev/tty: No such file or directory
Please type 'yes' or 'no': y
debug1: read_passphrase: can't open /dev/tty: No such file or directory
Please type 'yes' or 'no': n
debug1: read_passphrase: can't open /dev/tty: No such file or directory
Please type 'yes' or 'no': n
debug1: read_passphrase: can't open /dev/tty: No such file or directory
То есть хоть "y" хоть "n" без разницы.
ildaronii
New member
Releases · PowerShell/Win32-OpenSSH
Win32 port of OpenSSH. Contribute to PowerShell/Win32-OpenSSH development by creating an account on GitHub. Скачал отсюда OpenSSH-Win64. Куда все эти файлы скопировать?nikolz
Well-known member
Когда Вы первый раз подключаетесь к серверу, то вас спрашивают (y/n) чтобы вы подтвердили что да все правильно.
После этого при новом подключении вводите в терминале винды ранее указанную команду и в резульате получаете это:
------------------------
Microsoft Windows [Version 10.0.19041.630]
(c) Корпорация Майкрософт (Microsoft Corporation), 2020. Все права защищены.
System information as of Thu Nov 26 04:17:11 UTC 2020
System load: 0.23 Processes: 130
Usage of /: 7.4% of 44.97GB Users logged in: 0
Memory usage: 38% IPv4 address for ens3: 10.0.0.13
Swap usage: 2%
* Introducing self-healing high availability clustering for MicroK8s!
Super simple, hardened and opinionated Kubernetes for production.
17 updates can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable
*** System restart required ***
Last login: Sun Nov 22 15:04:23 2020 from
ubuntu@instance-20201109-0734:
$
----------------
Вы записали ключи в каталог .ssh?
Рекомендую на виртуальный сервер установить UBUNDU.
Linux оракла у меня на одной из машин упорно не захотел подключаться.
с убундой проблем нет
В данном посте будет рассказано про базовую настройку сети в операционных сетях на базе ОС Linux. Будут рассмотрены следующие вопросы:
- Файлы, в которых прописываются сетевые настройки
- Настройка сети на примере – связь двух виртуальных машин
В Oracle Enterprise Linux есть несколько способов настройки сети. Она производится либо через пользовательские интерфейсы, которые записывают введенные значения в необходимые конфигурационные файлы либо изменения можно вносить напрямую в необходимые конфигурационные файлы. После внесения любых изменений в файл необходимо перезагрузить ОС, либо перезапустить сервис сети (см. ниже), либо отключить сетевой интерфейс, а затем снова включить его, чтобы изменения вступили в силу. В большинстве систем Linux для этой цели можно использовать команды ifdown интерфейс или ifup интерфейс (см. ниже). Все настройки и файлы, описанные ниже, актуальны для операционной системы Oracle Linux 7.
Файлы, в которых прописываются сетевые настройки
Для начала рассмотрим файл /etc/sysconfig/network. В нем описываются сетевые настройки, касающиеся сетевого имени хоста и шлюза по умолчанию. Сетевое имя хоста прописывается в HOSTNAME, шлюз по умолчанию – в GATEWAY. Редактирование всех сетевых файлов должно осуществляться с привилегированными полномочиями (root или sudo).
Далее пример конфигурации адаптера ifcfg-enp0s3 со статическим IP-адресом. Для того, чтобы настроить адаптер ifcfg-enp0s3 для работы со статическим IP-адресом, надо с помощью текстового редактора (например, nano или vi) изменить файл /etc/sysconfig/network-scripts/ifcfg-enp0s3. А именно, добавить строки с указанием нужного IP-адреса, маски подсети, шлюза и DNS (IPADDR, PREFIX, GATEWAY, DNS1). Также, необходимо изменить значение параметра BOOTPROTO с dhcp на none. Параметр BOOTPROTO отвечает за то, как интерфейс получит IP-адрес.
Файл /etc/hosts содержит информацию, помогающую при локальном преобразовании имен.
В файле /etc/resolv.conf находится расположение DNS сервера(ов) для преобразования имен.
После всех настроек, необходимо перезапустить интерфейс, чтобы изменения вступили в силу. Делаем это командами ifdown и ifup.
Альтернативный вариант – перезапуск сервиса сети, отвечающего за сеть:
Далее проверяем новые настройки сети командой ifconfig. Команда выведет на экран несколько интерфейсов, нас интересует только лишь наш enp0s3.
Настройка сети на примере – связь двух виртуальных машин
Далее, настроим сетевое соединение между двумя виртуальными машинами. Для этого необходимо проделать вышеописанные настройки сетевых интерфейсов на двух виртуальных машинах, распределив между ними IP-адреса и маски подсети так, чтобы они оказались в одной логической подсети.
После того, как адресация и интерфейсы машин в ОС настроены, перейдем к настройке непосредственного соединения виртуальных машин через интерфейс гипервизора – в нашем случае, используя настройки Virtual Box.
Как видно по скриншотам ниже, надо переключить тип соединения в режим “Сетевой мост”. Сделав это в настройках обеих машин, они получат возможность увидеть друг друга в сети.
Изменение типа подключения с NAT на Сетевой мост для первой машины.
Изменение типа подключения с NAT на Сетевой мост для второй машины.
Проверка сетевых настроек командой ifconfig.
Проверка связи командой ping. Обе машины видят друг друга в локальной сети.
Читайте также: