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

推荐订阅源

C
Check Point Blog
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
美团技术团队
NISL@THU
NISL@THU
C
Cisco Blogs
SecWiki News
SecWiki News
N
Netflix TechBlog - Medium
Forbes - Security
Forbes - Security
Cloudbric
Cloudbric
雷峰网
雷峰网
T
Tailwind CSS Blog
博客园 - 司徒正美
The Register - Security
The Register - Security
L
LangChain Blog
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Threat Research - Cisco Blogs
I
InfoQ
S
Schneier on Security
L
Lohrmann on Cybersecurity
量子位
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
Schneier on Security
Schneier on Security
F
Fortinet All Blogs
TaoSecurity Blog
TaoSecurity Blog
K
Kaspersky official blog
Google DeepMind News
Google DeepMind News
Cisco Talos Blog
Cisco Talos Blog
PCI Perspectives
PCI Perspectives
Attack and Defense Labs
Attack and Defense Labs
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
D
Docker
N
News | PayPal Newsroom
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
H
Hacker News: Front Page
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
Webroot Blog
Webroot Blog
MongoDB | Blog
MongoDB | Blog

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客户端的安装和使用方法 券商费率调整记 迷你主机组装记 Labwc更换定制皮肤 树莓派跑分流代理 实用自动代理配置示例 九年老鼠标复活记 Mac下如何旋转webp图片 如何隐藏Vscode中Markdown PDF插件的头部内容 解决Linux下网络配置无法变更保存的问题 labwc环境启用wlogout Ubuntu下新官方微信尝鲜 简单检测用户是否开启广告屏蔽 Atuin ZFS下卡顿问题解决 Wine安装64位微信 Fish 和 Atuin使用记 Fastapi简单实现临时下载链接 Fastapi微信公众号开发简要 Hugo根据语种展示不同内容 如何修复Waybar微信图标错误 信封加密简要 Linux环境下维护公众号记录 快速隐藏和呼出终端 Wayland环境自动切换壁纸 SuperTuxKart 试玩 简单抓取雪球股票快讯 为什么你的kill命令不能列出信号表 Wine安装微信保姆教程 Hysteria科学上网简要 Ubuntu 23.10 钉钉无法启动解决方法 网站导航栏防止插入Adsense自动广告 Linux环境按键检测 Hugo文末添加最后修改时间 Wayland环境ksnip无法复制问题解决 我眼中的股票市场 Caddy简单图片防盗链 greetd和regreet使用教程 Wayland环境下截图加后期修改 Wayland 环境下gif录屏 Firefox的一些有趣功能 Ubuntu 切换系统语言 Firefox 标题栏高度调整 网站添加回到顶部功能 Hugo自定义字体 Labwc 便捷配置 Wofi使用教程 窗口管理器labwc使用记 文件共享软件Dufs推荐 Hugo静态站点接入Adsense广告 Fcitx5配置详解 Ubuntu安装chrome的方法总结 一种Xterm.js的全屏方案 Google网址收录api Python示例 手机听离线音乐 Snipe it资产导入 应用启动器yofi使用配置 Snipe it资产管理系统安装使用 Ubuntu开机启动加速 Vue3 vite TypeScript跨域等相关设置 Ubuntu手动升级Libreoffice Ubuntu设置alacritty为默认终端 简体文章批量转换为繁体 使用Inkscape调整svg图片大小 实用命令 使用mitmproxy给手机app抓包 Python中rstrip方法细解 Github同主机多仓库部署deploy key问题处理 Linux安装最新版本Python KeePassXC使用教程 Ubuntu 22.10连接蓝牙耳机报错br-connection-profile-unavailable解决方法 Caddy日志配置轮转和格式化
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