目录
今天下午,想起之前想要连另一个局域网的Oracle服务器,就试着去做,结果找到了端口映射这个概念,并实现了:
百科:
端口映射
首先,简单告诉大家,什么叫端口映射:
端口映射又叫端口转发,又叫虚拟服务器,各个品牌路由器不同,叫法不一样。
端口映射过程
端口映射过程就如同:你家在一个小区里B栋2410室,你朋友来找你,找到小区门口,不知道你住哪层哪号?就问守门的保安,保安很客气的告诉了他你家详细门牌,所以你朋友很轻松的找到了你家。这个过程就是外网访问内网通过端口映射的形象比喻.
我们这里所说的端口,不是计算机硬件的I/O进出端口,而是软件形式上的概念。
服务器可以向外提供多种服务,比如,一台服务器可以同时是WEB服务器,也可以是FTP服务器,同时,它也可以是邮件服务器。
为什么一台服务器可以同时提供那么多的服务呢?其中一个很主要的方面,就是各种服务采用不同的端口分别提供不同的服务,比如:WEB采用80端口,FTP采用21端口等。这样,通过不同端口,计算机与外界进行互不干扰的通信。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。
端口映射
:内网的一台电脑要上因特网对外开放服务或接收数据,都需要端口映射。
端口映射分为动态和静态.动态端口映射:内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给新浪网,新浪网收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。
动态端口映射其实也就是NAT网关的工作方式。
静态端口映射: 就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一个电脑。
现在说一下我实现的方式:
1)先去路由器设置页面,做好端口映射:
a。在转发规则-->>虚拟服务器: 设置:端口映射绑定,如我想外网凡是访问8080和1521端口的,都映射到内网IP为:192.168.1.138的主机上,
图:
b。在转发规则-->>特殊应用程序:设置 端口触发。触发端口即a步骤中的服务端口,开放端口即对应主机要开放的端口,如我想吧tomcat的8080和oracle的1521开放给外网:图:
c。保存所有设置
2)找到自己网线的公网IP(唯一的那个)可在如图出找到:
假设我的公网IP为123.123.32.23
开始测试:
到其他网线去,用:http://123.123.32.23:8080/test/welcome.jsp
就可以访问到我在内网IP为192.168.1.138的主机上开启的tomcat服务器上的test网站系统的welcome页面了。
同样,oracle连接也一样,只要你在用来写内网IP的地方换成公网IP,就可以连上了。
如:jdbc:oracle:thin:@192.168.1.138:1521:companydb
写成:jdbc:oracle:thin:@123.123.32.23:1521:companydb
就ok了,这样,在外网也能访问到我在内网IP为192.168.1.138的主机上开启对应oracle服务了。