家庭服务器:OpenVPN Access Server
By Xin Lu profile image Xin Lu
2 min read

家庭服务器:OpenVPN Access Server

OpenVPN Access Server(下称OpenVPN AS)有别于OpenVPN Server,前者有图形管理界面和license需求,免费版可以同时连接两个客户端。以后有机会再放上一个极简配置的OpenVPN Server。

以下为OpenVPN AS可直接使用的Docker Compose配置文件,仅复制粘贴就能使用。

services:
  openvpn-as:
    image: openvpn/openvpn-as
    container_name: OpenVPN
    cap_add:
      - NET_ADMIN
    ports:
      - "943:943"
      #- "443:443" # 使用TCP端口进行连接时请取消改行注释 
      - "1193:1193/udp"
    volumes:
      - openvpn-data:/openvpn
    restart: unless-stopped

volumes:
  openvpn-data:
  • 编辑并保存: 创建 docker-compose.yml 文件,复制粘贴以上内容后保存并退出
  • 访问OpenVPN AS:启动docker容器后,打开浏览器,访问https://本地IP:943/admin/完成设置,包括创建用户和下载连接文件。如果该链接无法访问,请使用http替代https
    • 默认管理员用户名和密码为 openvpn/openvpn
    • 普通用户登录请访问 https://本地IP:943/ 无需/admin 部分
    • 若要让OpenVPN AS安全地曝露于互联网上,建议使用反向代理,如Caddy或Nginx
    • 设置VPN连接用户能访问本地网络:
      • 找到Configuration -> VPN Settings -> Routing
      • 选择 Yes, using NAT
      • 在右侧输入框中填入本地子网,如:192.168.0.0/24

如果要看以上配置文件的解释,如下:

  • cap_add: NET_ADMIN: 该设置赋予容器管理网络的权限,否则OpenVPN AS无法正常工作。
  • ports:
    • 943:943: 该设置使用943端口访问OpenVPN AS的管理界面。
    • 1193:1193/udp: 该设置使用默认UDP 端口(1193)连接到服务器。一般情况下UDP因为更快的连接速度而成为VPN默认选择。
    • 443:443: (已注释掉)如果因为某些原因无法使用UDP,则可以取消注释改为使用TCP。
  • volumes:
    • openvpn-data:/openvpn: 该设置用于创建Docker volume以便存储OpenVPN AS的配置和用户数据,保证即使容器重启也不会丢失所有的设置和信息。
By Xin Lu profile image Xin Lu
Updated on
家庭服务器 Docker 中文