欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

debian8(@OpenVz)安装配置pptpd

程序员文章站 2022-06-04 19:50:19
...

一、先检查vps是否支持

##分别执行下面的命令,当返回值和下面的一样才是正常,不然可能会出错
cat /dev/ppp
#cat: /dev/ppp: No such device or address
cat /dev/net/tun
#cat: /dev/net/tun: File descriptor in bad state

二、安装

1.安装ppptd iptables。如果有iptables的可以省这个。

apt-get install pptpd iptables

2.编辑 /etc/pptpd.conf

#取消下面两行的注释,在文件的底部。删除前面的#
 # localip 192.168.0.1
 # remoteip 192.168.0.234-238,192.168.0.245

3.编辑 /etc/ppp/pptpd-options

#将ms-dns 10.xxx 改为 
ms-dns 8.8.8.8
#将ms-dns 192.168.0.2 改为 
ms-dns 10.xxx
#注释掉 require-mppe-128。前面增加#。但实际测试,我发现不需要注释这个。
# require-mppe-128

4.添加账号密码;编辑/etc/ppp/chap-secrets,格式如下

username pptpd password *

5.编辑/etc/sysctl.conf

#去掉net.ipv4.ip_forward = 1的注释
net.ipv4.ip_forward = 1
#注释掉net.ipv4.tcp_syncookies = 1。默认debian8是注释了。
#net.ipv4.tcp_syncookies = 1

6.使修改生效

sysctl -p

如无回显表明设置成功,如报错”error: permission denied on key ‘net.nf_conntrack_max'”等需执行以下命令后再次执行”sysctl -p”:

rm -f /sbin/sysctl
ln -s /bin/true /sbin/sysctl

7.重启pptp

/etc/init.d/pptpd restart

三、设置转发和防火墙规则

1.转发规则

##注意网卡名称是venet0,而不是venet0:0。当初这个问题上尝试了很久,才发现。。。
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o venet0 -j MASQUERADE

2.防火墙

#iptables 允许 1723 入端口。
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT


#iptable 允许 47 入端口。实际测试这个47端口不能等同gre协议。这段可以省去。
#iptables -A INPUT -p tcp --dport 47 -j ACCEPT


#iptable 允许 GRE 协议。
iptables -A INPUT -p gre -j ACCEPT

##实际测试不需要下面这段
##iptables -A OUTPUT  -p gre -j ACCEPT

#如果需要,把 DNS 协议的 53 端口也允许。
iptables -A INPUT -p udp --dport 53 -j ACCEPT

3.为了方便,一般修改/etc/rc.local,把上面1、2两个步骤放在rc.local里面

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o venet0 -j MASQUERADE

iptables -A INPUT -p gre -j ACCEPT

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

/etc/init.d/pptpd restart

##有些vps panel可以处理端口,不一定能处理GRE协议。
##iptables 允许 1723 入端口。
##系统默认不自动启动pptpd

 

转载于:https://my.oschina.net/u/261479/blog/725572