La red interna de frp penetra el escritorio remoto de la red externa y ssh para conectarse al servidor de red del campus

¿Qué es frp?

frp es un proxy inverso rápido que lo ayuda a exponer un servidor local detrás de un
NAT o firewall a Internet. A partir de ahora, es compatible con TCP y UDP,
así como con los protocolos HTTP y HTTPS, donde las solicitudes se pueden reenviar a servicios internos por nombre de dominio. Frp también tiene un modo de conexión P2P.

frp es un proxy inverso rápido que puede ayudarlo a exponer el servidor local detrás de un NAT o firewall a Internet. Hasta ahora, es compatible con los protocolos TCP y UDP, así como con los protocolos HTTP y HTTPS. En estos protocolos, las solicitudes se pueden reenviar a servicios internos a través de nombres de dominio. Frp también tiene un modo de conexión P2P. dirección del código fuente de frp

Este artículo habla principalmente sobre el uso de RDP (escritorio remoto) y ssh para conectarse al servidor de la escuela a través de frp.

Necesidades: 1. Servidor en la nube (servidor)
2. Servidor en red en el campus (el servidor al que necesitamos conectarnos) (cliente)
3. Una computadora que pueda usar Internet o una tableta o teléfono móvil que se pueda conectar de forma remota. (Prueba de usuario)
Inserte la descripción de la imagen aquí
Puede configurar un grupo de seguridad para el servidor en la nube y abrir todos los puertos, por lo que no necesita abrir un puerto por uno.
Como se muestra en la figura,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
luego haga clic en la nueva administración de la instancia de administración para asociar el grupo de seguridad recién agregado a su servidor.

Instalación y configuración de frp

dirección de descarga de frp (https://github.com/fatedier/frp/releases)

Descargue la última versión de
Inserte la descripción de la imagen aquí
Ubuntu Descargue frp y guárdela en la línea de comando de la carpeta actual

wget  https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz

Descomprimir tar.gz

tar -zxvf frp_0.31.1_linux_arm64.tar.gz

Entrar carpeta

cd frp_0.31.1_linux_arm64

Inserte la descripción de la imagen aquí

Servidor

El uso principal es el archivo ejecutable frps y el archivo de configuración frps.ini. frps_full.ini son todos los archivos de configuración sin modificación, simplemente modifíquelos en frps.ini.
El archivo de configuración puede ver el documento chino en el código fuente .
Configurar el archivo frps.ini

vim frps.ini

Esta es la configuración de mi servidor en la nube.

[common]
#bind_addr = 0.0.0.0
bind_port = 7000  //7000端口是和客户端连接时使用的端口。
auto_token = frp  //和客户端保持一致就行

//服务器查看端口账号
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

Ingrese la ip del servidor: 7500 en el navegador para ver el puerto Después de
Inserte la descripción de la imagen aquí
configurar el archivo frps.ini, ejecute el archivo ejecutable frps. Ejecutar bajo la ruta actual.

 ./frps -c ./frps.ini 

La captura de pantalla de la operación exitosa (sistema de Windows)
Inserte la descripción de la imagen aquí
también puede escribir systemctl para controlar el inicio. Por ejemplo, " Varios métodos de inicio automático en segundo plano de Frp "

Ver el proceso de frps:

ps -e | grep frps

Inserte la descripción de la imagen aquí

Cliente

Simplemente use el archivo ejecutable frpc y el archivo de configuración frpc.ini en el paquete comprimido. frpc_full.ini son todos los archivos de configuración sin modificación, simplemente modifíquelos en frpc.ini.
Si el cliente también es un sistema ubuntu, la operación es la misma que la del servidor anterior.
Se modifica el archivo frpc.ini

[common]
server_addr = xx.xx.xx.xx   //服务端的IP地址
server_port = 7000          和服务端端口一致

[RDP]                   //远程桌面配置,具体的可以查看源代码给的readme
type = tcp
local_ip = 0.0.0.0     //没太弄懂  填0.0.0.0和127.0.0.1都可以
local_port = 5900      //随便填,但是不能和其他端口重合,两边服务器都把这些端口打开
remote_port = 6001      //这个端口是远程连接的用户所使用的端口


[ssh]                   //这个是用做ssh连接的
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000     远程连接的用户使用这个端口

Comenzar después de configurar

 ./frpc -c ./frpc.ini 

Inserte la descripción de la imagen aquí
Sistema Windows como cliente (un servidor también puede corresponder a varios clientes, porque no hay suficientes cuentas de Internet, el servidor no puede acceder a Internet y todos los servidores Windows no están configurados como clientes). Pero la configuración es similar a la anterior.
Descargue el paquete comprimido frp adecuado para el sistema Windows y configure el archivo frpc.ini.
Inserte la descripción de la imagen aquí

[common]
server_addr = x.x.x.x     //服务端ip
server_port = 7000        //和服务端端口保持一致

[ssh80]   //这个名称不要和另外一个客户端的重合
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6080       //这个也不要重合

[RDP02]         //这个名称也不要和另外一个客户端的重合
type = tcp
local_ip = 0.0.0.0
local_port = 6002
remote_port = 6002

Siempre que el nombre en la configuración no coincida con el nombre de otro cliente, un servidor puede corresponder a varios clientes.

Windows10 ejecute el comando frp
, ingrese directamente cmd en la carpeta frp para abrir el símbolo del sistema,
Inserte la descripción de la imagen aquí
Windows ejecute el artículo de referencia del cliente

Ejecute los comandos del servicio frp en segundo plano

Articulo de referencia

服务端: nohup ./frps -c frps.ini >/dev/null 2>&1 &

客户端: nohup ./frpc -c frpc.ini >/dev/null 2>&1 &

说明:>/dev/null 2>&1 &,表示丢弃。

inicio de control systemctl

Articulo de referencia

sudo vim /lib/systemd/system/frps.service

Escribir

[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/你的frp安装路径/frps -c /你的frp安装路径/frps.ini

[Install]
WantedBy=multi-user.target

Tanto el servidor como el cliente pueden escribir así. Solo es necesario cambiar ExecStartla ruta de ejecución de frp (tenga en cuenta frps y frpc)

Entonces empieza frps

sudo systemctl start frps

Autoinicio

sudo systemctl enable frps

Reinicie la aplicación: sudo systemctl restart frps
detenga la aplicación: sudo systemctl stop frps
vea el registro de la aplicación, ingrese:sudo systemctl status frps

Nota: Los puertos establecidos anteriormente deben estar abiertos en el cliente y el servidor.
instrucciones de puerto abierto de ubuntu

sudo ufw allow 22   //tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口

Prueba de red externa

Tanto la conexión ssh como la conexión de escritorio remoto requieren que el servidor de la escuela pueda usar ssh y la conexión de escritorio remoto en la intranet. No entraré en detalles aquí.
conexión ssh
yo uso conexión putty
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Ingrese la cuenta y la contraseña del servidor de la escuela y podrá iniciar sesión en el servidor de la intranet a través del servidor Ali.

Conexión de escritorio
Inserte la descripción de la imagen aquí
remoto IP de entrada de escritorio remoto: 6001, 6001. Este es el número de puerto que configuré.También puede configurar otros números de puerto, pero no se superpongan con otros números de puerto.
Inserte la descripción de la imagen aquí
Ingrese cuenta y contraseña para iniciar sesión

Nota:
Preste atención a si el puerto está abierto. Cerrar y reiniciar el firewall puede afectar el puerto. (Solía ​​montar el disco, cerré y reinicié el firewall, lo que provocó que fallara la conexión remota. Después de buscar la causa durante dos horas, el resultado fue que el puerto 3389 no se abrió)

Supongo que te gusta

Origin blog.csdn.net/qq_38469784/article/details/104031367
Recomendado
Clasificación