关键字:openvpn,nat,路由,windows2003,网关,自由切换
首先thanks god总算是搞定了,查了无数资料啊。
话说我在公网有一台服务器放在朋友的机房,此服务器北连网通,南接电信,高速互联啊。
现在有如下的需求:我在公司的svn服务器上的代码,需要连接到公司的svn服务器上经常更新;并且我还要偶尔的使用该服务器做vpn的代理,必须同时满足这两个条件。
开始使用了windows2003/2008的服务器,经过试验发现vpn服务开启之后,只能连接一个客户端,之前设置过可以多个用户同时连接,服务器崩溃之后从新安装,但是这次不知道哪里设的不对,第一个用户连接之后,其他客户端都连不上(这个问题哪位朋友知道为什么麻烦回帖告知一下),都停止在核对用户名和密码这个对话框上;最后不得已只得干掉windows自带的vpn,尝试了isa 2006的vpn,发现还是不行,一样的问题,只好改用openvpn。
说明一下:openvpn的证书,用户名和密码的问题不在此文讨论范畴内,同类文章google一下一大把。
服务器的配置:
script-security 3
port 1001
proto tcp
;proto udp
dev tap
;dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
;server 10.8.0.0 255.255.255.0
server 192.168.18.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;ifconfig 10.8.0.1 255.255.255.0
;mode server
;tls-server
ifconfig 192.168.18.1 255.255.255.0
;ifconfig-pool 192.168.18.2 192.168.18.6 255.255.255.0
;client-config-dir ccd
;push "redirect-gateway def1 bypass-dhcp"
#路由
push "route-gateway 192.168.18.1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 202.96.69.38"
client-to-client
;duplicate-cn
keepalive 10 120
;tls-auth ta.key 0 # This file is secret
comp-lzo
;max-clients 100
persist-key
persist-tun
status openvpn-status.log
;log openvpn.log
;log-append openvpn.log
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 5
mute 20
==========================================================
客户端配置:
client
dev tap
proto tcp
remote 210.xxx.xxx.xxx 1001
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert ken.crt
key ken.key
comp-lzo
verb 4
redirect-gateway def1
============================================================
我改了默认端口,并且用了tcp协议,这些都是可以配置的。主要是使用了tap并且用了桥接,tun模式我没搞太明白,tap相对容易理解点。
这样客户端和服务器端同时拨号上来就可以互访了。
下面是要让该服务器做网关,当你访问ip.cn这样的网址的时候,显示的是服务器的ip地址而不是你自己的,这里必须在client的配置文件里面打开
redirect-gateway def1
当然如果你只想获得额外访问虚拟的能力而访问公网还是走本地,就在客户端把这行注释掉。这个地方的好处是客户端决定是否走服务器代理;如果这一句被配置在server的配置文件里面,那就是无论如何都会走服务器的网络了。
下面涉及到最关键的地方,怎么让这个子网能够通过服务器走公网从而起到加速作用呢?这里必须在windows 2003上做两件事情,第一打开ip转发,第二是开启nat服务。
以前我一直以为开启了nat服务ip转发就自动生效了,其实不然。
参考这两篇帖子设置注册表打开ip转发功能:
----------------------------------------------------------------------------------------------------------
如何在 Windows XP 中启用 TCP/IP 转发
http://support.microsoft.com/kb/315236
在 Windows Server 2003 中启用 TCP/IP 转发
http://support.microsoft.com/kb/323339/zh-cn
----------------------------------------------------------------------------------------------------------
打开ip转发之后,在2003的服务管理器里面打开nat功能,让公网的接口做nat,当然记得关闭防火墙或者添加例外,否则1001端口是无法访问的。
现在经过这样的配置之后,就可以自由切换网络了。
不得不说openvpn的确很灵活,就像官网上说的"smart",这个词用的还是很贴切的。不过前提是你得明白网络。
2011.01.22补充:Win7下,如果打开了UAC,要想通过服务器上网,一定让openvpn-gui以管理员启动,否则无法执行route add命令。
分享到:
相关推荐
这是将linux下的openvpn移植到windows下,可以在windows下实现基于ssl vpn功能.zip
python库。 资源全名:openvpn_status-0.1.1-py2.py3-none-any.whl
Use this to get a proxy on kali
OpenVpn Tap驱动程序使用NdisReadConfiguration从注册表读取一些配置。 使用任何功能之前的一项显而易见的任务是必须阅读其手册 Note that NDIS does not validate values that a driver reads from the registry. ...
openvpn基础知识-详细笔记文档总结
我需要 TAP-Windows 才能使用 OpenVPN 吗? 是的,OpenVPN 需要 TAP-Windows 才能创建安全的 VPN 连接。 我可以从我的计算机中删除 TAP-Windows 吗? 如果您不再使用 OpenVPN 或任何其他依赖虚拟 Tap 设备的应用...
基于linux的+openvpn网络.pdf
简单管理openvpn3
openvpn3-arch-package
这些是相同的简单脚本...一个用于启动/停止/切换特定隧道即服务(初始化脚本)。 第二个是建立或断开隧道时调用的脚本(上/下脚本)。 还提供了pyQt GUI界面。
搭建服务器+客户端阔以内网穿透
根据本人运维经验,结合openVPN社区相关案例,针对TAP-Windows-adapter安装失败“an error occured installing the TAP device driver”错误提示,提出五种解决方案
所有的选项都需要勾选前面的方框方可进行配置,一般使用只需要配置好 IP 地址和 DNS 服务就好了。 NetSetMan 有六个配置,每个设置都具有相同的选项,我们只需要配置好需要的网络,在使用时选择需要的网络配置,并...
认证中心(CA) 权限是项目中最安全的部分。 这些设置控制和保护根CA证书。 理想情况下,授权机构应托管在与中间CA分开的计算机和网络上。 目的 创建自签名的根证书颁发机构证书 签署来自中间证书颁发机构的请求 ...
Windows Server 合规漏洞修复,修复Windows Server CVE-2016-2183 SSL/TLS协议信息泄露漏洞修复脚本,基于Windows PowerShell, 兼容Windows Server 2016/2019,防止Sweet32 生日攻击
openvpn-debian Ubuntu 的 openvpn debian 包的分支,更新到最新的 openvpn 版本
网络系统管理赛项软件包(服务模块软件包、普通PC软件包、无线地勘系统等)
2、在“远程桌面”下方,点击“允许远程连接到此计算机”,还有去掉下方“仅允许运行使用网络级别身份验证的远程桌面的计算机连接” 3、在运行中运行gpedit.msc命令,调出本地组策略编辑器 依次点击展开“计算机...
与原版open-build-master相比,我做了稍稍修改,已经包含Open虚拟专网2.5源代码和依赖项源代码,需要VS2019、ActivePerl、WDK10,可以直接按照我写的教程进行编译,100%可编译。
Tap-Windows Adapter 虚拟网卡 vpn 多联 神器