Logo

[CentOS]安装VPN服务器Poptop(PPTPD)

Poptop – The PPTP Server for Linux
架设点对点PPP拨接式VPN服务器这类文章其实很多了,而且我googlecode的档案下载很多次了,想说贴上来做个笔记吧。 ?
Step.1 首先测试是否能安装PPTPD
modprobe ppp-compress-18 && echo ok
如果有回应ok就是代表核心支援PPP,不支援也可以试试看就是了,然后输入以下两行指令。

点偶放大

cat /dev/ppp
cat /dev/net/tun

如果回应是如下的状况就是可以安装PPTPD了~ ?
cat: /dev/ppp: No such device or address
cat: /dev/net/tun: File descriptor in bad state


点偶放大


点偶放大

Step.2 安装基本套件
yum install -y ppp iptables
Step.3 依照系统安装PPTPD
32位元系统
rpm -ihv http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm
64位元系统
rpm -ihv http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
Step.4 建立PPTPD主设定档
vi /etc/ppp/options.pptpd
直接使用官网的推荐模式即可,DNS可修改为咕狗或其他的,内容以下:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 4.4.2.1
ms-dns 4.4.2.2

Step.5 建立PPTPD的虚拟IP设定档
vi /etc/pptpd.conf
这边也是直接使用官网的推荐模式即可,内容以下:
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

Step.6 建立使用者
vi /etc/ppp/chap-secrets
按照原始档里面的说明来增加使用者,格式是一行一个帐号,范例帐号whoami、密码lulala
# Secrets for authentication using CHAP
# client server secret IP addresses
whoami pptpd lulala *
Step.7 修改PPTPD使用的MTU值
vi /etc/ppp/ip-up
在第16行空白的地方加入如下内容
/sbin/ifconfig $1 mtu 1400
Step.9 设定服务器可IP转发
cp /etc/sysctl.conf /etc/sysctl.conf.bak
vi /etc/sysctl.conf

找到以下两个选项设为1启动IP转发
net.ipv4.ip_forward = 0 改成 1
net.ipv4.tcp_syncookies = 0 改成 1
存盘后输入以下指令启用IP转发
/sbin/sysctl -p
Step.10 设定iptables规则,要注意的是第二行的1723端口是必须开放的,有使用其他防火墙的记得要开放1723端口;另外第三行的eth0要对应到你实际使用的网络接口。
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356
service iptables save
service iptables restart

OpenVZ规格的主机则依照下面设定,第三行8.8.8.8的部分要改成主机的真实IP
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 8.8.8.8
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356
service iptables save
service iptables restart


点偶放大

Step.11 加到服务后启动PPTPD ?
chkconfig --level 345 pptpd on
service pptpd start

然后用这个指令测试PPTPD有没有运作成功 ?
ps ax |grep pptpd
netstat -atunp | grep pptpd


点偶放大

如果拨号时提示错误619,可以先SSH连线过去后输入下列指令试试看
rm -rf /dev/ppp
mknod /dev/ppp c 108 0
service pptpd restart

还是不行的话再编辑pptpd.conf
vi /etc/pptpd.conf
将logwtmp加上注解:
#logwtmp
最后在重新启动PPTPD就应该正常了。
service pptpd restart
VPN番外篇 – Win7设定VPN连线

关于 穷苦人家的小孩

In every democracy, the people get the government they deserve. ~Alexis de Tocqueville

您可能会喜欢

希志あい 希志爱野 Kishi Aino

Oracle Linux 8初始化环境设定

2020年底的大爆炸消息就是C …