frp内网穿透
此教程可用于配置内网Linux服务器,这样就可以不在同一个局域网内也能远程访问到服务器。
一、公网IP
买一个云服务器(腾讯云或者阿里云均可)。会分配一个公网ip。
二、frp工具的使用
在云服务器和内网机器下载对应的安装包:
代码语言:javascript复制wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
解压文件 tar -zxvf frp_0.34.3_linux_amd64.tar.gz
在云服务器上部署 frps,修改 frps.ini 文件:
代码语言:javascript复制[common]
bind_port = 7000
在我们的内网机器上部署 frpc,修改 frpc.ini 文件,x.x.x.x修改为 frps 所在云服务器的公网 IP:
代码语言:javascript复制[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
local_ip
和 local_port
配置为本地需要暴露到公网的服务地址和端口。remote_port
表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
注意:云服务器需要开启对应端口!
分别启动 frps 和 frpc。在云服务器上先通过 ./frps -c ./frps.ini
启动服务端,在内网机器上通过 ./frpc -c ./frpc.ini
启动客户端。
- 通过 SSH 访问内网机器,假设用户名为 test:
ssh -oPort=6000 test@x.x.x.x
- frp 会将请求
x.x.x.x:6000
的流量转发到内网机器的 22 端口。
问题:
一、安装screen
yum install screen
安装成功后,输入screen会切换到另一个窗口,可以通过ctrl a d切换回原来的命令行界面 创建screen会话 重新读取screen会话
通过下面命令查询正在运行中的screen会话列表信息。
screen -ls
1、通过screen名字读取。
screen -r screen名字或者会话ID
如果存在多个同名名的会在会话名之前有会话ID 会话名称,如4078.test;
可以通过screen -r 4078.test
或者screen -r 4078
获取指定会话
2、关闭screen会话
若不再需要当前的screen会话,可以在当前的screen会话中执行 exit,提示[screen is terminating]表示已经成功关闭screen会话(不会保留在内存中),如果需要,请重建。 3、screen的快捷键
如之前讲到的Ctrl a d 可以暂时离开当前的screen会话,同时screen还提供其它的快捷键。
Ctrl a c :在当前screen会话中创建一个子会话
Ctrl a p :上一个子会话
Ctrl a n :下一个子会话
二、ubuntu如何开启22端口支持ssh访问
1.查看本机IP
ifconfig
执行后如果提示服务不存在,则需要下载该工具sudo apt install net-tools
2查看端口22是否被占用netstat -nltplgrep 22
-n不以进程的服务名称,以编号port number显示-t列出tcp网络封包的信息
-l列出目前正在网络监听listen服务-p列出该网络服务的进程
如果发现没有22端口进程,则执行如下命令:sudo apt-get install openssh-server
sudo apt-get install ufw
sudo ufw enable
sudo ufw allow 22
用xshell连接是否成功
三、frp服务自启动
进入frp目录,复制文件
cp frps /usr/local/bin/frps
mkdir /etc/frp
cp frps.ini /etc/frp/frps.ini
创建frps.service服务:vim /lib/systemd/system/frps.service
[Unit]
Description=frpc daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
Restart=always
RestartSec=1min
ExecStop=/usr/bin/killall frps
[Install]
WantedBy=multi-user.target
设置开机自启动:systemctl enable frps
开启服务:systemctl start frps
查看状态:systemctl status frps
active(running)则表示启动成功
四、多个ssh配置
在另一台机器进行下载frp,只需要修改frpc.ini文件,修改格式如下:
代码语言:javascript复制[common]
server_addr = x.x.x.x
server_port = 7000
[ssh001] # 不能重复
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001 # 不能重复
frpc命令启动即可。