¿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)
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,
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
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
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
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)
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
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
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.
[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,
Windows ejecute el artículo de referencia del cliente
Ejecute los comandos del servicio frp en segundo plano
服务端: 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
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 ExecStart
la 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
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
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.
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ó)