在Debian或者Ubuntu的 apt-get 安装包管理下,使用如下命令
apt-get install pptpd
编辑配置文件 “/etc/pptpd.conf” ,修改成如下:
option /etc/ppp/pptpd-options localip 192.168.0.1 remoteip 192.168.0.11-150
再编辑配置文件 “/etc/ppp/pptpd-options” ,
修改里面的 ms-dns 这个项为 8.8.8.8 和 8.8.4.4
这是Google的DNS服务器,使用ISP提供的DNS也可以.
再编辑配置文件 “/etc/ppp/chap-secrets” ,此文件定义登录的用户名和密码
按下面的格式添加一行
用户名 pptpd 密码 *
修改配置文件后,重启pptpd配置信息才能生效
/etc/init.d/pptpd start #运行pptp进程 /etc/init.d/pptpd restart #重启pptp进程
检验PPTP服务器是否运行,在终端输入命令
netstat -anp | grep pptpd
将得到类似如下结果,说明PPTP服务器运行成功.
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 27243/pptpd unix 2 [ ] 数据报 200719 27243/pptpd
为了客户端能够顺利连接到VPN服务器,还需主机防火墙开放VPN端口(默认为1723)
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT
到目前为止,VPN服务器确实搭建完成,客户端也可以正常连接了,但是客户端却不能通过该VPN服务器上网,
我们还需要为客户端IP地址设置网络地址转换(NAT)
查看 “/proc/sys/net/ipv4/ip_forward” 文件中的值是否为”1″
如果不是,则需在修改配置文件/etc/sysctl.conf中的相应内容如下,打开ipv4转发功能
net.ipv4.ip_forward = 1
执行
sysctl -p /etc/init.d/procps restart
使其马上生效.
配置iptables:
apt-get intall iptables iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE
注意上面的eth0要选择你对应的网卡
但是,只是这样 iptables 的规则会在下次重启时被清除,所以我们还需要把它保存下来,
编辑 “/etc/rc.local” 文件,在末尾另起一行加上下面的命令即可
iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE
下面还有一种方法,本人没有试验,但有网友反映,使用后无法进入系统
方法是使用 iptables-save 命令:
iptables-save > /etc/iptables-rules
然后修改 “/etc/network/interfaces” 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:
pre-up iptables-restore < /etc/iptables-rules
这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置.
到这里就搭建好了,
若实践时无法执行命令,尝试以sudo运行,
本人执行上述所有命令时均为root用户;D
我想问一下,这样设置之后,可以在windows下连接。QQ也可以连接上,但是就是上不了网。查看本地连接数据包也有在不断接收。这是怎么回事呢?
可以检查一下:VPN服务器能不能上网,有没有设置转发,设置转发的网卡对不对
恩,找到原因了,是因为默认的MTU太大了。可以用命令:
sudo iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356
设置小一点。
这个比较专业了,我研究一下再详细回复你
CENTOS行不?
装软件命令不一样,其他应该类似吧
搞成自动脚本~~ :smilies01: