用域名访问内网服务器(如何访问内网服务器)
如何让内网的CENTOS服务器能用域名访问
利用frp穿透技术,来实现你要的功能,不需要公网IP。毕竟现在公网IP运营商有很多限制:
以下文章转载自吴昊博客
frp内网穿透是通过一个带有公网IP的服务器进行中转,对被控主机实现反向代理,用户通过访问frps(中转服务器)来实现对frpc(被控主机)的远程访问。
frp流程图如下:
frp项目地址:
本实验环境以阿里云服务器作为中转机,中转服务器使用Centos7.6,被控主机使用Centos7.6,用户使用Windows10由于网络原因,文中链接已经替换成了本地链接,如不放心,请自行去GitHub下载
frps中转服务器配置
1、下载frp
在一台有公网IP的主机上配置frps,我这里以阿里云Centos7.x主机为例
1 wget
2 tar xf frp_0.27.0_linux_amd64.tar.gz
3 mv frp_0.27.0_linux_amd64/usr/local
4 cd/usr/local/frp_0.27.0_linux_amd64
5 rm-f frpc*
2、配置frps
这里使用最基础的配置,bind_port表示frp面板的监控端口,dashboard_user表示面板的登陆帐号,dashboard_pwd表示面板的登陆密码,其它不动。
1 vi
frps.ini
配置文件说明:
1 [common]
2 bind_port= 7000
3
4 dashboard_user= whsir
5 dashboard_pwd= blog.whsir.com
6 dashboard_port= 8000
3、启动frps
配置启动服务
1 vi/etc/systemd/system/frps.service
1 [Unit]
2 Description=frps daemon
3 After=syslog.target network.target
4 Wants=network.target
5
6 [Service]
7 Type=simple
8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frps-c/usr/local/frp_0.27.0_linux_amd64/frps.ini
9
10 [Install]
11 WantedBy=multi-user.target
技行以下两个命令
1 systemctl enable frps
2 systemctl start frps
4、访问监控平台
http://公网IP:8000
账号whsir
密码blog.whsir.com
如果访问不了,请使用ss-lnt命令检查端口是否启动,是否因为防火墙原因拦截。
至此frps中转服务器配置完成
frpc内网主机配置
1、内网主机下载frp
1 wget
2 tar xf frp_0.27.0_linux_amd64.tar.gz
3 mv frp_0.27.0_linux_amd64/usr/local
4 cd/usr/local/frp_0.27.0_linux_amd64
5 rm-f frps*
2、配置frpc
其中x.x.x.x表示frps中转服务器IP地址
ssh字段:local_port= 22示被控(内网)主机的ssh端口,remote_port= 6000表示ssh中转端口
web字段:local_port= 80表示被控(内网)主机的web端口,remote_port= 8081表示web中转端口
1 vi frpc.ini
1 [common]
2 server_addr= x.x.x.x
3 server_port= 7000
4
5 [ssh]
6 type= tcp
7 local_ip= 127.0.0.1
8 local_port= 22
9 remote_port= 6000
10
11 [web]
12 type= tcp
13 local_ip= 127.0.0.1
14 local_port= 80
15 remote_port= 8081
3、启动frpc
配置启动服务
1 vi/etc/systemd/system/frpc.service
1 [Unit]
2 Description=frpc daemon
3 After=syslog.target network.target
4 Wants=network.target
5
6 [Service]
7 Type=simple
8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frpc-c/usr/local/frp_0.27.0_linux_amd64/frpc.ini
9
10 [Install]
11 WantedBy=multi-user.target
执行如下命令
1 systemctl enable frpc
2 systemctl start frpc
至此frpc被控主机配置完成
此时可通过x.x.x.x:6000连接内网ssh,通过访问内网主机web,访问速度取决于带宽
这时候,内网主机就映射到外网去了,然后,用域名指定你的frp主机ip就可以了。这样就可以实现你的功能了。
怎么配置内网和外网通过域名访问内部网站
配置内网和外网通过域名访问内部网站的关键在于映射。首先,服务器需被映射至外网地址以确保外网能够访问。若服务器地址为内网,外网无法访问,需登录路由器并映射IP和端口。例如,FTP端口通常为21,需在路由器端口映射中添加该端口以及相应的内网IP地址。
方法二中,首先安装nat123软件,然后启用此软件并添加端口映射。选择所需内网发布至外网的应用,例如网站应用的80端口映射,或选择其他端口,甚至可进行全端口映射。用户可使用自定义顶级域名或使用软件提供的二级域名。完成域名映射后,使用域名即可访问内部网站,实现外网访问内网。
究竟为什么内网不能用外网地址访问内部服务器
外网访问内网首先服务器必须影射到外网地址才可以访问,如果你的地址是内网的,外网无法访问,必须登录路由器映射IP和端口。FTP的端口和外网端口设置也必须一样,FTP默认21端口,在路由的端口映射里,添加你的IP,也就是192.168.1.100,而端口填21。方法二
1.在内网安装nat123软件。
2.启用nat123。添加端口映射。选择自己需要内网发布到外网的应用。如网站应用80端口映射,或其他,或全端口映射所有应用。可以使用自己的顶级域名,或直接使用默认提示的二级域名。
3.域名映射后,用域名访问即可以了哦。就是这么简单实现外网访问内网。