Instalé con éxito una VPN PPTP en mi Linode usando este script:
https://github.com/liaohuqiu/centos-setup/blob/master/install/install_vpn.sh
yum install -y ppp
wget http://centos-files.liaohuqiu.net/f/pptpd-1.3.4-2.el6.x86_64.rpm
rpm -ihv pptpd-1.3.4-2.el6.x86_64.rpm
rm -rf *.rpm
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp
mkdir -p /etc/ppp
echo "option /etc/ppp/options.pptpd" >> /etc/pptpd.conf
echo "localip 10.0.0.1" >> /etc/pptpd.conf
echo "remoteip 10.0.0.10-100" >> /etc/pptpd.conf
echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd
echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd
pass=`openssl rand 6 -base64`
if [ "$1" != "" ]
then pass=$1
fi
echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets
function config_iptables()
{
# Reset/Flush iptables
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# Flush end
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -i eth0 -p gre -j ACCEPT
# Allow localhost traffic
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT
# Allow server and internal network to go anyway
iptables -A INPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -m state --state NEW -j ACCEPT
# Allow ssh
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
service iptables save
service iptables restart
}
chkconfig pptpd on
service pptpd start
config_iptables
ip=`/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
echo "===================================="
echo " VPN INSTALLATION COMPLETE"
echo "===================================="
echo " "
echo "VPN hostname/ip: ${ip}"
echo "VPN type: PPTP"
echo "VPN username: vpn"
echo "VPN password: ${pass}"
echo " "
Funciona muy bien. Pero en estos días descubrí que hay muchas conexiones desconectadas que hacen que mi servidor se quede sin tráfico.
Parece que puedo conectarme al servidor usando cualquier cuenta y contraseña.
Y estos son mis archivos de configuración:
[root@mylinode ppp]# ll
total 24
-rw------- 1 root root 16 Jun 20 01:53 chap-secrets
-rw------- 1 root root 349 Oct 23 2013 eaptls-client
-rw------- 1 root root 405 Oct 23 2013 eaptls-server
-rw-r--r-- 1 root root 5 Nov 16 2009 options
-rw-r--r-- 1 root root 86 Jun 20 01:37 options.pptpd
-rw------- 1 root root 77 Nov 16 2009 pap-secrets
Y elchap-secets
[root@mylinode ppp]# cat chap-secrets
vpn pptpd 111 *
Y ahí el registro de /var/log/message
:
Jun 20 02:03:53 mylinode pptpd[23994]: CTRL: Client 221.218.36.184 control connection started
Jun 20 02:03:53 mylinode pptpd[23994]: CTRL: Starting call (launching pppd, opening GRE)
Jun 20 02:03:53 mylinode pppd[23995]: pppd 2.4.5 started by huqiu, uid 0
Jun 20 02:03:53 mylinode pppd[23995]: Using interface ppp0
Jun 20 02:03:53 mylinode pppd[23995]: Connect: ppp0 <--> /dev/pts/3
Jun 20 02:03:56 mylinode pppd[23995]: peer from calling number 221.218.36.184 authorized
Jun 20 02:03:57 mylinode pppd[23995]: local IP address 10.0.0.1
Jun 20 02:03:57 mylinode pppd[23995]: remote IP address 10.0.0.10
Intenté reinstalar muchas veces y el problema persiste.
Cualquier ayuda será excelente, puedo proporcionar más información si es necesario. Gracias de antemano.
Respuesta1
Parece que tiene una contraseña débil y descifrada, el hombre publica su IP y su contraseña en algún lugar, convirtiendo su servidor VPN en un servidor público, cambie el nombre de su usuario y contraseña.
Respuesta2
Puedes consultar el contenido de/etc/ppp/chap-secrets. Allí se almacenan el nombre de usuario y la contraseña que pueden conectarse al servidor VPN. El contenido del archivo debería verse así:
$ cat /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
username1 pptpd password1 *
username2 pptpd password2 *
Respuesta3
Gracias@Jaret
Agregué esto a /etc/ppp/options.pptpd
:
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
Entonces debería usar la cuenta y la contraseña /etc/ppp/chap-secrets
para iniciar sesión.
La razón
Me olvidé de mencionar el contenido en /etc/ppp/options.pptpd
, eran:
name pptpd
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Luego me conecté al servidor usando el nivel de cifrado: None
.