使用云服务器实现内网穿透。内网里建立一台老旧win机专门用来挂pt,在上面存储视频和软件,而后映射在外网中,通过手机和电脑随时随地的下载和在线观看win机上的视频和文件。
在公网中使用常用软件的默认端口会导致自己的云盘遭到遍历攻击,非常危险。ssh是你与云服务器交互的最主要途径,一旦ssh被攻破,你的服务器,和你挂在服务器上所有的文件和资料就相当于光腚漏在攻击者面前,而攻击者会干什么谁也不知道。所以做好基础的安全措施是使用公网ip的前提。
1、首先查看自己的ssh的默认端口
netstat -tunlp | grep "ssh"
一般默认是22
2、设置ssh的配置的修改配置文件,配置文件一般都放在/etc这个目录中,
使用 vim /etc/ssh/sshd_config命令
将#号删除,22改为一个0-65555中间的任一你喜欢的数字。
3、在云服务器后台防护墙将对应的端口打开
4、重新登录进入腾讯云后台
Frp是一款使用极其简单的反向代理软件,首先frp分为服务端和客户端,服务端安置在你的云服务器上,客户端安置在你的在net内网中的电脑上,通过服务端将你客户端的电脑上的端口广播至外网。
1、frp的github官网是https://github.com/fatedier/frp上面有很详细的说明想了解可以去看一看
安装命令是:
wget https://github.com/fatedier/frp/releases/download/v0.28.2/frp_0.37.1_linux_amd64.tar.gz
安装之后解压
tar -xzvf frp_0.37.1_linux_amd64.tar.gz
解压之后,因为这个文件的名字特别复杂将文件夹重命名为frp
结果如下图所示:
其中前缀为frps的为服务端软件,前缀为frpc的软件为客户端软件,因为云服务器作为服务端,所以将所有客户端的软件都删除。命令为:
rm -rf frpc*
在服务端的所有文件中,frps.ini为配置文件,首先对配置文件进行备份。命令为:
cp frps.ini frps.ini.backup
效果如图所示:
2、而后开始编辑frps.ini
Centos 7.6支持vi和vim所以编辑配置文件选用你喜欢的方式
我的命令是:
vi frps.ini
介绍一下配置文件中的需要写入的条目:
bind_port =xxx //为frp服务端开放的端口,默认为7000,一定需要修改,记住面向公网时,一定要修改默认端口,不然就有可能被黑。这儿假设修改为xxx。
token =xxx //这个是frp服务端的密码,可要可不要,可要是因为,加个密码能起到心里安慰的作用,可不要是因为,反正防火墙里所有的端口都是自己设置的,别人就算黑了你的frp服务端,没有端口也是白搭
3、设置好服务端后在开始设置客户端,客户端下载直接网页上点击一下即可,注意版本要和服务端相对应,客户端位于你的net局域网内,客户端要求能上网,客户端的设置稍微复杂一点:
这是一个客户端的配置文件的例子,方括号([])内为项目名(这个称呼是我自己起的,因为官方称呼我没去看),项目common里server_addr是你的服务端公网ip网址,这个你买云服务器的时候都会给你,server_port就是你上文中设置的bind_port里的xxx。项目vnc_1是将vnc的默认端口映射到服务器的某个端口,vnc是一款相当简单好用的桌面远程控制软件,不会像向日葵一样限速和限流量,但是vnc需要使用ip和端口,所以造成了一定的使用难度,以此为例;其中type是使用的网络协议,常用的网络协议有tcp和udp两种,但是也可以转发http协议。本例中使用vnc软件使用的是tcp协议,所以type是tcp;local_ip是127.0.0.1,local_port是本机的端口,romote_port是代理本机端口的云服务器端口,本机端口可以用程序默认的端口,例如vnc的端口就是5900,云服务器的端口最好改一下。如此设置好后。
4、分别再云服务器和内网电脑种打开frp,首先再防火墙内打开bind_port和romote_port
云服务器:进入frp所在的文件夹,打开文件夹
cd ./frp./frp
./frps -c frps.ini
内网电脑:
进入frpc所在文件夹,使用命令行输入:
./frpc.exe -c ./frpc.ini
完成之后,云服务器显示
说明frp反向代理成功
打开vnc输入ip:端口号出现
说明代理完全成功。
Windows的共享服务使用的便是samba服务器,默认端口是445,其性能优越,不像ftp服务器那样没法使用端口转换,也不像sftp客户端一样对win和中文的匹配度不高。但是window的共享服务在设计时便是用于局域网,所以无法修改默认端口,如果贸然映射到公网会存在很大的安全隐患;况且常用的文件下载软件如迅雷等也不支持smb服务器的文件下载。所以只能将内网win机上的smb服务器以网络硬盘的方式挂载在云服务器上。
1、在挂载之前要确认是否安装samba客户端
rpm -qa | grep samba
如果什么都没有出现就安装samba服务器
yum install -y samba samba-client
2、挂载samba服务器
首先新建一个名为smb的文件夹,将net局域网中的电脑上的445端口映射到云服务器上,只是不用打开防火墙的端口,而后使用命令:
mount -t cifs -o username="xxx",password="xxx",port=xxx //127.0.0.1/ ./smb
而后使用
df -h查看smb是否被挂在到服务器上
前文已经提过一嘴ftp服务器,说是ftp服务器没法进行端口转发,其实句话是有问题的,被动模式的ftp服务器无法进行端口转发,而主动模型的ftp服务器是可以进行端口转发的,但是问题是,很多的ftp客户端都是被动模式的,而且还没法调,客户端必须和服务端相匹配,所以被动模型的ftp服务器就被广泛的应用。ftp服务器有很多的优点,比如应用广泛,适用于在线观看视频,迅雷也支持ftp下载。提一嘴迅雷,迅雷的断点传输功能可以提高下载体验,常规的ftp下载器,如win自带的文件管理器和xftp都不具备断点传输,想象一下,下一个数个G的电影或是软件到电脑上,下了几个小时,突然网断了一下,就得重头再来,还是挺难受的。
1、在云服务器上安装ftp服务器
yum install vsftpd
2、修改配置文件
配置文件是/etc/vsftp/vsftpd.conf
修改之前应该首先将配置文件备份
cp vsftpd.conf vsftpd.conf.backup
3、配置文件中的具体条目的说明
anonymous_enable=NO//是否允许匿名登录,为了安全,自然是NO,记得NO要大写
local_enable=YES//是否允许本地账号登录,选是吧,这要直接用云服务器的账户就可以登录,省的在创建虚拟账号,反正是私用,没必要搞得太麻烦。
ascii_upload_enable=YES
ascii_download_enable=YES//这两个是是否允许ascii上传和下载,ascii的win上使用的编码方式,因为要和win机交互,网上说写YES会存在风险,但是也没法不写yes。
另外还要在加几行
listen_port=xxx//ftp的登录端口,没有这一行默认端口是21,存在安全隐患
local_root=/var/ftp //ftp的目录,到时候把smb挂在在这个目录下
pasv_enable=YES //打开被动模式
pasv_max_port=*10 //输出的最大端口
pasv_min_port=*00 //输出的最小端口,注意,输出的最小端口,注意一个用户就要用一个端口,自己以实际需求选择开多少个端口
port_enable=YES
pasv_address=*.*.*.* //ftp被动模式的网址
4、因为是用云服务器的账号和密码,云服务器的账号有root、bin等。Vsftp因为安全问题将linux的常规账号都封禁了,所以要在ftpusers和 user_list两个文件内将你所使用的账号前面加#。
5、打开ftp服务器
systemctl start vsftpd.service
而后手机上使用nplayer可以在线观看内网win机中视频,电脑上可使用文件管理器登录ftp和使用迅雷下载。
By 夜尘客