如何讓內(nèi)網(wǎng)的CENTOS服務器能用域名訪問?
利用frp穿透技術,來實現(xiàn)你要的功能,不需要公網(wǎng)IP。畢竟現(xiàn)在公網(wǎng)IP運營商有很多限制:
以下文章轉載自吳昊博客
frp內(nèi)網(wǎng)穿透是通過一個帶有公網(wǎng)IP的服務器進行中轉,對被控主機實現(xiàn)反向代理,用戶通過訪問frps(中轉服務器)來實現(xiàn)對frpc(被控主機)的遠程訪問。
frp流程圖如下:
frp項目地址:https://github.com/fatedier/frp
本實驗環(huán)境以阿里云服務器作為中轉機,中轉服務器使用Centos7.6,被控主機使用Centos7.6,用戶使用Windows10由于網(wǎng)絡原因,文中鏈接已經(jīng)替換成了本地鏈接,如不放心,請自行去GitHub下載
frps中轉服務器配置
1、下載frp
在一臺有公網(wǎng)IP的主機上配置frps,我這里以阿里云Centos7.x主機為例
1 wget http://down.whsir.com/downloads/frp_0.27.0_linux_amd64.tar.gz2 tar xf frp_0.27.0_linux_amd64.tar.gz3 mv frp_0.27.0_linux_amd64 /usr/local4 cd /usr/local/frp_0.27.0_linux_amd645 rm -f frpc*2、配置frps
這里使用最基礎的配置,bind_port 表示frp面板的監(jiān)控端口,dashboard_user表示面板的登陸帳號,dashboard_pwd表示面板的登陸密碼,其它不動。
1 vi
frps.ini
配置文件說明:
1 [common]
2 bind_port = 70003
4 dashboard_user = whsir
5 dashboard_pwd = blog.whsir.com6 dashboard_port = 80003、啟動frps
配置啟動服務
1 vi /etc/systemd/system/frps.service1 [Unit]2 Description=frps daemon3 After=syslog.target network.target4 Wants=network.target56 [Service]7 Type=simple8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frps -c /usr/local/frp_0.27.0_linux_amd64/frps.ini910 [Install]11 WantedBy=multi-user.target執(zhí)行以下兩個命令1 systemctl enable frps2 systemctl start frps4、訪問監(jiān)控平臺
http://公網(wǎng)IP:8000
賬號whsir
密碼blog.whsir.com
如果訪問不了,請使用ss -lnt命令檢查端口是否啟動,是否因為防火墻原因攔截。
至此frps中轉服務器配置完成
frpc內(nèi)網(wǎng)主機配置
1、內(nèi)網(wǎng)主機下載frp
1 wget http://down.whsir.com/downloads/frp_0.27.0_linux_amd64.tar.gz2 tar xf frp_0.27.0_linux_amd64.tar.gz3 mv frp_0.27.0_linux_amd64 /usr/local4 cd /usr/local/frp_0.27.0_linux_amd645 rm -f frps*2、配置frpc
其中x.x.x.x表示frps中轉服務器IP地址
ssh字段:local_port = 22示被控(內(nèi)網(wǎng))主機的ssh端口,remote_port = 6000表示ssh中轉端口
web字段:local_port = 80表示被控(內(nèi)網(wǎng))主機的web端口,remote_port = 8081表示web中轉端口
1 vi frpc.ini1 [common]2 server_addr = x.x.x.x3 server_port = 700045 [ssh]6 type = tcp7 local_ip = 127.0.0.18 local_port = 229 remote_port = 60001011 [web]12 type = tcp13 local_ip = 127.0.0.114 local_port = 8015 remote_port = 80813、啟動frpc
配置啟動服務
1 vi /etc/systemd/system/frpc.service1 [Unit]2 Description=frpc daemon3 After=syslog.target network.target4 Wants=network.target56 [Service]7 Type=simple8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frpc -c /usr/local/frp_0.27.0_linux_amd64/frpc.ini910 [Install]11 WantedBy=multi-user.target執(zhí)行如下命令1 systemctl enable frpc2 systemctl start frpc至此frpc被控主機配置完成
此時可通過x.x.x.x:6000連接內(nèi)網(wǎng)ssh,通過http://x.x.x.x:8081訪問內(nèi)網(wǎng)主機web,訪問速度取決于帶寬
這時候,內(nèi)網(wǎng)主機就映射到外網(wǎng)去了,然后,用域名指定你的frp主機ip就可以了。這樣就可以實現(xiàn)你的功能了。