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