实现方法
以下几种方法可以实现PnetLab公网访问:
- 有公网IP的直接使用即可(公网ipv4或ipv6);
- 无公网IP,可以使用vps配合frp实现内网穿透,实现PnetLab的官网访问;
vps配合frp实现PnetLab公网访问
环境准备
-
一台有公网IP的vps
例如阿里云、华为云、腾讯云等云厂商的esc、轻量化服务器等
-
frp软件
具体步骤
-
下载frp软件
-
将frps上传至云服务器
frps.toml、frps
-
修改配置文件
frps.toml
# frp服务监听端口 bindPort = {frps服务端监听端口号} # frp http监听端口 vhostHTTPPort = {frps http 监听端口号} # token用于实现简单的身份校验,如果设置了那么客户端和服务器的token必须一致(可选) auth.token = "token" # 开启frp Dashboard 可以查看frp的状态以及代理统计信息。(可选) webServer.addr = "0.0.0.0" webServer.port = 7400 webServer.user = "admin" webServer.password = "admin"
frpc.toml
# 服务端IP和监听端口设置 serverAddr = "{frps服务端IP地址}" serverPort = {frps服务端监听端口号} auth.token = "token" [[proxies]] name = "PnetLab" type = "http" localIP = "127.0.0.1" localPort = 80 customDomains = ["云服务ip或域名"] # 下面设置后会先要求验证身份(可选) httpUser = "admin" httpPassword = "QAZqaz123!@#"
-
云服务器防火墙放通对应端口
主要是:bindPort和vhostHTTPPort必须放通
webServer.port设置了的话也要放通
-
云服务器上运行frps
命令行
nohup frpc -c frpc.toml 2>&1 &
Dokcer运行
!注意,frps的存放路径
docker run --restart=always --network host -d -v /root/frps/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps
-
PnetLab上运行frpc
nohup frps -c frps.toml 2>&1 &
Dokcer运行
!注意,frpc的存放路径
docker run --restart=always --network host -d -v /root/frps/frpc.toml:/etc/frp/frpc.toml --name frps snowdreamtech/frpc