centos 7下安装frp+openxxx实现内网服务器。
- frp 内网穿透工具
- openxxx 虚拟网络工具
准备
云服务器、内网主机
- 云服务器,外网访问地址39.33.12.12,用来做frp服务端
- 内网服务器,访问地址172.30.2.11,用来做frp客户端、openxxx服务端
安装frps(frp服务端)
下载对应frp软件
https://github.com/fatedier/frp/releases
# 下载frp可执行包
wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz
# 解压
tar zxf frp_0.35.1_linux_amd64.tar.gz
# 进入文件
cd frp_0.35.1_linux_amd64/
# 修改配置
vim frps.ini
# 内容如下:
[common]
# tunnel port通信管道
bind_port = 7000
# 连接认证token,客户端与服务端必须一致
#token = 123456
安装frpc(frp客户端)
在内网服务器172.30.2.11上安装frp。
同样先下载frp.
# 下载frp可执行包
wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz
# 解压
tar zxf frp_0.35.1_linux_amd64.tar.gz
# 进入文件
cd frp_0.35.1_linux_amd64/
# 修改配置
vim frpc.ini
# 内容如下:
[common]
# frp服务端ip、端口
server_addr = 39.33.12.12
server_port = 7000
[vpn_test_tcp]
type = udp
# 内网服务器ip
local_ip = 172.30.2.11
# openvpn 端口
local_port = 1194
# 映射端口
remote_port = 21194
设置frpc开机启动(客户端)
# 创建后台启动模版
vim /etc/systemd/system/frpc.service
# 内容如下:
[Unit]
Description=frps
After=network.target
[Service]
ExecStart=/opt/frp_0.35.1_linux_amd64/frpc -c /opt/frp_0.35.1_linux_amd64/frpc.ini
[Install]
WantedBy=multi-user.target
# 启动
systemctl start frpc.service
# 查看启动状态
systemctl status frpc.service
# 开机自启
systemctl enable frpc.service
安装openxpn服务端
openxpn安装采用自动安装脚本安装,
https://github.com/angristan/openvpn-install
将'openxxx-install.sh'脚本拷贝到内网服务器中,然后运行openxxx-install.sh脚本
bash openxxx-install.sh
openvpn-install.sh运行截图
openvpn-install.sh运行截图
修改openxxx配置文件
vim /etc/openvpn/server/server.conf
# 文件内容
local 172.30.2.11
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
# 路由到内网172.30.2网断
push "route 172.30.2.0 255.255.255.0"
ifconfig-pool-persist ipp.txt
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
explicit-exit-notify
openxxx命令
systemctl start openvpn-server@server.service
systemctl status openvpn-server@server.service
systemctl stop openvpn-server@server.service
systemctl restart openvpn-server@server.service
再次运行openxxx-install.sh脚本,可以添加用户。
修改client文件
client文件默认生成在root目录下
client
dev tun
proto udp
# 修改此处端口为frpc配置的21194端口
remote 39.33.12.12 21194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
删除下面两行
#ignore-unknown-option block-outside-DNS
#block-outside-dns
verb 3
openxxx客户端使用
- 在客户端安装openxxx软件(本人是在windown下安装的)
- 将上一步生成的客户端证书拷贝到openvpn安装目录下config目录下
- 打开openvpn,选择你的证书,然后点击connect
openvpn客户端
问题
1. 能连接内网,但不能打开百度
检查client.ovpn文件,删除如下两行内容
ignore-unknown-option block-outside-dns
block-outside-dns
附录
frpc.ini客户端配置参考
[common]
# 公网ip地址
server_addr = 139.196.xx.x
# 服务监听端口
server_port = 7000
# token校验
token = raven
#本地监控
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = admin
#web服务
[web-http]
type = http
local_port = 80
local_ip = 127.0.0.1
# 可以设置二级、三级域名 服务器端无需设置subdomain_host
custom_domains = raven520.top,www.raven520.top
#使用这个属性,服务端需用 subdomain_host 指定一个域名,并且只能用二级域名
#subdomain = hello
# 配置访问时候的账号密码
#http_user = abc
#http_pwd = abc
# tcp穿透 反向代理
[RDP]
type = tcp
local_port = 3389
# 指定服务器监听哪个端口进行监听。使用 ip:3388 即可远程连接本地主机
remote_port = 3388
local_ip = 0.0.0.0
frps.ini服务端配置参考
[common]
# frps绑定端口
bind_port = 7000
# http 访问端口
vhost_http_port = 80
#服务端监控
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
#用这个可以指定域名,客户端可以使用 subdomain,指定一个二级域名。
#用了这个属性,客户端无法开启 custom_domains ,否则服务异常。
#subdomain_host = raven520.top
# token校验
token=raven