Проникновение в интранет, достаточно использовать frp

Linux
Проникновение в интранет, достаточно использовать frp

Зачем нужно проникновение в интранет?

  • Если внутренняя сеть компании не предоставляет доступ к внешней сети или не назначает IP, к которому можно получить доступ из внешней сети, нам необходимо получить доступ к SSH-серверу для входа во внутреннюю сеть, что нам делать с удаленными рабочими столами и удаленные файлы?
  • Удаленный рабочий стол использует TeamViewer, но терминал доступа также должен иметь программное обеспечение TeamViewer, что неудобно. И TeamViewer не так просто получить удаленный доступ к файлам.
  • Используйте программное обеспечение удаленного доступа для работы в сети, связанное с Dandelion, которое доступно, но бесплатная версия имеет чрезвычайно низкую скорость сети, плохой опыт и вряд ли может быть использована в обычном режиме.
  • Используйте доступное программное обеспечение из арахисовой скорлупы для разрешения DNS, но, как упоминалось во втором пункте, бесплатная версия имеет ограничения по пропускной способности и не может использоваться на практике.

Так как же описанные выше сценарии могут быть простыми и эффективными для проникновения в интрасеть? Эффективныйfrpхороший выбор.

Роль фрп

  • Предоставляйте службы http или https для внешней сетевой среды, используя компьютер за внутренней сетью или брандмауэром.
  • Для HTTP служба HTTPS поддерживает виртуальный хост на основе доменного имени, поддерживает привязку пользовательского доменного имени, позволяя нескольким доменным именам совместно использовать 80-порт.
  • Предоставьте службы TCP и UDP во внешней сетевой среде, используя машины позади интрасети или брандмауэра, такие как доступ к хосту в окружающей среде компании в SSH дома.

принцип фрп

необходимые инструменты

  • Один vps, конечно, может быть и физической машиной с публичным IP. Поскольку принцип frp заключается в использовании сервера (vps) для переадресации, скорость VPS определяет качество вашего соединения, поэтому вы можете выбрать соответствующую конфигурацию хоста в соответствии со своими потребностями.
  • Один интранет-сервер или собственный терминал (win, mac)
  • Простые основные команды Linux.

Проникновение в интрасеть для установления SSH-подключения

Настройки сервера

Когда мы входим в vps, нам сначала нужно запустить следующую команду, чтобы просмотреть архитектуру процессора и загрузить разные версии frp в соответствии с архитектурой.

arch

Просмотренные результаты показывают

x86_64

Затем выбираем соответствующийamd64Версию можно скачать.

  1. Выполните следующую команду, выберите соответствующую версию и загрузите ее в соответствии с архитектурой.
wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz

распаковывать

tar -zxvf frp_0.22.0_linux_amd64.tar.gz

Переименуйте папку для удобства просмотра

cp -r frp_0.22.0_linux_amd64 frp

После входа в каталог просмотрите файл

ls -a

На стороне сервера нам нужно только обратить внимание на файлы, относящиеся к frps из этих трех файлов, а файлы, относящиеся к frpc, являются клиентскими файлами, которые можно удалить на стороне сервера.

  • стартер сервера фпс
  • Файл конфигурации сервера fps.ini
  • Полный файл конфигурации сервера frps_full.ini
vim frps.ini

Добавьте следующую конфигурацию:

[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
  • bind_portУказывает порт, соединяющий клиента и сервер, по умолчанию 7000, и его можно изменить, если он согласуется с bind_port клиента.
  • dashboard_portЭто порт панели управления сервером.Если вы используете порт 7500, после завершения настройки вы можете получить доступ к x.x.x.x:7500 через браузер для просмотра текущей информации службы frp.
  • tokenЭто пароль, используемый для соединения между клиентом и сервером, который можно установить самостоятельно, и он должен соответствовать токену клиента.

-** dashboard_userа такжеdashboard_pwd** указывает имя пользователя и пароль для открытия страницы панели инструментов и входа в систему, вы можете установить их самостоятельно.

После редактирования и сохранения мы можем запустить его на этом этапе и выполнить следующую команду для запуска.

./frps -c frps.ini

Увидев вывод следующим образом, сервер запускается успешно.

2020/07/18 16:41:47 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000
2020/07/18 16:41:47 [I] [service.go:172] http service listen on 0.0.0.0:10080
2020/07/18 16:41:47 [I] [service.go:193] https service listen on 0.0.0.0:10443
2020/07/18 16:41:47 [I] [service.go:216] Dashboard listen on 0.0.0.0:7500
2020/07/18 16:41:47 [I] [root.go:210] Start frps success

Если вы хотите запустить его в фоновом режиме, вы можете запустить его с помощью nohup.

nohup ./frps -c frps.ini &

На этом этапе посетите xx.xx.xx.xx:7500 и используйте имя пользователя и пароль, которые вы только что установили, чтобы увидеть раздел панели инструментов.

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

Установите ту же версию frp на сервер в интрасети, и метод установки такой же, как у сервера.

На стороне клиента нам нужно обратить внимание только на файлы, связанные с frps из этих трех файлов.Файлы, связанные с frps, являются файлами на стороне сервера, которые можно удалить на стороне клиента.

  • лаунчер клиента frpc
  • Файл конфигурации клиента frpc.ini
  • frpc_full.ini Полный файл конфигурации клиента
vim frpc.ini

Добавьте следующую конфигурацию:

[common]
server_addr = 49.233.169.171
server_port = 7000
token = 12345678

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8001
  • server_addrЭто IP-адрес вашего публичного сервера.
  • server_portПорт, установленный сервером.
  • tokenОн может соответствовать токену, установленному сервером.
  • typeДля типа прокси служба SSH настроена на тип tcp.
  • local_ipэто локальный IP.
  • local_portПорт SSH, установленный для клиента интрасети.
  • remote_portСервисный порт, предназначенный для доступа к внутренней сети из внешней сети.

запускать

nohup ./frpc -c frpc.ini &

Следующий вывод указывает на то, что сервер успешно запущен.

2020/07/18 21:59:55 [I] [service.go:205] login to server success, get run id [143bcc4bb2f3c383], server udp port [0]
2020/07/18 21:59:55 [I] [proxy_manager.go:136] [143bcc4bb2f3c383] proxy added: [ssh nginx-for-ali]
2020/07/18 21:59:55 [I] [control.go:143] [ssh] start proxy success
2020/07/18 21:59:55 [I] [control.go:143] [nginx-for-ali] start proxy success

Таким образом, я могу подключиться к своей машине в интрасети (SSH) через общедоступный IP-адрес сервера и порт 8001.

ssh -p remote_port username@server_addr
  • remote_portИспользуйте порт, установленный машиной интрасети.
  • usernameИспользуется имя пользователя интранет-машины.
  • server_addrИспользуется IP-адрес внешней сетевой машины.

После успешного входа в систему я обычно могу использовать SSH для успешного управления службами внутренней сетевой машины на внешней сетевой машине.

Проникновение в интранет для реализации веб-сервиса

Настройки сервера

vim frps.ini

Добавьте следующую конфигурацию:

[common]
bind_port = 7000
token = 12345678
vhost_http_port = 10080
vhost_https_port = 10443
  • bind_portУказывает порт для соединения между клиентом и сервером.По умолчанию 7000. Его также можно изменить, если он подключен к клиенту.bind_portПросто будьте последовательны.
  • tokenОн может соответствовать токену, установленному сервером.

-** vhost_http_portа такжеvhost_https_port** Порт, используемый для доступа к хосту сервера, вам необходимо добавить этот порт в группу безопасности vps.

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

vim frpc.ini

Добавьте следующую конфигурацию:

[common]
server_addr = xx.xx.xx.xx
server_port = 7000


[web]
type = http
local_port = 9003
custom_domains = xx.xx.xx
  • server_addrИспользуется IP-адрес внешней сетевой машины.
  • server_portПорт, установленный сервером.
  • local_portЗапущен веб-сервис для локальных клиентов.
  • typeВ качестве типа прокси веб-служба настроена на тип http.
  • custom_domainsИмя домена доступа или IP-адрес машины, привязанной к внешнему VPS.

Способ запуска такой же, как и при проникновении в службу SSH.После успешного запуска используйтеВнешний IP или доменное имя: vhost_http_port,Прямо сейчасcustom_domains:10080, вы можете с радостью получить доступ к веб-службам, запущенным в вашей собственной интрасети.

Веб-служба, запускаемая моей интрасетью, основана на клиенте Mac, а настройка Windows аналогична работе, есть небольшие отличия, поэтому я не буду демонстрировать их здесь по отдельности.

резюме

  • Через самодельный frp проникновение во внутреннюю сеть может быть безопасно завершено, а конфигурация проста и практична.
  • Общая скорость связана с машинами vps и интранет.
  • Трафик должен перенаправляться через vps. Если вам нужны крупномасштабные результаты расчета передачи, вы можете соответствующим образом улучшить производительность вашего vps и производительность сервера интрасети.

images.jpeg