IT评测·应用市场-qidao123.com

标题: 再次整理openwrt安装openvpn服务器 [打印本页]

作者: 干翻全岛蛙蛙    时间: 2024-11-9 20:21
标题: 再次整理openwrt安装openvpn服务器
遇坑很多,网上文章言语不详,大概太过大抵大概某一细节着墨太多,颠末不停摸索,终于总结了这篇文章,实测好用,送给不甘寂寞的各位。

步骤 1:更新软件包列表

首先,登录到你的 OpenWRT 路由器管理界面(通常是 http://192.168.1.1),然后打开 System -> Software 页面,点击 Update lists 按钮来更新软件包列表。
如果你更喜好利用 SSH 来完成这些操作,你可以通过 SSH 毗连到路由器并运行以下命令:
  1. opkg update
复制代码
步骤 2:安装 OpenVPN 软件包

接下来,安装 OpenVPN 服务器及相关软件包。你可以在 Web 管理界面的 Software 页面搜索并安装以下软件包,大概通过 SSH 安装它们。
通过 SSH 安装命令如下:
  opkg install openvpn-openssl openvpn-easy-rsa luci-app-openvpn

步骤 3:生成各种笑容和黑脸


利用 easy-rsa 工具生成所需的 CA 证书和密钥。
步骤 4:配置 OpenVPN 服务器

编辑 OpenVPN 服务器的配置文件,通常位于 /etc/openvpn/server.conf。如果该文件不存在,你需要手动创建它。
这个可以百度例如:
   # 监听的端口和协议
  port 1194
  proto udp
  #利用tap设备,二层设备,通常利用局域网
  #proto tap
  # 利用 TUN 设备三层设备,互联网
  dev tun
  # 服务器端的证书与密钥文件
  ca /etc/openvpn/pki/ca.crt
  cert /etc/easy-rsa/pki/issued/server.crt
  key /etc/easy-rsa/pki/private/server.key
  # Diffie-Hellman 参数
  dh /etc/easy-rsa/pki/dh.pem
  # HMAC 密钥(增加 TLS 安全性)
  tls-auth /etc/openvpn/ta.key 0
  # 加密算法
  cipher AES-256-CBC
  # 配置 VPN 子网(实用于客户端的 IP 池)
  server 10.1.0.0 255.255.255.0
  #为客户端分配固定ip的记载文件,不需要
  #ifconfig-pool-persist /tmp/ipp.txt
  # 路由设置
  #vpn服务端向客户端推送vpn服务端内网网段,有几条路由就写几个push指令
push "route 192.168.6.0 255.255.255.0"(本地网络)
  #push "redirect-gateway def1 bypass-dhcp"(利用本地网关,用途自己想象)
  push "dhcp-option DNS 8.8.8.8"(谷歌dns,自己看着搞)
  push "dhcp-option DNS 8.8.4.4"
  # 保持会话的持久性
  persist-key
  persist-tun
  # 日记文件
  status /tmp/openvpn-status.log
  log-append /var/log/openvpn.log
  # 日记详细级别
  verb 3
  # 最大客户端毗连数
  max-clients 100
  # 答应客户端间通信
  client-to-client
  解释配置文件的各项设置(可以看我下一篇文章,详细解读)

  
  
步骤 5:配置防火墙

确保 OpenVPN 所需的端口(如 1194)已在防火墙中开放。你可以在 OpenWRT 的 Web 界面中进行设置:
   
  
步骤 6:启动 OpenVPN 服务

完成所有配置后,启用并启动 OpenVPN 服务。你可以通过以下命令启动 OpenVPN:
  1. /etc/init.d/openvpn enable
  2. /etc/init.d/openvpn start
  3. 日志查看
  4. logread |grep openvpn
  5. 重新启动vpn:/etc/init.d/openvpn restart
复制代码


步骤 7:配置客户端

配置客户端目的是生成几个文件,并将生成的 ca.crt、client1.crt(自定义名称)、client1.key 和 ta.key 文件传输到你的客户端设备。
   执行如下命令:罖l
  easyrsa gen-req client1 nopass
  easyrsa sign-req client client1
  生成 ca.crt、client1.crt(自定义名称)、client1.key
  
  毗连到 OpenVPN 服务器,需要一个 .ovpn 文件(OpenVPN 客户端的配置文件)。
  在生成 .ovpn 文件时,服务器端的配置文件会包罗服务器的 IP 地址或域名、端口、协议、加密方式,以及客户端证书和密钥。
  示例 .ovpn 文件
  
  client
  dev tun
  proto udp
  remote YOUR_SERVER_IP 1194
  resolv-retry infinite
  nobind
  persist-key
  persist-tun
  remote-cert-tls server
  ca ca.crt
  cert client.crt
  key client.key
  tls-auth ta.key 1
  cipher AES-256-CBC
  verb 3
  在这个文件中,你需要替换 YOUR_SERVER_IP 为 OpenVPN 服务器的现实 IP 地址或域名。
  配置文件的关键部分:

  
  

  将此配置文件导入到你的 OpenVPN 客户端中,并启动毗连。
步骤 8:测试毗连

利用 OpenVPN 客户端实验毗连到你的 OpenWRT VPN 服务器。如果统统设置正确,你应该能够成功毗连到你的家庭网络。此中,openwrt中必须要在接口中添加属于vpn的接口tun0

注意此接口数据流量,如果有接收,但没有ping通时,肯定是openwrt防火墙设置标题。

接下来,还需要在openwrt静态路由表中添加一条静态路由,作为数据回传利用,创建openvpn服务器,不会生成此条路由,必须要手动添加,我的远程内网是115.0网段,10.8.0.1则是openvpn服务器地址,截图如下:

分割线+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
按照以上配置,发现web页面和/etc/openvpn/server.conf配置有冲突,远程毗连并不按照server.conf文件执行,而是按照web页面设置,终极发现web配置文件在/etc/config/openvpn中,修改此文件配置选项才可以同步配置,这一大坑在这个版本中体现:



因为我用openwrt做的内网文件共享,此时可以远程可以打开了。
因为水平有限,不足之处,还请多多指教


以下为笔记:删掉模版,留下自定义,加载openvpn目录下server.conf,用模板会有冲突,导致server.conf不起作用,必须要配置/etc/config/openvpn文件才可以,还会导致web页面openvpn消散。

好像尚有个小细节,tls-auth /path/to/ta.key 0 # 在客户端为 1,服务器为 0


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4