当前位置:   article > 正文

【docker部署frp+dnsmasq 内网穿透】_docker pull dnsmasq

docker pull dnsmasq

一、需要的准备工作

1.公网服务器一台(或者有公网ip的服务器);
2.内网服务器一台(或者win系统电脑);
3.公网服务器安装docker
3.公网服务器安装frp安装包或镜像;
4.公网服务器安装dnsmasq安装包或镜像;

二、服务器部署开始

1.安装docker

  1. 在尝试安装新版本之前卸载任何此类旧版本以及相关的依赖项
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  1. 安装yum-utils软件包(提供yum-config-manager 实用程序)并设置存储库。
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 1
  • 2
  1. 安装 Docker 引擎、containerd 和 Docker Compose
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 1
  1. 启动 Docker。
sudo systemctl start docker
  • 1
  1. 通过运行镜像来验证Docker Engine安装是否成功 hello-world。
sudo docker run hello-world
  • 1

安装docker官网链接

2.安装frp服务端 【安装在公网服务器】

  1. 下载frp镜像
    frps镜像下载地址
docker pull snowdreamtech/frps:latest
  • 1
  1. 创建一个文件夹用来存放映射文件
mkdir /home/feiji/frps
  • 1
  1. 创建一个frps.ini文件
touch frps.ini
  • 1

frps.ini 内容

[common]
#服务端暴露的端口及客户端连接时需要的token密码
bind_port = 7000
token = jichang

#frps管理后台的端口和账号密码
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = feiji

#如果你想支持http,必须指定http端口监听
vhost_http_port = 80
#自定义二级域名
subdomain_host = feiji.proxy
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  1. 创建一个启动脚本
    **注意!!!部分版本的脚本命令是 …/frps.ini:/etc/frp/frps.ini … 但是经实践,需要映射到/etc/frp/frps.toml 否者 dashboard 看板有概率无法启动 **
docker run --restart=always  --network host  -d -v /home/feiji/frps/frps.ini:/etc/frp/frps.toml --name frps snowdreamtech/frps
  • 1
  1. 开放当前服务的端口
75007000  端口需要防火墙放开
  • 1
  1. 打开dashboard 查看服务端是否启动成功

3.安装frp客户端 【安装在内网服务器】

  1. 下载frpc客户端安装包
    frpc客户端安装包
    在这里插入图片描述

  2. 下载后解压到内网服务器或win电脑
    在这里插入图片描述

  3. 编辑frp客户端只修改frpc.ini的文件内容

[common]
# frp服务端所在服务器的公网IP  我这个是乱写的一个
server_addr = 47.91.110.11 
# frp服务端的端口
server_port = 7000
# frp服务端的token密码,保持一致
token = jichang

# 当前服务器需要穿透出去的内网服务的端口
[本地-测试-管理后台]
type = http
local_ip = localhost
local_port = 8080
# 域名前缀 可自定义
subdomain = local-test-admin
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  1. 启动客户端frpc
    在这里插入图片描述
    在这里插入图片描述
  2. 打开dashboard 查看客户端服务及端口是否注册成功
    在这里插入图片描述

4.安装dns解析器 【安装在公网服务器】

  1. 下载dns镜像
docker pull jpillora/dnsmasq
  • 1

dnsmasq下载连链接
在这里插入图片描述

  1. 创建一个文件夹用来存放映射文件
mkdir /home/feiji/dns
  • 1
  1. 创建一个dnsmasq.conf文件
touch dnsmasq.conf
  • 1

dnsmasq.conf 内容

#dnsmasq config, for a complete example, see:
#  http://oss.segetech.com/intra/srv/dnsmasq.conf
#log all dns queries
log-queries
#dont use hosts nameservers
no-resolv
#use cloudflare as default nameservers, prefer 1^4
#这两个server是国内常规使用的代理服务器ip 
server=8.8.8.8
server=114.114.114.114
strict-order
#serve all .company queries using a specific nameserver
#server=/company/10.0.0.1
#explicitly define host-ip mappings
#域名解析frps.ini里自定义二级域名 subdomain_host = feiji.proxy 
#这个意思是当前服务器接收到的请求中,如果域名带有feiji.proxy的,全部转发到47.91.110.11(部署了frp服务端的) 服务器上,由此进入本地穿透出来的服务
address=/feiji.proxy/47.91.110.11 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  1. 创建一个启动dns服务的脚本
touch start-dns.sh
  • 1

start-dns.sh 内容

docker run \
	--name dnsmasq \
	-d \
	-p 53:53/udp \
	-p 5380:8080 \
	# /dns/dnsmasq.conf换成你本地这个文件的绝对地址
	-v /dns/dnsmasq.conf:/etc/dnsmasq.conf \
	--log-opt "max-size=100m" \
	# dns管理后台的账号密码可以自己设置
	-e "HTTP_USER=foo" \
	-e "HTTP_PASS=bar" \
	--restart always \
	jpillora/dnsmasq
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

添加权限

chmod -x start-dns.sh
  • 1
  1. 开放当前服务的端口
5380   端口需要防火墙放开
  • 1
  1. 打开dnsmasq 管理后台查看服务端是否启动成功

在这里插入图片描述

三、DNS配置测试内网穿透

  1. 配置dns服务器IP
    选择你链接的网络,点击属性,设置dns的服务器IP
    在这里插入图片描述
  2. 打开frp的dashboard 看板,选择对应注册进去的服务,在配置了对应dns的电脑上请求对应域名
    在这里插入图片描述
    请求成功
    访问成功
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/85058
推荐阅读
相关标签
  

闽ICP备14008679号