ubuntu 搭建 vpn

OS : ubuntu 12.10

install pptpd

apt-get install pptpd

configure pptpd

vi /etc/pptpd.conf

localip 192.168.0.234   #主机的ip地址
remoteip 192.168.1.200-238   #分配给客户端的ip地址
vi /etc/ppp/pptpd-options

ms-dns 8.8.8.8
vi /etc/ppp/chap-secrets 
#设置连接密码,可以使用如下2种格式:

user1 pptpd password *    #适用所有ip, "pptpd"需要跟/etc/ppp/pptpd-options中的name相同
user2 pptpd password 192.168.1.211    #适用指定ip
/etc/init.d/pptpd restart #重启pptpd服务

设置ip转发规则

vi /etc/sysctl.conf 
net.ipv4.ip_forward=1  #开启ip转发

sysctl -p #使ip转发生效
apt-get install iptables #安装iptables
#添加转发规则
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT  #192.168.1.0/24对应remote ip段
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE  #把192.168.1.0/24的请求转到eth0,eth0是主机的外网网卡
#保存转发规则到/etc/iptables-rules,使能重启可用
iptables-save  > /etc/iptables-rules
#创建开机自动执行读取iptabes-rules的脚本文件
vi /etc/network/if-up.d/iptables : 内容有如下两行: 

#!/bin/sh
iptables-restore < /etc/iptables-rules

#给上面创建的脚本拥有执行权限
chmod +x /etc/network/if-up.d/iptables