发烧了

烧了三天,今天终于忍不住去买药了。在药店里面,顿时觉得很悲哀。很多不认识的药厂和药,跟本不敢买。即便打着国药准字号的牌子 也担心是假药,也担心吃死人。我们这个社会是多么的悲哀啊~

清蒸鳜鱼

image

第一次做,还不错!

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/

 

Star Gazing at Crater Lake

摄影奖项:NG Traveler Award 摄影师:Ben Canales 拍摄作品:“Star Gazing at Crater Lake”,湖边的星空。

20120121-003425.jpg

照片

That’s here. That’s home. That’s us.