差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:ovpn-admin [2024/06/25 00:03] – [安裝設定] jonathan | tech:ovpn-admin [2025/01/20 10:03] (目前版本) – alpine 2.21 需要加上 /dev/net/tun jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 安裝 ovpn-admin (OpenVPN + 簡易 WebUI) 方案 ====== | ====== 安裝 ovpn-admin (OpenVPN + 簡易 WebUI) 方案 ====== | ||
- | * 雖然已找到 | + | * 為解決 |
* 安裝環境 | * 安裝環境 | ||
* VM : 2 vCore, 2G RAM, 32G SSD | * VM : 2 vCore, 2G RAM, 32G SSD | ||
- | * OS : Alpine 3.19 + Docker Compose | + | * OS : Alpine 3.21 + Docker Compose |
* 規劃環境 | * 規劃環境 | ||
* OpenVPN 內部網路 : 10.16.0.0/ | * OpenVPN 內部網路 : 10.16.0.0/ | ||
行 9: | 行 9: | ||
===== 安裝設定 ===== | ===== 安裝設定 ===== | ||
- | - Alpine 3.19 Kernel 啟用 ip_tables< | + | - Alpine 3.21 Kernel 啟用 ip_tables< |
modprobe ip_tables | modprobe ip_tables | ||
echo ' | echo ' | ||
reboot | reboot | ||
+ | </ | ||
+ | - 加上 tun device <cli> | ||
+ | mkdir -p /dev/net | ||
+ | mknod / | ||
+ | chmod 666 / | ||
+ | # 檢查模組是否已載入 | ||
+ | lsmod | grep tun | ||
+ | # 如果沒有載入, | ||
+ | modprobe tun | ||
+ | echo " | ||
</ | </ | ||
- 編輯 docker-compose.yml < | - 編輯 docker-compose.yml < | ||
行 18: | 行 28: | ||
openvpn: | openvpn: | ||
container_name: | container_name: | ||
+ | restart: unless-stopped | ||
image: flant/ | image: flant/ | ||
command: / | command: / | ||
行 26: | 行 37: | ||
cap_add: | cap_add: | ||
- NET_ADMIN | - NET_ADMIN | ||
+ | devices: | ||
+ | - / | ||
ports: | ports: | ||
- 443:1194 # for openvpn | - 443:1194 # for openvpn | ||
行 31: | 行 44: | ||
- ./ | - ./ | ||
- ./ | - ./ | ||
+ | - ./ | ||
#- ./ | #- ./ | ||
ovpn-admin: | ovpn-admin: | ||
container_name: | container_name: | ||
+ | restart: unless-stopped | ||
image: flant/ | image: flant/ | ||
command: / | command: / | ||
行 52: | 行 67: | ||
- ./ | - ./ | ||
- ./ | - ./ | ||
+ | openvpn-monitor: | ||
+ | container_name: | ||
+ | restart: unless-stopped | ||
+ | image: ruimarinho/ | ||
+ | environment: | ||
+ | TZ: " | ||
+ | OPENVPNMONITOR_DEFAULT_DATETIMEFORMAT: | ||
+ | OPENVPNMONITOR_SITES_0_SHOWDISCONNECT: | ||
+ | OPENVPNMONITOR_SITES_0_PORT: | ||
+ | OPENVPNMONITOR_SITES_0_NAME: | ||
+ | OPENVPNMONITOR_SITES_0_HOST: | ||
+ | OPENVPNMONITOR_SITES_0_ALIAS: | ||
+ | OPENVPNMONITOR_DEFAULT_SITE: | ||
+ | OPENVPNMONITOR_DEFAULT_MAPS: | ||
+ | OPENVPNMONITOR_DEFAULT_LONGITUDE: | ||
+ | OPENVPNMONITOR_DEFAULT_LOGO: | ||
+ | OPENVPNMONITOR_DEFAULT_LATITUDE: | ||
+ | network_mode: | ||
nginx: | nginx: | ||
container_name: | container_name: | ||
+ | restart: unless-stopped | ||
image: nginx: | image: nginx: | ||
ports: | ports: | ||
行 65: | 行 99: | ||
listen 8080; | listen 8080; | ||
server_name 127.0.0.1; | server_name 127.0.0.1; | ||
+ | |||
+ | location /mon { | ||
+ | rewrite /mon(.*) /$1 break; | ||
+ | proxy_pass http:// | ||
+ | } | ||
location / { | location / { | ||
行 77: | 行 116: | ||
htpasswd -c .htpasswd jonathan | htpasswd -c .htpasswd jonathan | ||
cat .htpasswd | cat .htpasswd | ||
- | </ | + | </ |
+ | 如果要驗證 htpasswd 設定的密碼是否正確, | ||
+ | ovpn-admin-246: | ||
+ | Password for user everstar correct. | ||
+ | </ | ||
+ | </ | ||
- 啟動 ovpn-admin 服務 <cli> | - 啟動 ovpn-admin 服務 <cli> | ||
+ | mkdir -p Dockovpn | ||
+ | chmod a+w Dockovpn | ||
docker compose up -d | docker compose up -d | ||
+ | </ | ||
+ | |||
+ | * 如果要管理 vpn 帳號 - http:// | ||
+ | * ++看範例畫面|{{: | ||
+ | * 如果要看線上 vpn 用戶 - http:// | ||
+ | * ++看範例畫面|{{: | ||
+ | |||
+ | ===== 安裝 openvpn-snmp-stats 強化監控 ===== | ||
+ | * 參考 - https:// | ||
+ | * 安裝 openvpn.py <cli> | ||
+ | apk add --update --no-cache python3 | ||
+ | ln -sf python3 / | ||
+ | mkdir -p / | ||
+ | cd / | ||
+ | wget https:// | ||
+ | chmod a+x openvpn.py | ||
+ | </ | ||
+ | openvpn-61: | ||
+ | {" | ||
+ | </ | ||
+ | * 設定 snmpd.conf <cli> | ||
+ | vi / | ||
+ | </ | ||
+ | : | ||
+ | |||
+ | extend wireguard / | ||
+ | </ | ||
+ | service snmpd restart | ||
</ | </ | ||
行 101: | 行 175: | ||
- ./ | - ./ | ||
- ./ | - ./ | ||
+ | - ./ | ||
- ./ | - ./ | ||
: | : | ||
行 106: | 行 181: | ||
- 重新啟動 docker compose 讓設定生效< | - 重新啟動 docker compose 讓設定生效< | ||
- 讓所有 VPN Client 斷線重新連入 | - 讓所有 VPN Client 斷線重新連入 | ||
+ | |||
+ | ==== 2. 想修改 Openvpn 為 UDP 模式 | ||
+ | * 目前版本 [[https:// | ||
+ | : | ||
+ | openvpn --config / | ||
+ | </ | ||
===== 參考網址 ===== | ===== 參考網址 ===== |