外网访问个人电脑
原理
ASDL拨号上网
这种上网方式不经过路由器等路由设备, 所以计算机直接获得公网的IP地址.
通过路由器共享上网
如果使用的是路由器来上网, 则需要在路由器上做端口映射, 这样外网的计算机才能访问到内网主机.
端口映射
在Internet中, 只有公网IP能够互相通讯.
局域网内的私有IP之间能够互相通讯.
公网IP和私有IP不能直接互相通讯.
路由器有两个IP: 公网IP, 用于和公网的计算机通讯; 私有IP, 用于和内网的计算机通讯.
内网的主机, 获取的是私有IP, 它们只能通过路由器访问外网, 和公网的其他计算机进行通讯.
各个路由器厂商对端口映射这个功能所取的名称不同, 有的叫虚拟服务器, 有的叫NAT设置.
私有地址范围
A类地址: 10.0.0.0-10.255.255.255
B类地址: 172.16.0.0-172.31.255.255
C类地址: 192.168.0.0-192.168.255.255
例子
假设外网有一台ADSL直接拨号上网的主机A, 其公网IP是123.207.62.191
现在A想要访问某个内网主机B, 其IP是192.168.1.104
假设路由器设置了端口映射, 规则为: 将所有发向路由器的80端口的数据, 都转发到主机B上.
访问过程:
- A向路由器(117.28.182.47)发送请求, 要求访问B的80端口.
- 路由器收到请求后, 按照端口映射规则, 通过内网IP地址192.168.1.1把请求的数据发送到内网主机B上.
- B收到请求后, 把响应数据发送到路由器.
- 路由器收到B的响应数据后, 通过公网IP117.28.182.47把它们发送到A.
设置
进入路由器管理界面, 找到虚拟服务器功能或NAT设置功能. 如下图所示:
填写参数, 如下图所示:
关于端口的设置, 一般如果内网开启的服务需要哪个端口, 就映射到哪个端口. 如, 用Node.js写了一个程序, 访问3000端口, 就在内网端口那边填3000端口. 另外, 建议内网外网使用一样的端口, 省得记忆.
设置完毕后, 百度搜索"IP"关键字, 获取路由器的外网IP.
然后就可以通过外网IP:9000访问内网了.
Generated by Emacs 25.x(Org mode 8.x)
Copyright © 2014 - Pinvon - Powered by EGO