`
yang_min
  • 浏览: 342220 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iphone4 通过openvpn client 链接服务器访问内网应用

阅读更多

一、服务器环境及目的

服务器两块网卡,一块连接外网,一块连接内网
外网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的web管理系统,前后端分离设计。

    基于openvpn的web管理系统,前后端分离设计。

    openvpn的几种组网方式

    openvpn的几种组网方式

    openvpn 2.5.10版本

    openvpn 2.5.10版本,通过三板斧即可安装,证书生成需要的easy-rsa3.1.5版本也在压缩包里面。

    AWS_VPN_Client.msi

    AWS_VPN_Client

    SecoClient.zip|SecoClient.zip

    它能够帮助用户在任何地方通过互联网访问公司内部的资源,如办公系统、文件服务器等,极大地提高了工作效率。这款客户端适用于Windows 64位操作系统,版本号为1.50.3.14。 在"secoclient-win-64-1.50.3.14.exe"这个...

    softether-open-vpnserver-vpnbridge-v4.43-9799.exe

    这个是服务端 功能:可以搭建各种网络代理(电脑端和手机端都能使用);把多个局域网连接成一个大局域网;其他各种强大的网络搭建都能做 截止到发贴日(2024-5-13),最新的版本是该版本 v4.43-9799 ...

    关于VPN加密技术的不同技术应用

    本文介绍了加密技术应用的前言,包括通过加密技术保证网络中数据传输的安全性和数据的完整性。文章还详细阐述了VPN的定义、分类、关键技术及配置,包括GRE VPN、IPSec VPN、L2TP VPN和SSL VPN的原理和应用场景。 ...

    softether client

    该软件是一个能虚拟网卡和集线器(HUB)的工具,只要可以访问互联网,都可以使用它来组建远程局域网。在此虚拟的局域网上能进行所有物理局域网上的操作。可以互相访问,可以联网玩只支持局网的游戏(TCP/IP)。该...

    secoclient mac

    2. 远程访问:通过secoclient,用户可能可以远程访问公司的资源,比如文件服务器、数据库等,提高工作效率。 3. 数据备份:它可能具有自动备份功能,保护用户的重要数据免受意外丢失。 4. 安全管理:作为一款客户端...

    用友客户端访问server 2008服务器慢的问题

    在IT领域中,遇到用友客户端访问Server 2008服务器速度缓慢的问题时,我们需要对症下药,从多个方面进行排查与优化。本文将根据提供的标题、描述及部分内容来详细阐述可能的原因以及解决方法。 ### 一、问题背景 ...

    华为SVNClient for mac 3.1.2.38

    用户可以将解压后的`SVNClient.app`拖放到Mac的"应用程序"文件夹中,然后通过启动台来运行该程序。首次使用时,可能需要配置SVN服务器地址、用户名和密码。 4. **主要功能**: - **版本提交**:保存并记录对文件...

    基于Java开发的一款基于Netty的内网穿透工具,主要用于将内网服务反向代理到公网访问.zip

    当内网设备需要被公网访问时,客户端会与服务器建立连接,服务器作为中介转发公网的请求到内网客户端,并将客户端的响应回传给公网。这种设计克服了NAT(网络地址转换)对直接公网访问内网的限制。 在实际应用中,...

    笔记本电脑通过VMware虚拟机实现物理机同时访问内网和外网.doc

    笔记本通过VMware实现物理机同时访问外网,虚拟机通过桥接网卡连接内网,在把网络通过仅主机模式与物理机共享,实现物理机能同时访问内网和互联网

    cisco-client-winx64

    找了很久的解决方案,在WIN10下可以用得CISCO 的解决方案,亲测可用。下载后,打开压缩包,进入【cisco win...如果显示已连接,但仍然无法访问远程机器,有可能是因为勾选了“Allow Local LAN Access”,去掉勾选试试。

    深信服远程应用发布配置文档分享.pdf

    深信服远程应用发布配置文档主要讲解了如何配置和使用深信服的远程应用功能,这是一种基于服务器计算的应用模式,允许用户通过远程客户端在服务器上运行应用程序,而无需在本地安装。以下是详细的知识点解析: 1. *...

    secoclient认证失败原因

    secoclient认证失败原因,11种情况

    易语言Client(客户端)源码,易语言server(服务器)源码,易语言简易

    易语言简易聊天软件源码,简易聊天软件,SQL_执行语句,SQL_取记录数,SQL_添加数据,SQL_修改数据,SQL_删除数据,SQL_查询数据,GET_CLIENT_RAND,GET_SERVER_RAND,HTTP_数据解密,HTTP_数据加密,RANDS,时间到时间戳,Get,...

    softether-client-v4.34-9745-beta-2020.04.05-windows-x86_x64-intel.zip

    softether-client-v4.34-9745-beta-2020.04.05-windows-x86_x64-intel.zip

    快来看看如何访问我航服务器吧

    EasyConnect是一款基于SSL VPN技术的安全远程访问客户端,它允许用户通过互联网安全地连接到内网,访问受限的内部网络资源。在Step1中,你可以从官方网站或者授权的下载渠道获取EasyConnect的安装包,并按照提示进行...

Global site tag (gtag.js) - Google Analytics