大概3个月前,从学校宿舍搬进新家,网络环境条件有了很大的变化。由于受到新的网络限制条件,在尝试使用常见路由结构的情况下,我使用了更加简单的连接方式向服务器提供网络连接并组件可用服务。
前篇
已有条件
- PC一台 (Asus Prime Z270-A 主板/ Rosewill Wireless Adapter on PCI-E Port)
- 服务器一台 (HP DL160G6)
- 闲置普通路由器一个 (linsys)
- 闲置Tplink Pocket AP
- xfinity (Comcast) Internet Service with modem
限制条件
- 家中路由器设置于二楼客厅,远离我所住的一楼房间(服务器和PC均在此),走线困难
- 网络提供商xfinity (Comcast) 限制单一帐号只能接入一个光纤口,接入一楼的光纤口必须开启一个新的账户、购买新的套餐,大大增加了成本
- 服务器没有集成无线网卡,刀片服务器难以增加PCIE口无线网卡
- 空闲路由器没有无线桥接5G WIFI功能
可行但有缺陷的方案
a) 直接通过二楼路由器走线,但网线成本和美观走线不可兼得
b) 通过普联口袋旅行路由器(Tplink Pocket AP)使用客户端模式(Client Mode)接收二楼路由器信号,但Pocket AP只能接收2.4G WIFI信号
正文
方案快速网络配置
PC与服务器的连接
使用CAT7网线连接PC和服务器
在PC中网络链接→适配器设置中选择以太网属性→IPv4协议,设定静止IP,网关设置为PC的IP,子网掩码设置为255.255.255.0
随后在适配器属性中选择“共享”一栏,启用“允许其它网络用户通过此计算机的Internet连接来连接”,下方则选中PC的互联网数据来源,本处为WLAN适配器
在服务器上进入PC网络连接→以太网属性→IPv4协议→设定和PC同一网段的另一个静止IP,网关与子网掩码和PC设置相同
此处举例设置为
IP地址 | 192.168.137.2
子网掩码 | 255.255.255.0
网关 | 192.168.137.1
此时,在两端互相ping另一端IP地址应该已经可以联通并且服务器可以通过这个连接访问到互联网
映射服务器到PC所在局域网
备份服务器虽然主要为PC提供服务,但服务器上的网站/共享文件夹服务却只能让这一台PC访问到而不能让PC所在的家庭主体局域网访问到。在其它环境下当我们遇到这种类似的问题时(比如家庭内部NAS无法在公网下使用)都会想到端口映射这个功能,在处理家庭NAS的公网IP访问问题时,我们都能很轻松地在路由器上找到端口映射功能并且轻松设置。
同样,在Windows环境下我们也有类似于Linux中iptables的功能“netsh”。通过netsh,我们可以把PC的指定端口作为服务器相关的端口的转发端口。
在Windows10下,右键开始按钮,选择使用管理员权限运行PowerShell。我们假设在服务器上使用Nginx运行了一个h5ai程序在86端口,我们可以在PC上访问 http://192.168.137.2:86 来访问到它,而我们希望在整个家庭网络中以PC的默认网站端口(80)来访问到这个h5ai,那么则可以在PowerShell下使用命令:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=192.168.137.2 connectport=88
完成后可以使用netsh命令查看已启用的netsh转发列表
netsh interface portproxy show all
至此,你就可以在整个家庭局域网下输入PC的IP地址(比如192.168.1.30)访问到服务器上运行的h5ai程序,你也可以在家庭路由器上再次设置转发PC的80端口到公网,并且设置域名解析,这样就可以使用家庭网络运营自己的网站了!
转载请标注来源