烧了三天,今天终于忍不住去买药了。在药店里面,顿时觉得很悲哀。很多不认识的药厂和药,跟本不敢买。即便打着国药准字号的牌子 也担心是假药,也担心吃死人。我们这个社会是多么的悲哀啊~
OpenVPN 配置手记
OpenVPN 配置手记
================
## 系统准备
我使用的是 Linode VPS 主机,安装 Ubuntu 10.04 系统。
## 软件包准备
$ sudo apt-get install dnsmasq openvpn
## 服务端、客户端的证书生成
### 服务端
$ sudo mkdir /etc/openvpn/easy-rsa/
$ sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
$ sudo chown -R $USER /etc/openvpn/easy-rsa/
编辑 /etc/openvpn/easy-rsa/vars
export KEY_COUNTRY=”US”
export KEY_PROVINCE=”NC”
export KEY_CITY=”Winston-Salem”
export KEY_ORG=”Example Company”
export KEY_EMAIL=”steve@example.com”
使用如下命令创建服务端证书
$ cd /etc/openvpn/easy-rsa/
$ source vars
$ ./clean-all
$ ./build-dh
$ ./pkitool –initca
$ ./pkitool –server server
$ cd keys
$ openvpn –genkey –secret ta.key
$ sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/
### 客户端
$ cd /etc/openvpn/easy-rsa/
$ source vars
$ ./pkitool hostname
把 hostname 替换成你喜欢的客户端名称。
然后把如下这些文件复制到你的客户端:
/etc/openvpn/ca.crt
/etc/openvpn/easy-rsa/keys/hostname.crt
/etc/openvpn/easy-rsa/keys/hostname.key
/etc/openvpn/ta.key
## 配置 VPN
### 客户端配置文件
$ cd /usr/share/doc/openvpn/examples/sample-config-files
$ gunzip -d server.conf.gz
$ cp server.conf /etc/openvpn/
$ cp client.conf ~/
$ cd ~/
把 client.conf 里的 remote 设置为你的服务器名称。
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote example.com 1194
然后把 client.conf 里面的证书名称修改为你实际使用的证书名称。
# SSL/TLS parms.
# See the server config file for more
# description. It’s best to use
# a separate .crt/.key file pair
# for each client. A single ca
# file can be used for all clients.
ca ca.crt
cert client1.crt
key client1.key
然后你就可以把 client.conf 和相关证书复制到你的客户端了。
### 服务端配置
接下来,我们需要把所有连接,包括 DNS 请求都重定向到 VPN 连接。
编辑配置文件 /etc/openvpn/server.conf
push “redirect-gateway def1″
编辑 /etc/sysctl.conf
net.ipv4.ip_forward=1
然后使用如下命令使上述编辑生效
$ sudo sysctl -p
检查 /proc/sys/net/ipv4/ip_forward 是否为 1,否则调用如下命令强行设置。
$ echo 1 > /proc/sys/net/ipv4/ip_forward
### 路由表设置
$ iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
$ iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
$ iptables -A FORWARD -j REJECT
$ iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
为了下次重启的时候,可以自动配置路由表,我们编辑 /etc/rc.local
#!/bin/sh -e
#
# [...]
#
iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
exit 0
### 配置 DNSMASQ
编辑文件 /etc/dnsmasq.conf
listen-address=127.0.0.1,10.8.0.1
bind-interfaces
在某些情况下,当你的系统重启的时候,dnsmasq 可能会尝试在 OpenVPN 的 tun 设备生效前启动,为了保证 dnsmasq 能够正常启动,我们需要在 /etc/rc.local 里加入如下这一行(在路由表规则设置下面):
/etc/init.d/dnsmasq restart
exit 0
编辑 /etc/openvpn/server.conf 设置 DNS。
push “dhcp-option DNS 10.8.0.1″
push “dhcp-option DNS 8.8.8.8″
push “dhcp-option DNS 8.8.4.4″
最后,重启 OpenVPN 和 DNSMASQ 服务:
$ /etc/init.d/openvpn restart
$ /etc/init.d/dnsmasq restart
## 参考文献
https://help.ubuntu.com/10.04/serverguide/C/openvpn.html
http://library.linode.com/networking/openvpn/ubuntu-10.04-lucid
成都民谣一首:“胖娃儿胖嘟嘟”
胖娃儿胖嘟嘟
骑马上成都
成都又好耍
胖娃儿骑白马
白马跳得高
胖娃儿耍关刀
关刀耍得圆
胖娃儿吃汤圆
原研哉:设计私语录

春节看了一本书,原研哉的《设计私语录》,值得推荐。
作者是平面设计师,话题则是很广,从餐桌布的颜色,到亚马逊河的木质歌剧院,到时令料理的交响,涵盖生活的很多方面,以设计师独到的眼光观察每一个的细节,把沙拉酱的形状都描绘得如此迷人。作者是个很有趣的人,书的副标题叫:通心粉的孔洞之谜~
http://book.douban.com/subject/6523959/











Recent Comments