使用FPN实现内网穿透,公网访问内网服务器

fpn

https://github.com/fatedier/frp

公网服务器配置

公网服务器运行服务端程序

需要frpsfrps.ini两个文件即可,其中.ini为配置文件:

[common]
bind_port = 7000	# 与客户端进行绑定的端口

设置自启动

sudo vim /etc/systemd/system/frps.service	# 服务名即为frps

修改文件内容如下:

[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target

[Service]
Type=simple
ExecStart={path/to/frps} -c {path/to/frps.ini}	# 注意使用绝对路径
Restart= always
RestartSec=1min

[Install]
WantedBy=multi-user.target

之后

#启动frps
systemctl daemon-reload
systemctl start frps

#设置为开机启动
systemctl enable frps

内网客户端配置

实验室服务器作为客户端

需要frpcfrpc.ini两个文件,其中.ini为配置文件:

[common]
server_addr = <服务器公网ip>
server_port = 7000	# 与frps.ini 文件中 bind_port 相同

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000	# 服务端监听该端口,并转发到客户端

设置自启动

sudo vim /etc/systemd/system/frpc.service
[Unit]
Description=frpc daemon
After=syslog.target  network.target
Wants=network.target

[Service]
Type=simple
ExecStart={path/to/frpc} -c {path/to/frpc.ini}	# 注意使用绝对路径
Restart= always
RestartSec=1min

[Install]
WantedBy=multi-user.target
#启动frpc
systemctl daemon-reload
systemctl start frpc

#设置为开机启动
systemctl enable frpc

Usage

ssh -oPort=<remote_port> user_name@<server_addr>

Reference

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus