1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/spoto-natserver

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 6.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 18:04 160a1ec

Самостоятельное создание внутренней сети с проникновением через сервер

Введение

В этом тексте представлены несколько руководств по реализации проникновения во внутреннюю сеть с использованием собственного сервера.

Развёртывание на основе Docker с FRP для проникновения во внутреннюю сеть

Создание сервера FRPS

Создание конфигурационного файла:

# Создание каталога для хранения
sudo mkdir /etc/frp
# Создание файла frps.ini
nano /etc/frp/frps.ini

Содержимое файла frps.ini:

[common]
# Порт прослушивания
bind_port = 7000
# Порт панели
dashboard_port = 7500
# Настройка учётных данных для входа в панель
dashboard_user = admin
dashboard_pwd = spoto1234
# Установка портов прокси для протоколов HTTP и HTTPS (не критично)
vhost_http_port = 7080
vhost_https_port = 7081


# Аутентификация
token = 12345678
# Образ сервера: snowdreamtech/frps
# Перезапуск: always
# Режим сети: host
# Сопоставление файлов: /etc/frp/frps.ini:/etc/frp/frps.ini

docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

Конфигурация клиентского компьютера FRPC

Образ сервера: snowdreamtech/frpc
Перезапуск: всегда
Режим сети: host
Сопоставление файлов: /путь/frp/:/etc/frp/

Пример конфигурационного файла:

[common]
# server_addr — IP-адрес сервера FRPS
server_addr = x.x.x.x
# server_port — порт, который слушает сервер, bind_port
server_port = 7000
# Аутентификация
token = 12345678

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2288

# [ssh] — имя службы, здесь при доступе к порту 2288 службы FRP это эквивалентно доступу к порту 22 на 127.0.0.1 через посреднический сервер.
# type — тип соединения, в данном случае tcp
# local_ip — фактический IP-адрес клиентского компьютера
# local_port — целевой порт
# remote_port — удалённый порт

[ssh]
type = tcp
local_ip = 192.168.1.229
local_port = 80
remote_port = 18022

[unRAID web]
type = tcp
local_ip = 192.168.1.229
local_port = 80
remote_port = 18088

[Truenas web]
type = tcp
local_ip = 192.168.1.235
local_port = 80
remote_port = 18188

[speedtest]
type = tcp
local_ip = 192.168.1.229
local_port = 6580
remote_port = 18190


[webdav]
type = tcp
local_ip = 192.168.1.235
local_port = 18080
remote_port = 18189

[RDP PC1]
type = tcp
local_ip = 192.168.1.235
local_port = 3389
remote_port = 18389
  • Если служба прослушивания может иметь настройки ограничения IP, необходимо разрешить доступ только для IP-адресов внутренних сетевых устройств;
  • FRP может быть удобным решением, но его использование может представлять угрозу безопасности из-за раскрытия портов в Интернете.

Развёртывание с использованием корневого сервера Zerotier для проникновения во внутреннюю сеть

Создание (псевдо) корневого сервера | Адрес проекта: https://github.com/Jonnyan404/zerotier-planet

docker run --restart=on-failure:3 -d --name ztncui -e HTTP_PORT=4000 -e HTTP_ALL_INTERFACES=yes -e ZTNCUI_PASSWD=mrdoc.fun -p 4000:4000 keynetworks/ztncui

Создание moon-сервера | Адрес проекта: https://github.com/jonnyan404/docker-zerotier-moon

# Создать контейнер
docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v /etc/ztconf/:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 [публичный IP x.x.x.x]

# Просмотреть идентификатор moon
docker logs zerotier-moon

Установка клиента Zerotier на DSM 7.x для группового использования

Вход в SSH и создание виртуального сетевого устройства TUN

# Получить права
sudo -i

# Создать скрипт «Создать виртуальное сетевое устройство TUN» и сделать его автоматически запускаемым при загрузке
echo -e '#!/bin/sh -e \ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh

# Предоставить скрипту разрешение на выполнение
chmod a+x /usr/local/etc/rc.d/tun.sh

# Запустить скрипт для создания TUN
/usr/local/etc/rc.d/tun.sh

# Проверить, успешно ли создан TUN
ls /dev/net/tun

Создать каталог для хранения конфигурации:

mkdir /var/lib/zerotier-one

Создайте контейнер приложения Zerotier:

docker run -d           \
  --name zt             \
  --restart=always      \
  --device=/dev/net/tun \
  --net=host            \
  --cap-add=NET_ADMIN   \
  --cap-add=SYS_ADMIN   \
  -v /var/lib/zerotier-one:/var/lib/zerotier-one zerotier/zerotier-synology:latest

Общие команды:

# Посмотреть статус zerotier
docker exec -it zt zerotier-cli status

# Присоединиться к сети
docker exec -it zt zerotier-cli join [xxxxxxxxxxxx]
# Присоединиться к moon-серверу
docker exec -it zt zerotier-cli orbit [moon_ID] [moon_ID]
# Подтвердить присоединение
docker exec zt zerotier-cli listpeers

Windows-клиент присоединяется к moon-серверу

cd C:\ProgramData\ZeroTier\One
zerotier-cli orbit [moon_id] [moon_id]

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/spoto-natserver.git
git@api.gitlife.ru:oschina-mirror/spoto-natserver.git
oschina-mirror
spoto-natserver
spoto-natserver
master