Я настроил сервер openVPN с подсетью топологии.
Он содержит набор подсетей для клиентов в регионе 10.0.X.X, которые маршрутизируются.
В сети сервера есть клиент (не в VPN), который запускает службу, к которой должны получить доступ пользователи VPN.
Поэтому в основном я пытаюсь предоставить разным группам пользователей доступ к веб-сервису. И openvpn, и веб-сервис работают в экземплярах докеров.
ЛЮБАЯ ПОМОЩЬ ИЛИ СОВЕТ ОЧЕНЬ ЦЕННЫ, ТАК КАК Я БОРЮСЬ С ЭТИМ НАЧИНАЯ 2 НЕДЕЛИ СЕЙЧАС
Предпринятые шаги:
Я настраиваю openvpn conf с маршрутами и с клиент-клиентом
сервер 192.168.255.0 255.255.255.0
глагол 3
ключ /etc/openvpn/pki/private/xxxx.key
ca /etc/openvpn/pki/ca.crt
сертификат /etc/openvpn/pki/выпущенный/xxxx.crt
дх /etc/openvpn/pki/dh.pem
tls-аутентификация /etc/openvpn/pki/ta.key
ключевое направление 0
поддержка 10 60
постоянный ключ
упорный тун
прото удп
# Полагайтесь на Docker для сопоставления портов, внутренне всегда 1194
порт 1194
разработчик тун
статус /tmp/openvpn-status.log
топология подсети
клиент-конфигурация-каталог ccd
пользователь никто
группа
комп-лзо нет
клиент-клиент
### Конфигурации маршрута ниже
маршрут 192.168.254.0 255.255.255.0
маршрут 10.0.0.0 255.255.255.0
маршрут 10.0.1.0 255.255.255.0
маршрут 10.0.3.0 255.255.255.0
маршрут 10.0.4.0 255.255.255.0
маршрут 10.0.5.0 255.255.255.0
### Отправка конфигураций ниже
#push "заблокировать внешний DNS"
нажмите "dhcp-опция DNS 8.8.8.8"
нажмите «dhcp-опция DNS 8.8.4.4»
нажать "комп-лзо нет"
нажмите "маршрут 172.17.0.0 255.255.255.0"
Я настроил переадресацию, установив
net.ipv4.ip_forward = 1
в /etc/sysctl.conf
Я настроил правила iptable
-P ВВОД ПРИНЯТЬ
-P ВПЕРЕД ПРИНЯТЬ
-P ВЫВОД ПРИНЯТЬ
-A ВПЕРЕД -s 192.168.255.0/24 -d 172.17.0.0/24 -i tun0 -j ПРИНЯТЬ
-A ВПЕРЕД -j ПРИНЯТЬ
-A FORWARD -s 192.168.255.0/24 -d 10.0.0.0/24 -i tun0 -j ПРИНЯТЬ
Но с IP-адреса в диапазоне серверов (192.168.255.2) я не могу пропинговать или получить доступ к чему-либо (172.17.0.4 или 10.0.0.1)
Трассировка заканчивается на шлюзе
% трассировки 10.0.0.1
traceroute до 10.0.0.1 (10.0.0.1), не более 64 переходов, пакеты по 52 байта
1 192.168.88.1 (192.168.88.1) 12,279 мс 3,251 мс 1,882 мс
2 *
вот еще лог от моего клиента
2022-04-30 06:24:38.983758 *Tunnelblick: macOS 12.3.1 (21E258); Tunnelblick 3.8.5beta05 (сборка 5650)
2022-04-30 06:24:39.446714 * Tunnelblick: попытка подключения к greenhive_master с использованием теневой копии; Установить сервер имен = 769; контрольное соединение
2022-04-30 06:24:39.450786 *Tunnelblick: запуск openvpnstart greenhive_master.tblk 52399 769 0 1 0 34652464 -ptADGNWradsgnw 2.4.10-openssl-1.1.1j
2022-04-30 06:24:39.477788 *Tunnelblick: openvpnstart запускает OpenVPN
2022-04-30 06:24:39.857743 OpenVPN 2.4.10 x86_64-apple-darwin [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [MH/RECVDA] [AEAD] построен 25 февраля 2021 г.
2022-04-30 06:24:39.857947 версии библиотеки: OpenSSL 1.1.1j 16 февраля 2021 г., LZO 2.10
2022-04-30 06:24:39.859534 УПРАВЛЕНИЕ: TCP-сокет прослушивает [AF_INET] 127.0.0.1:52399
2022-04-30 06:24:39.859562 Необходимо удерживать освобождение от интерфейса управления, ожидание...
2022-04-30 06:24:40.078894 * Tunnelblick: журнал openvpnstart:
OpenVPN успешно запущен.
Команда, используемая для запуска OpenVPN (один аргумент на отображаемую строку):
/Applications/Tunnelblick.app/Contents/Resources/openvpn/openvpn-2.4.10-openssl-1.1.1j/openvpn
--демон
--log /Library/Application Support/Tunnelblick/Logs/-SUsers-Srobertk-SLibrary-SApplication Support-STunnelblick-SConfigurations-Sgreenhive_master.tblk-SContents-SResources-Sconfig.ovpn.769_0_1_0_34652464.52399.openvpn.log
--cd /Library/Application Support/Tunnelblick/Users/robertk/greenhive_master.tblk/Contents/Resources
--машиночитаемый-выход
--setenv IV_GUI_VER "net.tunnelblick.tunnelblick 5650 3.8.5beta05 (сборка 5650)"
--глагол 3
--config /Library/Application Support/Tunnelblick/Users/robertk/greenhive_master.tblk/Contents/Resources/config.ovpn
--setenv TUNNELBLICK_CONFIG_FOLDER /Library/Application Support/Tunnelblick/Users/robertk/greenhive_master.tblk/Contents/Resources
--глагол 3
--cd /Library/Application Support/Tunnelblick/Users/robertk/greenhive_master.tblk/Contents/Resources
--management 127.0.0.1 52399 /Library/Application Support/Tunnelblick/geeielmngfddkiiidnhcaaaogadlpdifnpjaepip.mip
--management-query-passwords
--management-hold
--script-безопасность 2
--route-up /Applications/Tunnelblick.app/Contents/Resources/client.up.tunnelblick.sh -9 -d -f -m -w -ptADGNWradsgnw
--down /Applications/Tunnelblick.app/Contents/Resources/client.down.tunnelblick.sh -9 -d -f -m -w -ptADGNWradsgnw
2022-04-30 06:24:40.108790 УПРАВЛЕНИЕ: Клиент подключен из [AF_INET]127.0.0.1:52399
2022-04-30 06:24:40.136505 УПРАВЛЕНИЕ: CMD 'pid'
2022-04-30 06:24:40.136565 УПРАВЛЕНИЕ: CMD «повторить попытку взаимодействия»
2022-04-30 06:24:40.136595 УПРАВЛЕНИЕ: CMD «состояние включено»
2022-04-30 06:24:40.136615 УПРАВЛЕНИЕ: CMD 'состояние'
2022-04-30 06:24:40.136655 УПРАВЛЕНИЕ: CMD 'счетчик байтов 1'
2022-04-30 06:24:40.138068 *Tunnelblick: Установлена связь с OpenVPN
2022-04-30 06:24:40.152091 * Tunnelblick: > ИНФОРМАЦИЯ: интерфейс управления OpenVPN версии 1 — введите «помощь» для получения дополнительной информации
2022-04-30 06:24:40.154175 МЕНЕДЖМЕНТ: CMD 'задержать освобождение'
2022-04-30 06:24:40.155529 ПРИМЕЧАНИЕ. Текущий параметр --script-security может разрешить этой конфигурации вызывать пользовательские сценарии.
2022-04-30 06:24:40.161486 Аутентификация исходящего канала управления: использование 160-битного хэша сообщения «SHA1» для аутентификации HMAC
2022-04-30 06:24:40.161545 Аутентификация входящего канала управления: использование 160-битного хэша сообщения «SHA1» для аутентификации HMAC
2022-04-30 06:24:40.161718 УПРАВЛЕНИЕ: >СОСТОЯНИЕ:1651292680,РЕШЕНИЕ,,,,,,
2022-04-30 06:24:40.259123 TCP/UDP: сохранение недавно использованного удаленного адреса: [AF_INET]xx.xx.xx.xx:1194
2022-04-30 06:24:40.259272 Буферы сокетов: R=[786896->786896] S=[9216->9216]
2022-04-30 06:24:40.259296 Локальная ссылка UDP: (не привязана)
2022-04-30 06:24:40.259311 Удаленная ссылка UDP: [AF_INET]xx.xx.xx.xx:1194
2022-04-30 06:24:40.259354 УПРАВЛЕНИЕ: >СОСТОЯНИЕ: 1651292680, ПОДОЖДИТЕ,,,,,,
2022-04-30 06:24:40.305386 УПРАВЛЕНИЕ: >СОСТОЯНИЕ: 1651292680,AUTH,,,,,,
2022-04-30 06:24:40.305631 TLS: исходный пакет из [AF_INET]xx.xx.xx.xx:1194, sid=06c4262e 884c5cdc
2022-04-30 06:24:40.369493 ПРОВЕРИТЬ ОК: depth=1, CN=greenhive
2022-04-30 06:24:40.370236 ПРОВЕРИТЬ КУ ОК
2022-04-30 06:24:40.370275 Проверка использования расширенного ключа сертификата
2022-04-30 06:24:40.370301 ++ Сертификат имеет EKU (str) Аутентификация веб-сервера TLS, ожидает аутентификацию веб-сервера TLS
2022-04-30 06:24:40.370323 ПРОВЕРИТЬ ЭКУ ОК
2022-04-30 06:24:40.370346 ПРОВЕРИТЬ ОК: глубина = 0, CN = VPN.greenhive.at
2022-04-30 06:24:40.439317 ВНИМАНИЕ: 'link-mtu' используется непоследовательно, local='link-mtu 1541', remote='link-mtu 1542'
2022-04-30 06:24:40.439596 ПРЕДУПРЕЖДЕНИЕ: 'comp-lzo' присутствует в удаленной конфигурации, но отсутствует в локальной конфигурации, remote='comp-lzo'
2022-04-30 06:24:40.439767 Канал управления: TLSv1.3, шифр TLSv1.3 TLS_AES_256_GCM_SHA384, 2048-битный RSA
2022-04-30 06:24:40.439834 [VPN.greenhive.at] Одноранговое соединение, инициированное с помощью [AF_INET]xx.xx.xx.xx:1194
2022-04-30 06:24:41.558800 УПРАВЛЕНИЕ: >СОСТОЯНИЕ:1651292681,GET_CONFIG,,,,,,
2022-04-30 06:24:41.559492 ОТПРАВЛЕННОЕ УПРАВЛЕНИЕ [VPN.greenhive.at]: «PUSH_REQUEST» (статус = 1)
2022-04-30 06:24:41.652600 PUSH: получено управляющее сообщение: «PUSH_REPLY, dhcp-option DNS 8.8.8.8, dhcp-option DNS 8.8.4.4, comp-lzo no, route 172.17.0.0 255.255.255.0, route- шлюз 192.168.255.1, топология подсети, ping 10, ping-restart 60, ifconfig 192.168.255.2 255.255.255.0, идентификатор узла 1, шифр AES-256-GCM'
2022-04-30 06:24:41.652921 ИМПОРТ ПАРАМЕТРОВ: изменены таймеры и/или таймауты
2022-04-30 06:24:41.652958 ИМПОРТ ПАРАМЕТРОВ: параметры сжатия изменены
2022-04-30 06:24:41.652985 ИМПОРТ ПАРАМЕТРОВ: параметры --ifconfig/up изменены
2022-04-30 06:24:41.653008 ИМПОРТ ПАРАМЕТРОВ: параметры маршрута изменены
2022-04-30 06:24:41.653030 ИМПОРТ ПАРАМЕТРОВ: изменены параметры, связанные с маршрутом
2022-04-30 06:24:41.653051 ИМПОРТ ПАРАМЕТРОВ: параметры --ip-win32 и/или --dhcp-option изменены
2022-04-30 06:24:41.653072 ИМПОРТ ПАРАМЕТРОВ: набор одноранговых идентификаторов
2022-04-30 06:24:41.653094 ИМПОРТ ПАРАМЕТРОВ: настройка link_mtu на 1624
2022-04-30 06:24:41.653115 ИМПОРТ ПАРАМЕТРОВ: изменены параметры шифрования канала данных
2022-04-30 06:24:41.653139 Канал данных: используется согласованный шифр "AES-256-GCM"
2022-04-30 06:24:41.653816 Канал исходящих данных: шифр AES-256-GCM инициализирован с 256-битным ключом
2022-04-30 06:24:41.653851 Канал входящих данных: шифр AES-256-GCM инициализирован с 256-битным ключом
2022-04-30 06:24:41.654722 Открытие utun (connect(AF_SYS_CONTROL)): ресурс занят (errno=16)
2022-04-30 06:24:41.654977 Открытие utun (connect(AF_SYS_CONTROL)): ресурс занят (errno=16)
2022-04-30 06:24:41.655036 Открытие utun (connect(AF_SYS_CONTROL)): ресурс занят (errno=16)
2022-04-30 06:24:41.655181 Открытое устройство utun utun3
2022-04-30 06:24:41.655203 УПРАВЛЕНИЕ: >СОСТОЯНИЕ: 1651292681,ASSIGN_IP,,192.168.255.2,,,,
2022-04-30 06:24:41.655217 /sbin/ifconfig utun3 удалить
ifconfig: ioctl (SIOCDIFADDR): невозможно назначить запрошенный адрес
2022-04-30 06:24:41.665109 ПРИМЕЧАНИЕ. Попытка удалить ранее существовавший экземпляр tun/tap -- Нет проблем в случае сбоя
2022-04-30 06:24:41.666818 /sbin/ifconfig utun3 192.168.255.2 192.168.255.2 сетевая маска 255.255.255.0 mtu 1500 вверх
2022-04-30 06:24:41.672645 /sbin/route add -net 192.168.255.0 192.168.255.2 255.255.255.0
добавить сеть 192.168.255.0: шлюз 192.168.255.2
2022-04-30 06:24:41.679237 УПРАВЛЕНИЕ: >СОСТОЯНИЕ: 1651292681,ADD_ROUTES,,,,,,
2022-04-30 06:24:41.679318 /sbin/route add -net 172.17.0.0 192.168.255.1 255.255.255.0
добавить сеть 172.17.0.0: шлюз 192.168.255.1
06:24:41 *Tunnelblick: ************************************************* ****
06:24:41 *Tunnelblick: начало вывода из client.up.tunnelblick.sh
06:24:43 *Tunnelblick: получено из OpenVPN: сервер(ы) имен [ 8.8.8.8 8.8.4.4 ], домен(ы) поиска [ ] и сервер(ы) SMB [ ] и использование доменного имени по умолчанию [ openvpn ]
06:24:44 * Tunnelblick: ПРЕДУПРЕЖДЕНИЕ: Игнорирование имени домена «openvpn», поскольку имя домена было задано вручную, а параметр «-allowChangesToManuallySetNetworkSettings» не указан
06:24:44 * Tunnelblick: ПРЕДУПРЕЖДЕНИЕ. Игнорирование адресов серверов «8.8.8.8 8.8.4.4», поскольку адреса серверов были установлены вручную, а параметр «-allowChangesToManuallySetNetworkSettings» не указан.
06:24:44 * Tunnelblick: установка доменов поиска на «8.8.8.8 8.8.4.4», поскольку домены поиска не были установлены вручную (или разрешено изменять) и не был выбран параметр «Добавлять имя домена к доменам поиска».
06:24:45 *Tunnelblick: Сохранены конфигурации DNS и SMB, чтобы их можно было восстановить.
06:24:45 * Tunnelblick: настройка DNS ServerAddresses «8.8.8.8 8.8.4.4» не изменена (но установлена заново)
06:24:45 * Tunnelblick: настройка DNS SearchDomains изменена с «openvpn» на «8.8.8.8 8.8.4.4».
06:24:45 * Tunnelblick: настройка имени домена DNS изменена с '' на '8.8.8.8 8.8.4.4'
06:24:45 *Tunnelblick: не изменялась настройка SMB NetBIOSName ''
06:24:45 * Tunnelblick: не менялись настройки рабочей группы SMB ''
06:24:45 *Tunnelblick: не изменялась настройка SMB WINSAddresses ''
06:24:45 * Tunnelblick: DNS-серверы «8.8.8.8 8.8.4.4» были установлены вручную
06:24:45 *Tunnelblick: DNS-серверы «8.8.8.8 8.8.4.4» будут использоваться для DNS-запросов, когда VPN активна.
06:24:45 *Tunnelblick: DNS-серверы включают только бесплатные общедоступные DNS-серверы, известные Tunnelblick.
06:24:45 *Tunnelblick: сброс кэша DNS с помощью dscacheutil.
06:24:45 *Tunnelblick: /usr/sbin/discoveryutil отсутствует. Не сбрасывать кеш DNS через discoveryutil
06:24:45 * Tunnelblick: mDNSResponder уведомлен о том, что кеш DNS очищен
06:24:45 * Tunnelblick: не уведомлять mDNSResponderHelper о том, что кеш DNS был очищен, потому что он не запущен
06:24:45 *Tunnelblick: Настройка мониторинга конфигурации системы с помощью изменений в сети.
06:24:45 *Tunnelblick: конец вывода из client.up.tunnelblick.sh
06:24:45 *Tunnelblick: ************************************************ ****
2022-04-30 06:24:45.352811 ПРЕДУПРЕЖДЕНИЕ: эта конфигурация может кэшировать пароли в памяти — используйте параметр auth-nocache, чтобы предотвратить это.
2022-04-30 06:24:45.352830 Последовательность инициализации завершена
2022-04-30 06:24:45.352845 УПРАВЛЕНИЕ: >СОСТОЯНИЕ:1651292685,ПОДКЛЮЧЕНО,УСПЕХ,192.168.255.2,xx.xx.xx.xx,1194,,
2022-04-30 06:24:46.571157 *Tunnelblick: Информация о маршрутизации stdout:
маршрут до: 8.8.4.4
пункт назначения: 8.8.4.4
шлюз: 192.168.88.1
интерфейс: en0
флаги: <UP, GATEWAY, HOST, DONE, WASCLONED, IFSCOPE, IFREF, GLOBAL>
recvpipe sendpipe ssthresh rtt, msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
стандартный:
2022-04-30 06:24:46.593014 * Tunnelblick: Предупреждение. Адрес DNS-сервера 8.8.4.4 — известный общедоступный DNS-сервер, но он не маршрутизируется через VPN
2022-04-30 06:24:46.680197 *Tunnelblick: Информация о маршрутизации stdout:
маршрут до: 8.8.8.8
пункт назначения: 8.8.8.8
шлюз: 192.168.88.1
интерфейс: en0
флаги: <UP, GATEWAY, HOST, DONE, WASCLONED, IFSCOPE, IFREF, GLOBAL>
recvpipe sendpipe ssthresh rtt, msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
стандартный:
2022-04-30 06:24:46.705581 * Tunnelblick: Предупреждение. Адрес DNS-сервера 8.8.8.8 — известный общедоступный DNS-сервер, но он не маршрутизируется через VPN
РЕДАКТИРОВАТЬ:
здесь ip маршрут сервера
bash-5.0# IP-маршрут
по умолчанию через 172.17.0.1 dev eth0
10.0.0.0/24 через 192.168.255.2 dev tun0
10.0.1.0/24 через 192.168.255.2 dev tun0
10.0.3.0/24 через 192.168.255.2 dev tun0
172.17.0.0/16 dev eth0 ссылка на область ядра proto src
172.17.0.2 192.168.254.0/24 через 192.168.255.2 dev tun0 192.168.255.0/24 dev tun0 ссылка на область ядра прото src 192.168.255.1
клиента
172.17/24 192.168.255.2 УГск утун3
Журнал состояния
bash-5.0# кошка /tmp/openvpn-status.log
СПИСОК КЛИЕНТОВ OpenVPN
Обновлено, вс 1 мая 08:20:48 2022
Обычное имя, реальный адрес, байты получены, байты отправлены, подключено с
at_dev_1,179.115.236.15:34846,23335,23021,Вс 1 мая 07:14:26 2022
мастер,179.115.236.15:64773,9574,9889,Вс 1 мая 07:55:44 2022
ТАБЛИЦА МАРШРУТИЗАЦИИ
Виртуальный адрес, обычное имя, реальный адрес, последняя ссылка
192.168.255.2,мастер,179.115.236.15:64773,Вс 1 мая 07:55:44 2022
10.0.0.1,at_dev_1,179.115.236.15:34846,Вс 1 мая 07:14:26 2022
ГЛОБАЛЬНАЯ СТАТИСТИКА
Максимальная длина очереди bcast/mcast,1
КОНЕЦ
РЕДАКТИРОВАТЬ здесь изображение, чтобы показать ситуацию
Графическое объяснение