目前来说,各大运营商都在减少对个人用户提供公网IP,这已经是一个趋势,估计在IPv6普及前不会有好转。虽然可以通过客服要回公网ip,但是难度太大了,就算能要到运营商也得恶心恶心你,所以目前外网访问家里路由器、NAS、智能家居等成了问题。
外网访问路由器管理界面
1、设置好ddns并绑定
2、防火墙 打开 允许从互联网设置xxxx路由器,因为国内运营商都封闭了80(默认80)端口,所以这里要改,比如8180,应用本页面设置
3、外部网络 – 端口转发,服务器名称 随意,源IP地址 留空,端口范围 写8180,内网IP 写192.168.123.1,本地端口 写80,协议 选TCP/UDP,应用本页面设置。ok了。
外网访问时需要加上端口号,比如:
router.bbbb.com:8180
外网访问路由器的u盘(FTP)
1、设置好ddns并绑定(如果已经做好就不用了)
2、USB应用程序 打开 启用FTP服务器,确保在内网能正常访问ftp
3、防火墙 打开 允许外网访问FTP服务器,同样需要把默认端口21改,比如改成8121,应用本页面设置
4、外部网络 – 端口转发,服务器名称 随意,源IP地址 留空,端口范围 写8121,内网IP 写192.168.123.1,本地端口 写21,协议 选TCP/UDP,应用本页面设置。ok
FTP客户端设置
主机 写你的动态域名,比如
router.bbbb.com
端口 写8021
用户名、密码写你在AiDISK设置向导中设置好的。
提醒:向外网开放权限,建议把管理密码和ftp密码设置的越复杂越好,比如大小写加数字加符号,否则你就成了肉鸡
以上就是对于有公网IP的用户使用DDNS方法直接映射外网访问即可。但是现在各大运营商都在减少对个人用户提供公网IP,对于没有外网IP的用户解决办法也有很多:群晖的Anyconnect、花生壳、Ngrok、Frp等。从效果来看Frp效果最好。
内网穿透(frp)的作用(需要服务器)
利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
以前已经写过很多关于frp内网穿透的相关教程了,比如
安装frp服务端
1、公网服务器与内网服务器都需要下载frp进行安装,公网服务器(安装服务端),内网服务器(安装客户端)
安装服务端:
服务端(阿里云 Ubuntu 14.04.2 LTS)
输入以下命令,一次一条,一共四条:
apt-get update wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh chmod 700 ./install-frps.sh ./install-frps.sh install
之后他会让你输一些参数,全部参数都有默认值,直接回车就是输入默认值,详细安装服务端教程《配置frp实现内网穿透工具,frp服务端/客户端配置 》当然也可以使用一键安装脚本《Linux系统Frp一键安装脚本&管理脚本》
安装frp客户端
安装客户端:
下载客户端软件:
Mac版本
https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_darwin_amd64.tar.gz
Win版本
https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_windows_386.zip
下载完成后解压,找到 frpc.ini 文件
修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 180.28.83.22,local_port 为本地机器上 web 服务对应的端口, 绑定自定义域名 frp.aisoa.cn
[common] server_addr = 180.28.83.22 #这里是服务器的IP server_port = 5443 #服务器的连接端口 token = LnDeMkeiIedDeDw #服务器的连接Token [web] type = http local_ip = 127.0.0.1 local_port = 8080 custom_domains = frp.aisoa.cn [web1] type = http local_ip = 127.0.0.1 local_port = 8181 custom_domains = frp.aisoa.cn
修改完成后,保存。然后启动 frpc
我是Mac系统 所以执行 ./frpc -c ./frpc.ini
如果是Win的话,要用命令行进入到 客户端解压的文件夹,执行 frpc.exe -c frpc.ini
frp客户端设置开启启动
Linux下添加frp内网穿透工具开机启动
在/etc/rc.local里面添加/home/frp/frps -c /home/frp/frps.ini (文件的具体路径根据实际情况填写),终端里面输入下面的命令,或者把文件下载回本地修改后重新上传覆盖源文件。
vi /etc/rc.local
Windows系统下添加frp内网穿透工具为开机启动项
因为Windows系统下从命令行启动frp内网穿透工具后,如果关闭命令行的黑窗口,frp内网穿透服务就停止了,并且任务栏上一直有个命令行窗口也很不方便,所以要开机后启动并且要隐藏frp内网穿透工具的窗口,方法是这样的:新建一个文本文件,文件内写入如下内容,frp的文件路径根据自己的实际情况修改
然后重命名这个文本文件为frp.vbs ,注意txt的扩展名也要改为vbs,然后把这个frp.vbs放到Windows的启动目录里面。
Windows的启动目录位于“C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp”(如果找不到这个目录可以在运行里面输入:“shell:startup”或者输入“%programdata%/Microsoft/Windows/Start Menu/Programs/Startup”
set ws=WScript.CreateObject("WScript.Shell") ws.Run "d:/frpc.exe -c d:/frpc_net.ini",0
Mac系统下使用PM2来后台运行frp
使用PM2首先得有NodeJS和NPM环境,去node官网下载mac的node安装包,傻瓜式安装,安装完毕后会自带npm。然后使用如下命令
sudo npm install pm2 -g
来进行全局安装pm2,安装完成后,进入到frp的客户端目录。执行命令
pm2 start -x './frpc' -n frp -- -c ./frpc.ini
就可以在后台启用frp,丢掉讨厌的命令行窗口了。
官方QQ群号码:922069959(空)、1093596563(空)