现在的位置: 首页 > 综合 > 正文

Configure OpenVPN on Ubuntu

2013年09月20日 ⁄ 综合 ⁄ 共 2325字 ⁄ 字号 评论关闭
目录
    1. 安装
    2. 设置认真机构,产生证书
    3. 配置Server端
    4. 配置Client端

1. 安装
Ubuntu中安装OpenVPN极其简单:

代码:
sudo apt-get install openvpn


在Windows中安装则建议使用 OpenVPN GUI for Windows的Installation Package,其中包括了OpenVPN本身以及在Windows中使用方便的图形界面。

2. 设置认真机构,产生证书
参考OpenVPNHowto进行操作,一般不会有什么问题。
在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


注意:这只是第一次产生证书的正确操作,其中 build-ca 创建根证书,若你没有清除全部VPN
Server/Client的打算,你不应该再次运行此命令;创建的全部证书及私钥都在当前目录的 keys 下面,而命令 clean-all
将清除 keys 下面全部内容,因此 cliean-all 只在 build-ca 前运行一次。
随后添加 Server 证书或 Client 证书只需运行

代码:
./vars
./build-key-server <servername>
or
./build-key <clientname>

3. 配置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

修改 server.conf
关键一:取消注释 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 Server不是办公网络的默认网关,则想办法在默认网关上添加到 10.8.0.0/24 的路由项目,网关为服务器的内部 IP 地址。
关键一中的操作只是能够让客户端知道去往公司网络的包如何路由,而关键三的操作是为了让公司网络里的主机知道去往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/


4.1.2 将相关证书、私钥拷贝到/etc/openvpn

    ca.crt
    client.crt
    client.key

4.1.3 修改/etc/openvpn/client.conf:
在 remote my-server-1 1194 这一行,将 my-server-1 换成 VPN Server 的外部IP
关键四:在结尾添加两行

代码:
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf


目的是根据Server推过来的 dhcp-option 更新域名解析设置

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

4.2.3 将client.ovpn中的my-server-1改为VPN Server的外部IP

转自:http://hi.baidu.com/pc10/blog/item/a720502c6e14fee88b1399a7.html

抱歉!评论已关闭.