Free yourself from fixing complex.
eleven

我觉得没有必要用openvpn这种专业的程序。使用pptpd架设就可以了。
[cc lang="bash"]$apt-get install pptpd #安装pptpd软件包[/cc]
[cc lang="bash"]$gedit /etc/pptpd.conf #编辑pptpd配置文件[/cc]
在编辑器里面找到70行左右的下列内容:
[cc lang="bash"]#(Recommended)
localip 172.16.10.1 #主机IP
remoteip 172.16.10.100-238 #分配给客户端IP地址范围

or

localip 192.168.0.234-238,192.168.0.245

remoteip 192.168.1.234-238,192.168.1.245

[/cc]
[cc lang="bash"]
$gedit /etc/ppp/pptpd-options
name eleven-vpn #修改此处更改服务器名称

Network and Routing

ms-dns 8.8.8.8
ms-dns 8.8.4.4 #DNS,这里用的是Google Public DNS
[/cc]
配置账户,这里以test为例:
[cc lang="bash"]
$gedit /etc/ppp/chap-secrets

Secrets for authentication using CHAP

client server secret IP addresses

test eleven-vpn test *
[/cc]
格式为:
帐号 pptp服务器名 密码 允许连入IP(*为全部)
设置完毕后重启pptpd生效
[cc lang="bash"]
$gedit /etc/init.d/pptpd restart
[/cc]
自此VPN服务器配置完成,接着配置路由/NAT设置
[cc lang="bash"]
$gedit /etc/sysctl.conf #开启IP转发,找到net.ipv4.ip\_forward=1,去掉前面的井号。
$sysctl -p #使配置生效
[/cc]
添加iptables规则:
[cc lang="bash"]
$iptables -A FORWARD -s 172.16.10.0/24 -j ACCEPT
$iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eth0 -j MASQUERADE
[/cc]
[cc lang="bash"]
$iptables-save > /etc/iptables-rules #保存转发规则,可能是我的系统配置问题,到这里会提示没有权限,可以先输出到任意文件,然后cp即可.
[/cc]
[cc lang="bash"]
$gedit /etc/network/interfaces #添加下行
$iptables-restore > /etc/iptables-rules
[/cc]
VPN server建立完成,局域网内测试连接成功,广域网内可能要在路由器中添加端口映射.

PS:wordcodess的高亮真是太不友好了.

2010-01-31