惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
博客园 - 【当耐特】
博客园_首页
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
量子位
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
V
Visual Studio Blog
F
Fortinet All Blogs
Martin Fowler
Martin Fowler

mephisto.cc

修复rime-ice无法弹出候选框的问题 开机滚动字体显示优化 个人网站安全防护 树莓派上部署Vaultwarden 使用goaccess实时分析Caddy日志 个人网站监控 Hugo全站AVIF记 Linux下尝试使用Godot开发小游戏 Arch linux dae 透明代理 Airflow接管galler-dl下载任务 如何使用gallery-dl批量下载图像 Arch核显下如何愉快玩Dota2和CS2 Arch/labwc 环境网络相关设置 Rime添加dota2词库 Arch 重装记录 Supertuxkart iOS版终于发布了 打造自己的流媒体音乐服务 剪切板管理工具clipcat推荐 MangoHud性能监控 微信小程序开发记 Rofi试用 解决Arch下VSCode无法输入中文的问题 独立窗口管理器下无法录屏问题处理 上海市二手房成交数据监控 OpenLDAP监控 Arch linux如何顺畅连接蓝牙设备 使用Git和Ansible管理配置文件 Arch Linux SSL VPN 客户端配置 简单获取celery任务实时结果 Arch linux下iNode客户端的安装和使用方法
Openvpn示例
2024-04-12 · via mephisto.cc

openvpn 示例文档

一、服务端部署

  • 1.安装软件包

    1sudo apt-get install openvpn
    
  • 2.生成证书

     1# cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
     2# cd /etc/openvpn/easy-rsa/2.0/
     3# ./clean-all
     4# ./build-ca  ;按提示填写信息,创建根证书
     5# ./build-key-server server ;按提示填写信息,创建服务端key
     6# ./build-key shanghai ;创建客户端key,上海用
     7# ./build-key shenzhen ;创建客户端key,深圳用
     8# ./build-key other ;创建客户端key,备用
     9创建不同key的用途是区别连接地区,分配固定IP。需要注意的是,Common Name(eg,your name or your server’s hostname)这项每个客户端之间不能重名,和server key的设置也不能重名,否则会生成失败。
    10# ./build-dh ;生成DH
    11# openvpn --genkey --secret ta.key ;生成tls-aut证书
    12# cp server.crt server.key dh2048.pem ca.crt ta.key /etc/openvpn/
    
  • 3.服务配置

     1# vi /etc/openvpn/server.conf ;创建配置文件
     2port 1195
     3proto udp
     4dev tap
     5ca ca.crt
     6cert server.crt
     7key server.key # This file should be kept secret
     8dh dh2048.pem
     9server 10.10.101.0 255.255.255.248
    10ifconfig-pool-persist ipp.txt
    11push "route 192.168.1.0 255.255.255.0"
    12client-config-dir ccd
    13keepalive 10 120
    14tls-auth ta.key 0
    15comp-lzo
    16user nobody
    17group nobody
    18persist-key
    19persist-tun
    20status openvpn-status.log
    21verb 3
    22# vi /etc/openvpn/ipp.txt ;分配客户端IP
    23shanghai,10.10.101.2
    24shenzhen,10.10.101.3
    25other,10.10.101.4
    
  • 4.网关配置,启动服务端时,同时开启IP转发,把本机设置成到办公网的网关

    1# vi /etc/openvpn/startserver.sh ;创建启动脚本
    2#!/bin/bash
    3/usr/sbin/openvpn --daemon --config /etc/openvpn/server.conf
    4sleep 5
    5echo 1 > /proc/sys/net/ipv4/ip_forward
    6ip ro add 10.10.0.0/16 via 10.10.101.2 dev tap0 src 192.168.1.213
    7ip ro add 192.168.20.0/24 via 10.10.101.3 dev tap0 src 192.168.1.213
    8(设置src很重要,否则IDC中其他机器可以ping通OA,但在网关机上却ping不通)
    
  • 5.启动服务

    1/etc/openvpn/startserver.sh
    
  • 6.开机启动服务

    1echo "/etc/openvpn/startserver.sh" >> /etc/rc.local
    
  • 7.所有IDC服务器配置静态路由,办公网IP段指向我们创建的网关

    1# /sbin/ip ro add 10.10.0.0/16 via 192.168.1.213
    2# /sbin/ip ro add 192.168.20.0/24 via 192.168.1.213
    

二、客户端部署

  • 1.安装软件包

  • 2.把服务端上生成的客户端key(ca.crt,shanghai.crt,shanghai.key,ta.key),上传到客户端的/etc/openvpn/conf/目录

  • 3.创建客户端配置文件

     1/etc/openvpn/conf/client.ovpn
     2client
     3remote 183.57.37.213 1194
     4dev tap
     5proto udp
     6resolv-retry infinite
     7nobind
     8persist-key
     9persist-tun
    10ca /etc/openvpn/conf/ca.crt
    11cert /etc/openvpn/conf/shanghai.crt
    12key /etc/openvpn/conf/shanghai.key
    13ns-cert-type server
    14comp-lzo
    15verb 3
    16tls-auth /etc/openvpn/conf/ta.key 1
    
  • 4.启动客户端

    1/usr/sbin/openvpn /etc/openvpn/conf/client.ovpn &
    2查看输出是否正常连接到服务端并获取IP,也可以ifconfig查看是否有tap设备。
    
  • 5.网关设置

    1IDC中有网关转发包到OA,办公网同样需要网关转发包到IDC。
    2如成功连接,此时这台客户端机器已可以连接到IDC的设备,我们还需要把他设置成网关服务器,让办公网其他设备可以通过它连接到IDC。
    3echo 1 > /proc/sys/net/ipv4/ip_forward
    4ip ro add 192.168.1.0/24 via 10.10.101.1 dev tap0
    5在办公网路由器上配置静态路由,把IDC内网段的包指向10.10.1.1。
    6
    7测试,已经可以互通了。
    
  • 6.创建启动脚本

    1/etc/openvpn/conf/startclient.sh
    2#!/bin/bash
    3/usr/sbin/openvpn /etc/openvpn/conf/client.ovpn &
    4sleep 5
    5echo 1 > /proc/sys/net/ipv4/ip_forward
    6ip ro add 192.168.1.0/24 via 10.10.101.1 dev tap0