Вводные.
Шлюз. (Виртуальная машина) 2 сетевых карты. одной картой смотрит во внешнюю сеть, второй — внутрь локальной сети.
Задача:
Дать мобильным клиентам доступ во внутреннюю сеть.
eth0 LAN inet addr:192.168.11.1 Bcast:192.168.11.255 Mask:255.255.255.0
eth1 WAN inet addr:XX.XX.XX.178 Bcast:XX.XX.XX.191 Mask:255.255.255.248
PPP 172.16.16.1
Для начала, обновляемся. Ставим вспомогательные пакеты.
yum update && yum upgrade yum install ssh openssh-server nano wget fetch tcpdump
Отключаем selinux
[root@gate ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted т.к. в моем случае шлюз - виртуальная машина на хосте ESXi - ставим vmWare tools yum install perl gcc make kernel-headers kernel-devel -y mount /dev/cdrom /mnt cd /mnt tar xzvf VMwareTools-9.4.0-1280544.tar.gz -C /tmp cd /tmp/vmware-tools-distrib/ ./vmware-install.pl --default reboot ifconfig -a wget http://poptop.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm rpm -i pptp-release-current.noarch.rpm yum install pptpd ppp pptp pptpd dnsmasq modprobe ip_gre modprobe ip_nat_pptp modprobe ip_conntrack_pptp [root@gate ~]# cat /etc/sysconfig/iptables *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A POSTROUTING -s 172.16.16.0/24 -o eth0 -j SNAT --to-source 192.168.11.1 --persistent COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [433:72508] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT # Порт для ssh -A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT # Порт для pptp -A INPUT -i ppp+ -j ACCEPT # Разрешаем любые входящие от клиентов на PPTP -A INPUT -p gre -j ACCEPT # Разрешаем прохождение gre -A FORWARD -j ACCEPT # Форвардинг разрешен -A FORWARD -i ppp+ -o ppp+ -j ACCEPT # Разрешаем передачу данных от одного клиента другому COMMIT cat /etc/sysctl.conf .... # Controls IP packet forwarding net.ipv4.ip_forward = 1 ... cat /etc/rc.d/rc.local ... modprobe ip_gre modprobe ip_nat_pptp modprobe ip_conntrack_pptp ... [root@gate ~]# cat /etc/pptpd.conf localip 172.16.16.1 remoteip 172.16.16.200-250 option /etc/ppp/options.pptpd [root@gate ~]# cat /etc/ppp/options.pptpd # имя сервера - используется для аутентификации name pptpd # Список протоколов проверки пароля refuse-pap # Незашифрованный пароль PAP refuse-chap # Протокол проверки пароля CHAP refuse-mschap # Протокол проверки пароля MS-CHAP require-mschap-v2 # Протокол проверки пароля MS-CHAP v2 require-mppe-128 # Использоавть MPPE128 шифрование при проверке пароля # MS-CHAP v2 nobsdcomp nodeflate novj novjccomp nologfd proxyarp ms-dns 8.8.8.8 # DNS1 ms-dns 8.8.4.4 # DNS2 mtu 1400 mru 1400 lcp-echo-failure 6 lcp-echo-interval 10 nodefaultroute # debug # Для отладки [root@gate ~]# cat /etc/ppp/chap-secrets # Secrets for authentication using PAP # client server secret IP addresses user1 pptpd P@SS "*" sysctl -p chkconfig pptpd on chkconfig iptables on chkconfig dnsmasq on service pptpd start
Здравствуйте, сделал все как вы описали, пытаюсь подключиться к VPN серверу (Centos 6.5) с Win8 выдает 619 ошибку, на Win8 выставил CHAP/MS-CHAPv2, на VPN сервере:
cat /etc/ppp/options.pptpd
name pptpd
#auth # требуем авторизацию у клиентов
#refuse-pap # Не зашифрованный пароль PAP
refuse-chap # Протокол проверки пароля CHAP
refuse-mschap # Протокол проверки пароля MS-CHAP
require-mschap-v2 # Протокол проверки пароля MS-CHAP v2
#require-mppe-128 # Использовать MPPE128 шифрование при проверке пароля MS-CHAP v2
#require-mppe # Используем шифрование
proxyarp
nodefaultroute
lock
nobsdcomp
logfile /var/log/ppp/pptpd.log
ms-dns 8.8.8.8
debug
nodeflate
novj
novjccomp
nologfd
mtu 1400
mru 1400
lcp-echo-failure 6
lcp-echo-interval 10
cat /etc/pptpd.conf
ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd
localip 192.168.200.1
remoteip 192.168.200.100-200
service iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 SNAT all — 192.168.200.0/24 0.0.0.0/0 to:1.1.1.1
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:1723
2 ACCEPT 47 — 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all — 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
4 ACCEPT icmp — 0.0.0.0/0 0.0.0.0/0
5 ACCEPT all — 0.0.0.0/0 0.0.0.0/0
6 ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:xxxxxx
7 REJECT all — 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all — 0.0.0.0/0 0.0.0.0/0
2 ACCEPT all — 0.0.0.0/0 0.0.0.0/0
3 REJECT all — 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
И логи:
May 30 12:14:01 VPN pptpd[2012]: CTRL: Client 2.2.2.2 control connection started
May 30 12:14:01 VPN pptpd[2012]: CTRL: Starting call (launching pppd, opening GRE)
May 30 12:14:01 VPN pppd[2013]: pppd 2.4.5 started by admin, uid 0
May 30 12:14:01 VPN pppd[2013]: Using interface ppp0
May 30 12:14:01 VPN pppd[2013]: Connect: ppp0 /dev/pts/0
May 30 12:14:31 VPN pppd[2013]: LCP: timeout sending Config-Requests
May 30 12:14:31 VPN pppd[2013]: Connection terminated.
May 30 12:14:31 VPN pppd[2013]: Modem hangup
May 30 12:14:31 VPN pppd[2013]: Exit.
May 30 12:14:31 VPN pptpd[2012]: GRE: read(fd=6,buffer=6124a0,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
May 30 12:14:31 VPN pptpd[2012]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
May 30 12:14:31 VPN pptpd[2012]: CTRL: Client 2.2.2.2 control connection finished
Проверял все не однократно, между устройствами ничего нет (FW) порт pptp и gre разрешены, Centos установлен как VM на HyperV, LIS так же установлен (3.5) , что вы думаете об этом ?
Возможно трабла в nodefaultroute ( Комментируем строку.)
В винде идем в свойстрва pptp соединения (Панель управления\Сеть и Интернет\Сетевые подключения) там вкладка сеть -> Протокол интернета v4 -> Дополнительно -> убрать галку использовать основной шлюз в уд. сети.
Если не прокатит то можно попробовать без шифрования.
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
ms-dns 8.8.8.8
proxyarp
lock
nobsdcomp
noaccomp
logfile /var/log/pptpd.log
nodefaultroute
Ранее уже пробовал комментировать nodefaultroute и не с шифрованным паролем, убрал галку с «использовать основной шлюз в уд. сети», без изменений те же логи, пробовал запускать на разных компах из разных сетей, я думаю, что эти параметры связаны с непосредственно передачей данных через VPN, а не с установкой самого VPN, подозреваю, что проблема с GRE не пойму только какая, mod работает в iptables тоже все Ok.
А selinux точно отдизейблен?
debug в конфиге pptpd.conf включен?
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing — SELinux security policy is enforced.
# permissive — SELinux prints warnings instead of enforcing.
# disabled — No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted — Targeted processes are protected,
# mls — Multi Level Security protection.
SELINUXTYPE=targeted
***************************************************************
А debug был отключен, включил.
Что выдает в лог при включении дебага?