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

OSCHINA-MIRROR/xautlx-entdiy-nat

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 6.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 19:44 89179bd

Основываясь на Netty: открытое программное обеспечение для внутреннего сетевого проникновения через NAT

Программное обеспечение для внутреннего сетевого проникновения, основанное на Netty, подобно Ngrok и FRP.

Рисунок nat-deploy-access

Проект разработан с использованием идеи Ngrok. Его принцип работы и процесс можно изучить в официальных документах и материалах в интернете.

Управление и обновление ресурсов GIT-репозитория проекта

Документация проекта и исходный код доступны по следующим ссылкам:

https://github.com/xautlx/entdiy-nat;

https://gitee.com/xautlx/entdiy-nat.

Подробная инструкция по установке, настройке и использованию

Обратите внимание:

  1. Приведённые ниже команды ориентированы на использование в среде Mac или Linux. Для Windows необходимо преобразовать команды самостоятельно.
  2. Обычно требуется сервер с публичным IP-адресом в качестве промежуточного устройства для доступа к внутренним сетям. Однако для тестирования можно установить и настроить программу на разных компьютерах локальной сети.

Настройка и запуск сервера

  1. Загрузите весь проект и перейдите в каталог devops.
  2. Скопируйте файл entdiy-nat-server на сервер с публичным IP.
  3. Файл application-server.yml можно использовать как шаблон конфигурации. В нём представлены все доступные параметры настройки с комментариями. Создайте файл application-local.yml на основе шаблона и внесите необходимые изменения.

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


server:
  # Web管理端口,默认0表示随机端口(可通过启动日志查看运行端口),亦可设定为当前机器空闲固定网络端口
  # 暂无意义,后期提供Web管理功能后可指定端口便于访问控制
  port: 0
logging:
  level:
    # 业务默认INFO级别提供常规日志输出,遇到问题可相关修改为DEBUG
    com.entdiy: INFO
    # 心跳日志单独输出至logs目录下-heartbeat.log后缀日志文件,便于直观了解心跳健康情况
    com.entdiy.nat.heartbeat: INFO
    # Netty日志级别控制,DEBUG级别会输出详细的IN/OUT数据包信息
    io.netty.handler.logging: INFO
    root: INFO
nat:
  # 暂未实现
  #domain: 127.0.0.1
  # 提供HTTP穿透的服务端端口
  # 如果默认80端口已经被Nginx等占用,可修改为其他端口,然后在Nginx配置proxy_pass反向代理httpAddr端口服务
  httpAddr: 80
  # 提供HTTPS穿透的服务端端口
  # 如果默认443端口已经被Nginx等占用,可修改为其他端 порт,然后在Nginx配置proxy_pass反向代理httpsAddr端口服务
  # 暂未实现
  #httpsAddr: 443
  # 供NAT客户端穿透访问的主服务端口,如果端口占用需要修改请注意保持server和client端同步修改
  tunnelAddr: 4443
  # 请根据各个client不同标识对应设置client标识和秘钥
  clients:
    entdiy:
      secret: entdiy123
    entdiy-ssh:
      secret: entdiy123
  1. После внесения изменений перезапустите сервер командой ./nat-server-cli.sh restart. Если всё настроено правильно, вы увидите сообщение о том, что сервер прослушивает соединения.

2021-03-02 23:45:47.771  INFO 4853 - [      main]   c.e.n.s.l.NatControlListener[ 76] Listening for control and proxy connections: [id: 0x2c4eea5f, L:/0.0.0.0:5555]
  1. Сервер продолжает работать в фоновом режиме после завершения выполнения команды. Вы можете просмотреть журналы в каталоге logs.

Настройка и запуск клиента

  1. Скопируйте каталог entdiy-nat-client на компьютер, где требуется доступ к внутренним сетям через NAT.
  2. Файл application-client.yml также является шаблоном конфигурации. Создайте на его основе файл application-local.yml и внесите изменения.

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


server:
  # Web管理端口,默认0表示随机端口(可通过启动日志查看运行端口),亦可设定为当前机器空闲固定网络端口
  # 暂无意义,后期提供Web管理功能后可指定端口便于访问控制
  port: 0
logging:
  level:
    # 业务默认INFO级别提供常规日志输出,遇到问题可相关修改为DEBUG
    com.entdiy: INFO
    # 心跳日志单独输出至logs目录下-heartbeat.log后缀日志文件,便于直观了解心跳健康情况
    com.entdiy.nat.heartbeat: INFO
    # Netty日志级别控制,DEBUG级别会输出详细的IN/OUT数据包信息
    io.netty.handler.logging: INFO
    root: INFO
nat:
  # client不可重复,请根据实际信息覆盖设置
  client: entdiy
  secret: entdiy123
  # NAT Server端的公网IP地址或域名
  serverAddr: 127.0.0.1
  # NAT Server端穿透服务端口,对应于server端配置的nat.tunnelAddr
  port: 4443
#    # 以下配置仅做示意,请根据实际情况修改相关参数
#  tunnels:
#    ssh:
#      # 可根据实际情况修改为局域网内服务所在主机IP
#      host: 127.0.0.1
#      port: 22
#      # 服务端穿透访问入口端口,需要确保server端全局唯一
#      remotePort: 122
#    mysql:
#      # 可根据实际情况修改为局域网内服务所在主机IP
#      host: 127.0.0.1
#      port: 3306
#      # 服务端穿透访问入口端口,需要确保server端全局唯一
#      remotePort: 13306
  1. После настройки перезапустите клиент командой ./nat-server-cli.sh restart. Вы должны увидеть сообщение об успешном запуске.

2021-03-02 23:51:27.673  INFO 30050 - [pGroup-2-1]

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

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

1
https://api.gitlife.ru/oschina-mirror/xautlx-entdiy-nat.git
git@api.gitlife.ru:oschina-mirror/xautlx-entdiy-nat.git
oschina-mirror
xautlx-entdiy-nat
xautlx-entdiy-nat
master