- 单机 - - 站点
站点 - - 站点
单机 - - 单机
目录
- 1. 安装
2. 设置认真机构,产生证书
3. 配置Server端
4. 配置Client端
Ubuntu中安装OpenVPN极其简单:
代码: 全选
sudo apt-get install openvpn
2. 设置认真机构,产生证书
参考OpenVPN的Howto进行操作,一般不会有什么问题。
在Ubuntu中大致这样操作,将目录 /usr/share/doc/openvpn/examples/easy-rsa/2.0 复制的你的家目录,修改vars使其符合你的实际情况(国家、省份、城市、公司、机构、邮件地址),然后运行
代码: 全选
./vars
./clean-all
./build-ca
./build-key-server <servername>
./build-key <clientname>
./build-dh
随后添加 Server 证书或 Client 证书只需运行
代码: 全选
./vars
./build-key-server <servername>
or
./build-key <clientname>
从示例中解压 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
- ca.crt
server.crt
server.key
dh1024.pem
关键一:取消注释 push "route a.b.c.d 255.255.255.0",并将地址和掩码替换为办公网络的地址和掩码
目的是为客户端加一条路由,这样客户端才有可能访问到办公网络中出VPN Server之外的其它主机(有很多VPN客户端直接添加默认路由,这样客户端的所有连接请求都被路由到 VPN 通道内,结果是客户端此时不能访问VPN,而此项添加指定地址的路由不会导致这一问题)
关键二:取消注释 push "dhcp-option DNS a.b.c.d" 和 push "dhcp-option WINS a.b.c.d", 并将地址替换为实际的 DNS 和 WINS 服务器的地址,最好 DNS 服务器能将外部域名的解析要求转发的外部 DNS 服务器
目的是客户端连接VPN后仍能访问Internet,(若推过来的DNS不能解析外部域名,则即使客户端的路由配置正确,想通过域名访问Internet也不可能)
Server端其它设置
配置服务器,运行包转发:
代码: 全选
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
关键一中的操作只是能够让客户端知道去往公司网络的包如何路由,而关键三的操作是为了让公司网络里的主机知道去往VPN Client的包如何路由。
对于Netscreen 25(screenos 5.3.0r3.0),Network - Routing - Destination - [trust-vr]New - IP/mask [10.8.0.0]/[24] - 选 [Gateway], Interface [ethernet1], Gateway IP Address [Internal IP of VPN Server]
4. 配置Client端
在Ubuntu中,
4.1.1 从示例中拷贝client.conf
代码: 全选
sudo cp //usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
- ca.crt
client.crt
client.key
在 remote my-server-1 1194 这一行,将 my-server-1 换成 VPN Server 的外部IP
关键四:在结尾添加两行
代码: 全选
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
4.1.4 其它设置:
关键五:安装resolvconf软件包
代码: 全选
sudo apt-get install resolvconf
在Windows中,
4.2.1 将client.ovpn拷贝的config目录
4.2.2 将证书和相关私匙拷贝到config目录
- ca.crt
client.crt
client.key
欢迎指正!
愿意共同探讨你遇到的问题。