ansible: 添加 frp 服务端部署配置

This commit is contained in:
2026-08-22 21:51:51 +08:00
parent 6f5e3dee55
commit 3329694df2
4 changed files with 136 additions and 13 deletions

View File

@@ -0,0 +1,85 @@
---
- name: 配置 frps 服务端
hosts: vps_debian
gather_facts: false
become: true
vars:
frp_version: "0.71.0"
frp_download_url: "https://github.com/fatedier/frp/releases/download/v{{ frp_version }}/frp_{{ frp_version }}_linux_amd64.tar.gz"
frp_local_archive: "/tmp/frp_{{ frp_version }}_linux_amd64.tar.gz"
frp_local_tmp_dir: "/tmp/frp_{{ frp_version }}_linux_amd64"
frp_install_dir: "/opt/frp"
frp_config_dir: "/etc/frp"
vars_files:
- ../vars/vault.yaml
tasks:
- name: 创建 frp 目录
file:
path: "{{ item }}"
state: directory
mode: '0755'
loop:
- "{{ frp_install_dir }}"
- "{{ frp_config_dir }}"
- name: 检查本地是否已有该版本的压缩包
stat:
path: "{{ frp_local_archive }}"
register: local_archive
delegate_to: localhost
run_once: true
- name: 下载 frp 压缩包到本地
get_url:
url: "{{ frp_download_url }}"
dest: "{{ frp_local_archive }}"
timeout: 60
delegate_to: localhost
run_once: true
become: false
when: not local_archive.stat.exists
- name: 解压 frp 压缩包到本地
unarchive:
src: "{{ frp_local_archive }}"
dest: "/tmp/"
creates: "{{ frp_local_tmp_dir }}"
delegate_to: localhost
run_once: true
become: false
when: not local_archive.stat.exists
- name: 复制 frps 二进制文件到目标机器
copy:
src: "{{ frp_local_tmp_dir }}/frps"
dest: "{{ frp_install_dir }}/frps"
mode: '0755'
notify: restart frps
- name: 生成 frps.toml 配置文件
template:
src: ../templates/frps.toml.j2
dest: "{{ frp_config_dir }}/frps.toml"
mode: '0644'
notify: restart frps
- name: 创建 frps 的 systemd 服务文件
template:
src: ../templates/frps.service.j2
dest: /etc/systemd/system/frps.service
mode: '0644'
notify: restart frps
- name: 启用并启动 frps 服务
systemd:
name: frps
enabled: true
state: started
daemon_reload: true
handlers:
- name: restart frps
systemd:
name: frps
state: restarted

View File

@@ -0,0 +1,13 @@
[Uint]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart={{ frp_install_dir }}/frps -c {{ frp_config_dir }}/frps.toml
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,14 @@
bindPort = {{ vault_frps_bind_port }}
vhostHTTPPort = {{ vault_frps_vhost_http_port }}
vhostHTTPSPort = {{ vault_frps_vhost_https_port }}
auth.method = "token"
auth.token = "{{ vault_frps_token }}"
webServer.addr = "0.0.0.0"
webServer.port = {{ vault_frps_dashboard_port }}
webServer.user = "{{ vault_frps_dashboard_user }}"
webServer.password = "{{ vault_frps_dashboard_password }}"
log.to = "/var/log/frps.log"

View File

@@ -1,14 +1,25 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
33313937633334633738393933643562333861303332623836313735383561396636333034616662 61636265383264303933623962346361346339663364393133333235613736373561353863303237
3239633666346235303830346135663362666533353363620a313930393362393536383063326135 3565323065346438656438623061396164323136666531340a313238643033383537363439626136
34363462633030646566643531316466373062343437643863306463626532663761643432366434 65646239663263336431353266316238623035666635623265643863353936363035343135326431
3964623835393037310a366534643464626161353739383639386264613861326533616164656238 6565373532396335330a316432393238353666646235353430343237653034326430653131313561
38326565616131643131386338363036363765313434316661666535333434396337323039613735 32383865313634623131396661326365303833383734396632616664383363383935353935636137
32393137393631613333356238613265663839666237623664373431383463323833326164373264 64666662663437633135316634333438313263643862386566353762313161623836373232336262
33383765393236303263623861376366633862303366356638336363333135623437636133653664 65346131653362343164353739376266386336653331316433353431373334646665646130326437
64336231333531363339656530393438343265643836363736646438373964313236366437383863 65356237383238323665633866333235383135653039633330336339393163356233333431323064
64626638363935383664633739363732366461313566393533353333623565313766326231316263 33633130633936643265353332356664326562386565623765313064363431366365646162313464
36383434313966373461616562353862613237666464653530643431326366353230333735306436 61306333663335616333316362393636383036313364363537393861353935376536343761386335
32623434306462633830356637626262613131386238656665653831353137356565353539623365 32663364356336363139323138656238313366663062663235353838363864313732373830336565
38656232323266346266313235343662646137626163653439616334656335383631396438386436 31643132633266346235323436353736373865633166646138333830653762366432353531393732
3239 65643061313261613633333236653864396634633931366432666161363730306563316266653464
62366331613064633364373464613237383434343765653436323665363434383632363039303864
65333934306531316435383635346130303637663636353039636361353132346231373062656631
35616530643534396138356238626134666365316630666137616134393561366138386631636239
39636538633164383863333431366463313566393131633463623665653264663865386663616632
36636265313338396635303764633235376463643938663233393635613333623238636264323934
36623561653764376134353534303166363833326136313161313531386239643263326663386432
38353965663063393131666464353235316438333365303061303135383863376136653134396330
63343230386332323232396136343030663563646366623137383334306161366232323964633562
39626636366630363262643533323836333664376634313564613833343533656431353035316262
33666137653762383937366237626130333437346165336466326539366566323834366161373265
38323432653932666561