一、服务器环境及目的
服务器两块网卡,一块连接外网,一块连接内网
外网IP: 192.169.63.110
办公内网IP:192.168.1.0/24
目的:
通过VPN在Internet环境下接入办公内网,可以访问内网指定段内的计算机,并且客户端能通过VPN通道访问Internet
二、服务端安装过程
1.安装openvpn
apt-get install openvpn
2.设置认证机构,产生证书
在Debian Linux中大致这样操作,将目录 /usr/share/doc/openvpn/examples/easy-rsa/2.0 复制的你的HOME目录(这个目录包含了一系列很方便的脚本),修改vars使其符合你的实际情况(国家、省份、城市、公司、机构、邮件地址),然后运行代码:
source ./vars ./clean-all ./build-ca ./build-key-server <servername> ./build-key <clientname> ./build-dh
3.注意:
这只是第一次产生证书的正确操作,其中 build-ca 创建根证书,若你没有清除全部VPN Server/Client的打算,你不应该再次运行此命令;创建的全部证书及私钥都在当前目录的 keys 下面,而命令 clean-all 将清除 keys 下面全部内容,因此 cliean-all 只在 build-ca 前运行一次。随后添加 Server 证书或 Client 证书只需运行(建议单独的客户端配置单独的证书)代码:
./vars ./build-key-server <servername> or ./build-key <clientname>
4.配置Server端
从示例中解压 server.conf 代码:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gzip -d /etc/openvpn/server.conf.gz
将相关证书、私匙拷贝的 /etc/openvpn
ca.crt server.crt server.key dh1024.pem
5.修改 server.conf
关键一:取消注释 push "route a.b.c.d 255.255.255.0",并将地址和掩码替换为办公网络的地址和掩码
目的是为客户端加一条路由,这样客户端才有可能访问到办公网络中出VPN Server之外的其它主机
关键二:取消注释 push "dhcp-option DNS a.b.c.d" 和 push "dhcp-option WINS a.b.c.d", 并将地址替换为实际的 DNS 和 WINS 服务器的地址
目的是客户端连接VPN后仍能访问 Internet,(若推过来的DNS不能解析外部域名,则即使客户端的路由配置正确,想通过域名访问Internet也不可能)
示例server.conf
port 443 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh1024.pem server 10.10.10.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" #增加192.168.1.0 IP断的路由 使VPN客户端能访问这个地址段(真正能访问还需要后面的设置) push "route 192.168.1.0 255.255.255.0" push "dhcp-option DNS 202.96.209.133" #vpn客户端能否相互访问 ;client-to-client #注释掉此参数表示同一个客户端证书只能有一个连接,如果两个客户端使用同一个证书连接的话, #先连接的会自动断开 ;duplicate-cn keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3
6.Server 端其它设置
配置服务器,允许包转发:代码:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
设置iptable转发规则 使访问目标为172.16.1.0段的请求都转发到eth0网卡,这是vpn服务器连接办公内网的网卡,这里很重要,不然的话VPN客户端还是不能访问办公内网
iptables -t nat -A POSTROUTING -d 192.168.1.0/24 -o eth0 -j MASQUERADE
设置iptable转发规则 使来源为vpn客户端的请求都转发到eth1网卡,这是vpn服务器连接Internet的网卡,这里很重要,不然的话VPN客户端还是不能通过VPN访问Internet
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE
通过修改/etc/rc.local,加入以下代码,使服务器重启后自动设置转发规则
echo 1 |tee /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -d 192.168.1.0/24 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE exit 0
三、客户端配置过程
至此openvpn服务器端配置完毕, 客户端只需要将keys目录下生成的对应的ca.crt(公用) 专用client.crt和client.key, client.ovpn拷贝到客户端openvpn安装目录下的config目录,如果没有client.ovpn文件,直接新建一个,内容类似:
client dev tun proto udp remote <serverip> 443 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key comp-lzo verb 3
运行客户端连接试一下吧
IPHONE端:
首先安装ssh ,然后在pc上通过无线网络连接IPHONE, 按照以上客户端配置的步骤跟iphone一样,
最终iphone端启动openvpn 客户端连接的命令如下:
/usr/bin/openvpn --script-security --config /var/mobile/Library/OpenVpn/conf.ovpn
分享到:
相关推荐
openvpn-gui-11.tar 源码
通过本指南的学习,能够掌握完整的OpenVPN部署流程,包括但不限于服务器初始化设置、证书管理、身份验证机制配置等方面的知识。 其他说明:文中涉及的部分命令和路径可能因操作系统版本不同而有所变化,请根据实际...
内容概要:本文档介绍了Windows客户端通过OpenVPN同时连接多个服务端的方法,重点讲解了Wintun驱动的配置方式。文中首先概述了OpenVPN的不同虚拟网卡驱动类型,包括传统的TAP-Windows驱动和高性能的Wintun驱动。接着...
openvpn-1.0.2源码
openvpn-1.0.3.tar源码
该软件是一个能虚拟网卡和集线器(HUB)的工具,只要可以访问互联网,都可以使用它来组建远程局域网。在此虚拟的局域网上能进行所有物理局域网上的操作。可以互相访问,可以联网玩只支持局网的游戏(TCP/IP)。该...
4. **分支和标签管理**:通过创建分支,团队可以在不影响主线开发的情况下进行实验性开发或修复。标签则用于标记特定版本,便于回溯或发布。 5. **冲突解决**:在多人同时编辑同一文件时,可能会出现冲突。华为SVN...
它能够帮助用户在任何地方通过互联网访问公司内部的资源,如办公系统、文件服务器等,极大地提高了工作效率。这款客户端适用于Windows 64位操作系统,版本号为1.50.3.14。 在"secoclient-win-64-1.50.3.14.exe"这个...
2. 远程访问:通过secoclient,用户可能可以远程访问公司的资源,比如文件服务器、数据库等,提高工作效率。 3. 数据备份:它可能具有自动备份功能,保护用户的重要数据免受意外丢失。 4. 安全管理:作为一款客户端...
在IT网络管理中,RouterOS是一款强大的路由器操作系统,它提供了丰富的功能,包括端口映射,这使得内部网络的服务器或服务能够被外部网络访问。本文将深入探讨如何解决RouterOS端口映射后,内网无法访问自身公网IP的...
深信服远程应用发布配置涉及到的是在网络环境中,通过服务器集中管理应用程序,供客户端用户远程访问的技术。这种技术基于服务器计算模型,将应用程序的运行、管理集中在服务器端,而用户只需通过远程客户端进行操作...
在IT领域中,遇到用友客户端访问Server 2008服务器速度缓慢的问题时,我们需要对症下药,从多个方面进行排查与优化。本文将根据提供的标题、描述及部分内容来详细阐述可能的原因以及解决方法。 ### 一、问题背景 ...
用户可以将解压后的`SVNClient.app`拖放到Mac的"应用程序"文件夹中,然后通过启动台来运行该程序。首次使用时,可能需要配置SVN服务器地址、用户名和密码。 4. **主要功能**: - **版本提交**:保存并记录对文件...
内网穿透技术是一种允许外部网络用户访问内网资源的技术手段,它通过在内网和公网之间建立一条安全的通信隧道,使得原本无法直接访问的内网服务可以被外部设备访问。本工具采用C#语言开发,实现了这一功能,使得...
笔记本通过VMware实现物理机同时访问外网,虚拟机通过桥接网卡连接内网,在把网络通过仅主机模式与物理机共享,实现物理机能同时访问内网和互联网
【华为SVNClient详解】 华为SVNClient是华为公司推出的一款专为软件版本控制系统Subversion(简称SVN)设计的客户端工具,它主要用于协助开发者在华为的开发环境中进行代码版本控制和协同工作。SVN是一种分布式版本...
当内网设备需要被公网访问时,客户端会与服务器建立连接,服务器作为中介转发公网的请求到内网客户端,并将客户端的响应回传给公网。这种设计克服了NAT(网络地址转换)对直接公网访问内网的限制。 在实际应用中,...
找了很久的解决方案,在WIN10下可以用得CISCO 的解决方案,亲测可用。下载后,打开压缩包,进入【cisco win...如果显示已连接,但仍然无法访问远程机器,有可能是因为勾选了“Allow Local LAN Access”,去掉勾选试试。
深信服远程应用发布配置文档主要讲解了如何配置和使用深信服的远程应用功能,这是一种基于服务器计算的应用模式,允许用户通过远程客户端在服务器上运行应用程序,而无需在本地安装。以下是详细的知识点解析: 1. *...
与原版open-build-master相比,我做了稍稍修改,已经包含Open虚拟专网2.5源代码和依赖项源代码,需要VS2019、ActivePerl、WDK10,可以直接按照我写的教程进行编译,100%可编译。