Зачем нужно проникновение в интранет?
- Если внутренняя сеть компании не предоставляет доступ к внешней сети или не назначает 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Версию можно скачать.
- Выполните следующую команду, выберите соответствующую версию и загрузите ее в соответствии с архитектурой.
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 и производительность сервера интрасети.