TCP/IP协议构建的网络模型
搭建局域网,实现设备间互相访问
- 局域网,也就是内网,由于设备增多和静态ip地址稀缺,因此,多采用使用同一静态ip对外访问 NAT 或 干脆每次都分配一个动态ip地址访问,这时就要采用DDNS了
本地地址如172,192开头的,都是子网ip地址,在mac下 用
$ ifconfig
查询,得到的子网掩码都是一致的,说明在同一个内网内
- 在同一个内网内,访问是很方便的 可以使用
VNC(Virtual Network Console)
在需要互访的机器上各装上client和server即可(例如RealVNC)
https://www.realvnc.com/en/
然后输入相应的内网ip地址 然后选择一个自5900起始的端口号 即可实现远程控制
外网访问内网
已有可用静态ip地址
- 对内网地址做端口映射
通俗来讲,端口映射是将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;利用端口映射功能还可以将一台外网IP地址机器的多个端口映射到内网不同机器上的不同端口。
因此,采用此类方式需要
1.知晓自己的外网IP,并知晓由谁掌管
2.找到相应的一级路由或者通过代理/协议软件,进行端口设置,为自己的内网ip地址,分配一个外网端口
3.由于政策把控严格,一般需要写申明和备案
无可用静态ip地址
- 采用内网穿透产品
- 花生壳既是内网穿透软件、内网映射软件,也是端口映射软件。规模最大,较正规,完善。
收费高,使用简单
官网:http://www.oray.com/ - nat123是内网端口映射与动态域名解析软件,在内网启动映射后,可在外网访问连接内网网站等应用。整个网站没有找到客服电话,网友发了一些反面的评价
收费,使用简单
官网:http://www.nat123.com
3.NATAPP基于ngrok的国内内网穿透服务,免费版会强制更换域名,临时用一下可以
收费,使用简单
官网:https://natapp.cn/
- 采用Ngrok自行搭建
ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析与响应。
开源免费
官网:https://ngrok.com/
源码:https://github.com/inconshreveable/ngrok
ngrok使用go语言开发,源代码分为客户端与服务器端。
国内免费服务器:http://ngrok.ciqiuwl.cn/
- 购买阿里云,华为云,腾讯云等服务,购买域名,租用服务器一条龙服务,最快
不采用NAT等方式,利用teamviewer等远程桌面控制
- 其实这种感觉还是占用了teamviewer的服务器资源,不可能通过无ip,点对点连接,总是直接或间接
- 安装teamviewer的client和server
1.网上下载安装包
$ mkdir teamviewer
$ cd teamviewer/
$ wget http://download.teamviewer.com/download/teamviewer_版本号.deb
2.安装依赖库、更新
$ sudo apt-get install libjpeg62:i386 libxinerama1:i386 libxrandr2:i386 libxtst6:i386 ca-certificates
$ sudo apt-get update
$ sudo apt-get install -f
#sudo -i 进入root模式后,在安装这步sudo就可以不必输入了
- 安装teamviver
$ sudo dpkg -i teamviewer_版本号.deb
- 设置固定密码(添加参数)
$ sudo vim /opt/teamviewer/config/global.conf
[int32] EulaAccepted = 1
[int32] EulaAcceptedRevision = 6
5.设置开机自启
$ sudo ln -sf /opt/teamviewer/tv_bin/teamviewerd /etc/init.d/teaviewerd
$ sudo ln -sf /etc/init.d/teaviewerd /etc/rc2.d/S02teamviewerd
- 使用操作
$ cd /opt/teamviewer/tv_bin
$ sudo teamviewer --setup console #设置启动方式为控制台启动
$ sudo teamviewer --daemon restart #重启teamviewer服务
$ sudo teamviewer --passwd 12345678 #设置密码
$ teamviewer --info #teamview #查看id
最终采用的解决方案
- 其实本来应该给Ubuntu Server 16.04 装上teamviewer 就可以解决这个问题的
但是应该是系统原因,这几天装驱动后有点炸,trash都打不开了,
13版的teamviewer完全打不开,点击图标没反应,
11版的teamviewer可以进去图形界面,但是采用其他设备连接后黑屏
可查询资料太少,只好盲人摸象再试一试其他的
只有不经过注册(installation)的Teamviewer Quicksupport可以,走注册的全都不行
于是采用了折中的方案
1.VMware云桌面虚拟机装了VNC,可以直接访问,查看Teamviewer Quicksupport的动态密码
2.服务器装了teamviewer quicksupport 由于quicksupport版本不支持静态密码,每次重启teamviewer 密码会重置
3.因此,虚拟机查看密码后,再用teamviewer连接
只能这样了