问题背景
没钱买服务器,但是还想把自己的网站放到公网上,让自己可以在公网访问,方便自己的使用。
但是,利用花生壳实现内网穿透限制太多太多,比如:只能进行两条映射,有带宽限制,想加载视频,想都别想······
但是,迫于资本的无奈,还是选择了linux花生壳来实现内网穿透,直到今天我家的路由器坏了,不得已换了这个已经使用5年的路由器,竟然有了新的发现,我真的是井底之蛙了😔
设备以及环境
- 路由器:TL-WDR5620千兆易展版
- centos7.5 64位系统
- vmware虚拟机 16.0版本
- 具有公网IP地址(一般拨号上网的都会有,直接去服务器后台看就可以)
过程
1. 安装vmware虚拟机以及centos7.5 64位系统
这个我就不再展开,网上的教程很多
2. 更改网络的连接方式
安装完成之后,需要更改网络的连接方式,使得虚拟机可以直接和物理路由器相连
![](https://i-blog.csdnimg.cn/blog_migrate/885ea70cb47f2c67938ed36633d72535.png)
点击上面的设置
![](https://i-blog.csdnimg.cn/blog_migrate/77f0ac89aa8158cec695b76c14d87e77.png)
选择桥接模式,这里简单谈谈我对桥接模式以及NAT模式的理解,因为在实践过程中,我发现选NAT模式是行不通的。
![](https://fastly.jsdelivr.net/gh/NEUQer-xing/Markdown_images/images/20220522154924.png)
这个应该大致是NAT模式的连接图,类似于虚拟机通过创建了一个内部环境的局域网并且连接真实的电脑网络,通过这个真实的电脑从而实现信息交互,但是,真实的路由这样是察觉不到虚拟机的存在的,所以就不可以使用NAT模式,而是选择桥接模式。
桥接模式的连接图如下所示:
![](https://fastly.jsdelivr.net/gh/NEUQer-xing/Markdown_images/images/20220522155411.png)
虚拟机也是直接可以连接到真实路由并且获得IP地址的,所以,也就可以利用路由器的功能来实现内网穿透。
![](https://fastly.jsdelivr.net/gh/NEUQer-xing/Markdown_images/images/20220522160522.png)
CX就是我笔记本电脑的名称,而xc是linux系统的名称,可以看到两者以及处在同一个局域网下了,所以,我们进行内网穿透。
3. 进入路由器后台管理页面,点击虚拟服务器应用进入
![](https://fastly.jsdelivr.net/gh/NEUQer-xing/Markdown_images/images/20220522161041.png)
![](https://fastly.jsdelivr.net/gh/NEUQer-xing/Markdown_images/images/20220522161054.png)
添加端口映射,其中,内部端口就是你的应用服务的响应端口,我这里使用的是tomcat,所以默认是8080,外部端口就是http协议端口号80,这样就可以通过公网IP直接访问到自己的网页了。
4.效果如下
![](https://fastly.jsdelivr.net/gh/NEUQer-xing/Markdown_images/images/20220522164312.png)
直接输入公网IP地址就可以访问到我的网页了