本教程的目标是实现把家庭网络下的一台web服务器,最后完全暴露在公网中,所以不仅仅是台web服务器,应该是全能的38.21.226.123服务器。
为什么我们需要一个家庭web服务器?
随着家庭宽带的带宽越来越高,我们不禁会想怎么好好利用这个带宽做点有意思的事情,所以打造一个家庭web服务器变得越来越流行。 家庭web服务器有如下优点:
-
对比与vps和相同配置云端服务器,家庭web服务器整体性价比非常高。
-
个人家庭宽带带宽成本越来月低。
-
可以打造家庭web服务器的设备越来越多,成本也可以很低。
-
容易和家里的联网设备组网,实现远程控制。
-
容易做本地调试(例如小程序接口开发)
缺点:
-
一般运营商会禁止到常用的web服务器端口(80,443),家庭web服务器需要避开这两个端口
-
家庭宽带的ip不是固定的,每次拨号都会有新的ip。
从上面的分析来说,家庭web服务器的好处还是挺多的,接下来我们就来打造一个家庭web服务器。
基础条件
-
家庭宽带路由器支持拨号 现在宽带运营商在安装宽带的时候会送一个路由器(或者光猫),并且一般会告诉你拨号账号和密码。如果想上海电信这样子是光猫并且没给你超级管理员账号的,你可以给电信打电话要路由器超级管理员账号和拿到拨号上网账号和密码。如果你有额外购买路由器的话,可以让光猫设置成桥接,然后连上自己的路由器,自己的路由器设置拨号。
-
路由器支持dmz 一般的都路由器都支持dmz,如果不支持建议额外购买一个路由器。
-
路由器支持ddns或者服务安装ddns服务
路由器选择注意事项
-
如果自己家的带宽大于100m 需要选择全千兆路由器
-
如果条件允许可以选择软路由,这样子可玩性更高。
-
带宽超过100m的需要注意,网线和水晶头得是支持千兆的。
web服务器选择
web服务器可以是个人电脑或者使用微型电脑。个人电脑作为常年在线的web服务器个人是不推荐的,无论是功耗还是方便性上面都不推荐。如果对web服务器性能要求不高,微型电脑是很好的选择,例如树莓派b3,斐讯n1(刷armbian)等arm架构的微型电脑性能不低,而且静音,功耗也低是不错的选择。如果对性能有比较高的需求,倒是可以自己diy一个x86架构的服务,笔者使用蜗牛星际打造一个web服务器(价格在600内),然后安装linux系统。
安装nginx,设置http监听端口为非80端口(例如81),https端口为非443(例如444)
域名解析
家庭宽带ip都不是固定的,每次拨号后ip都会变一次。这个时候传统的dns就不好弄了,ddns闪亮登场。
百度百科:
DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
虽然主流的域名提供商都支持ddns,但是路由器一般不会集成你的域名提供商。根据自己的路由器支持的ddns厂商,申请一个域名(这个域名一般会是一个二级域名,可能还需要付费,一般不贵),然后配置自己的ddns。 然后再把自己的域名cname到这个二级域名上。
设置dmz主机
百度百科:
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。
简单点说,在路由器dmz设置成你web服务器内网ip,这个时候你的web服务器就完全暴露在公网环境中。这个时候你ssh,ftp这些服务都是正常安装和服务的。
总结
到此我们把家庭中的web服务器暴露在公网的目标已经达到。其中家庭的路由器扮演着主要的角色。
38.21.226.1
38.21.226.2
38.21.226.3
38.21.226.4
38.21.226.5
38.21.226.6
38.21.226.7
38.21.226.8
38.21.226.9
38.21.226.10
38.21.226.11
38.21.226.12
38.21.226.13
38.21.226.14
38.21.226.15
38.21.226.16
38.21.226.17
38.21.226.18
38.21.226.19
38.21.226.20
38.21.226.21
38.21.226.22
38.21.226.23
38.21.226.24
38.21.226.25
38.21.226.26
38.21.226.27
38.21.226.28
38.21.226.29
38.21.226.30
38.21.226.31
38.21.226.32
38.21.226.33
38.21.226.34
38.21.226.35
38.21.226.36
38.21.226.37
38.21.226.38
38.21.226.39
38.21.226.40
38.21.226.41
38.21.226.42
38.21.226.43
38.21.226.44
38.21.226.45
38.21.226.46
38.21.226.47
38.21.226.48
38.21.226.49
38.21.226.50
38.21.226.51
38.21.226.52
38.21.226.53
38.21.226.54
38.21.226.55
38.21.226.56
38.21.226.57
38.21.226.58
38.21.226.59
38.21.226.60
38.21.226.61
38.21.226.62
38.21.226.63
38.21.226.64
38.21.226.65
38.21.226.66
38.21.226.67
38.21.226.68
38.21.226.69
38.21.226.70
38.21.226.71
38.21.226.72
38.21.226.73
38.21.226.74
38.21.226.75
38.21.226.76
38.21.226.77
38.21.226.78
38.21.226.79
38.21.226.80
38.21.226.81
38.21.226.82
38.21.226.83
38.21.226.84
38.21.226.85
38.21.226.86
38.21.226.87
38.21.226.88
38.21.226.89
38.21.226.90
38.21.226.91
38.21.226.92
38.21.226.93
38.21.226.94
38.21.226.95
38.21.226.96
38.21.226.97
38.21.226.98
38.21.226.99
38.21.226.100
38.21.226.101
38.21.226.102
38.21.226.103
38.21.226.104
38.21.226.105
38.21.226.106
38.21.226.107
38.21.226.108
38.21.226.109
38.21.226.110
38.21.226.111
38.21.226.112
38.21.226.113
38.21.226.114
38.21.226.115
38.21.226.116
38.21.226.117
38.21.226.118
38.21.226.119
38.21.226.120
38.21.226.121
38.21.226.122
38.21.226.123
38.21.226.124
38.21.226.125
38.21.226.126
38.21.226.127
38.21.226.128
38.21.226.129
38.21.226.130
38.21.226.131
38.21.226.132
38.21.226.133
38.21.226.134
38.21.226.135
38.21.226.136
38.21.226.137
38.21.226.138
38.21.226.139
38.21.226.140
38.21.226.141
38.21.226.142
38.21.226.143
38.21.226.144
38.21.226.145
38.21.226.146
38.21.226.147
38.21.226.148
38.21.226.149
38.21.226.150
38.21.226.151
38.21.226.152
38.21.226.153
38.21.226.154
38.21.226.155
38.21.226.156
38.21.226.157
38.21.226.158
38.21.226.159
38.21.226.160
38.21.226.161
38.21.226.162
38.21.226.163
38.21.226.164
38.21.226.165
38.21.226.166
38.21.226.167
38.21.226.168
38.21.226.169
38.21.226.170
38.21.226.171
38.21.226.172
38.21.226.173
38.21.226.174
38.21.226.175
38.21.226.176
38.21.226.177
38.21.226.178
38.21.226.179
38.21.226.180
38.21.226.181
38.21.226.182
38.21.226.183
38.21.226.184
38.21.226.185
38.21.226.186
38.21.226.187
38.21.226.188
38.21.226.189
38.21.226.190
38.21.226.191
38.21.226.192
38.21.226.193
38.21.226.194
38.21.226.195
38.21.226.196
38.21.226.197
38.21.226.198
38.21.226.199
38.21.226.200
38.21.226.201
38.21.226.202
38.21.226.203
38.21.226.204
38.21.226.205
38.21.226.206
38.21.226.207
38.21.226.208
38.21.226.209
38.21.226.210
38.21.226.211
38.21.226.212
38.21.226.213
38.21.226.214
38.21.226.215
38.21.226.216
38.21.226.217
38.21.226.218
38.21.226.219
38.21.226.220
38.21.226.221
38.21.226.222
38.21.226.223
38.21.226.224
38.21.226.225
38.21.226.226
38.21.226.227
38.21.226.228
38.21.226.229
38.21.226.230
38.21.226.231
38.21.226.232
38.21.226.233
38.21.226.234
38.21.226.235
38.21.226.236
38.21.226.237
38.21.226.238
38.21.226.239
38.21.226.240
38.21.226.241
38.21.226.242
38.21.226.243
38.21.226.244
38.21.226.245
38.21.226.246
38.21.226.247
38.21.226.248
38.21.226.249
38.21.226.250
38.21.226.251
38.21.226.252
38.21.226.253
38.21.226.254