3

I installed pptp server on a centos 6 64bit server

  • PPTP Server ip : 55.66.77.10

  • PPTP Local ip : 10.0.0.1

  • Client1 IP : 10.0.0.60 Centos5 64bit

  • Client2 IP : 10.0.0.61 Centos5 64bit

PPTP Server can ping Client1 And client1 can ping PPTP Server

PPTP Server can ping Client2 And client2 can ping PPTP Server

The problem is client1 can not ping Client2 and i get this error also on PPTP server error log Cannot determine ethernet address for proxy ARP

Ping from Client2 to Client1

PING 10.0.0.60 (10.0.0.60) 56(84) bytes of data.
--- 10.0.0.60 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5000ms

route -n on PPTP Server

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.60       0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.0.0.61       0.0.0.0         255.255.255.255 UH    0      0        0 ppp1
55.66.77.10     0.0.0.0         255.255.255.248 U     0      0        0 eth0
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth0
0.0.0.0         55.66.77.19     0.0.0.0         UG    0      0        0 eth0

route -n On Client 1

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.1        0.0.0.0        255.255.255.255 UH    0      0        0 ppp0
55.66.77.10     70.14.13.19    255.255.255.255 UGH   0      0        0 eth0
10.0.0.0        0.0.0.0        255.0.0.0       U     0      0        0 eth1
0.0.0.0         70.14.13.19    0.0.0.0         UG    0      0        0 eth0

route -n On Client 2

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.1        0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
55.66.77.10     84.56.120.60    255.255.255.255 UGH   0      0        0 eth1
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth0
0.0.0.0         84.56.120.60    0.0.0.0         UG    0      0        0 eth1

cat /etc/ppp/options.pptpd on PPTP server

###############################################################################
# $Id: options.pptpd,v 1.11 2005/12/29 01:21:09 quozl Exp $
#
# Sample Poptop PPP options file /etc/ppp/options.pptpd
# Options used by PPP when a connection arrives from a client.
# This file is pointed to by /etc/pptpd.conf option keyword.
# Changes are effective on the next connection.  See "man pppd".
#
# You are expected to change this file to suit your system.  As
# packaged, it requires PPP 2.4.2 and the kernel MPPE module.
###############################################################################


# Authentication

# Name of the local system for authentication purposes 
# (must match the second field in /etc/ppp/chap-secrets entries)
name pptpd

# Strip the domain prefix from the username before authentication.
# (applies if you use pppd with chapms-strip-domain patch)
#chapms-strip-domain


# Encryption
# (There have been multiple versions of PPP with encryption support,
# choose with of the following sections you will use.)


# BSD licensed ppp-2.4.2 upstream with MPPE only, kernel module ppp_mppe.o
# {{{
refuse-pap
refuse-chap
refuse-mschap
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
require-mschap-v2
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
require-mppe-128
# }}}


# OpenSSL licensed ppp-2.4.1 fork with MPPE only, kernel module mppe.o
# {{{
#-chap
#-chapms
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
#+chapms-v2
# Require MPPE encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
#mppe-40    # enable either 40-bit or 128-bit, not both
#mppe-128
#mppe-stateless
# }}}


# Network and Routing

# If pppd is acting as a server for Microsoft Windows clients, this
# option allows pppd to supply one or two DNS (Domain Name Server)
# addresses to the clients.  The first instance of this option
# specifies the primary DNS address; the second instance (if given)
# specifies the secondary DNS address.
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2

# If pppd is acting as a server for Microsoft Windows or "Samba"
# clients, this option allows pppd to supply one or two WINS (Windows
# Internet Name Services) server addresses to the clients.  The first
# instance of this option specifies the primary WINS address; the
# second instance (if given) specifies the secondary WINS address.
#ms-wins 10.0.0.3
#ms-wins 10.0.0.4

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system.  This will have the effect of making the peer appear to other
# systems to be on the local ethernet.
# (you do not need this if your PPTP server is responsible for routing
# packets to the clients -- James Cameron)
proxyarp

# Normally pptpd passes the IP address to pppd, but if pptpd has been
# given the delegate option in pptpd.conf or the --delegate command line
# option, then pppd will use chap-secrets or radius to allocate the
# client IP address.  The default local IP address used at the server
# end is often the same as the address of the server.  To override this,
# specify the local IP address here.
# (you must not use this unless you have used the delegate option)
#10.8.0.100


# Logging

# Enable connection debugging facilities.
# (see your syslog configuration for where pppd sends to)
debug

# Print out all the option values which have been set.
# (often requested by mailing list to verify options)
#dump


# Miscellaneous

# Create a UUCP-style lock file for the pseudo-tty to ensure exclusive
# access.
lock

# Disable BSD-Compress compression
nobsdcomp 

# Disable Van Jacobson compression 
# (needed on some networks with Windows 9x/ME/XP clients, see posting to
# poptop-server on 14th April 2005 by Pawel Pokrywka and followups,
# http://marc.theaimsgroup.com/?t=111343175400006&r=1&w=2 )
novj
novjccomp

# turn off logging to stderr, since this may be redirected to pptpd, 
# which may trigger a loopback
nologfd

# put plugins here 
# (putting them higher up may cause them to sent messages to the pty)

cat /etc/ppp/options.pptp on Client1 and Client2

###############################################################################
# $Id: options.pptp,v 1.3 2006/03/26 23:11:05 quozl Exp $
#
# Sample PPTP PPP options file /etc/ppp/options.pptp
# Options used by PPP when a connection is made by a PPTP client.
# This file can be referred to by an /etc/ppp/peers file for the tunnel.
# Changes are effective on the next connection.  See "man pppd".
#
# You are expected to change this file to suit your system.  As
# packaged, it requires PPP 2.4.2 or later from http://ppp.samba.org/
# and the kernel MPPE module available from the CVS repository also on
# http://ppp.samba.org/, which is packaged for DKMS as kernel_ppp_mppe.
###############################################################################

# Lock the port
lock

# Authentication
# We don't need the tunnel server to authenticate itself
noauth

# We won't do PAP, EAP, CHAP, or MSCHAP, but we will accept MSCHAP-V2
# (you may need to remove these refusals if the server is not using MPPE)
refuse-pap
refuse-eap
refuse-chap
refuse-mschap

# Compression
# Turn off compression protocols we know won't be used
nobsdcomp
nodeflate

# Encryption
# (There have been multiple versions of PPP with encryption support,
# choose which of the following sections you will use.  Note that MPPE
# requires the use of MSCHAP-V2 during authentication)
#
# Note that using PPTP with MPPE and MSCHAP-V2 should be considered
# insecure:
# http://marc.info/?l=pptpclient-devel&m=134372640219039&w=2
# https://github.com/moxie0/chapcrack/blob/master/README.md
# http://technet.microsoft.com/en-us/security/advisory/2743314

# http://ppp.samba.org/ the PPP project version of PPP by Paul Mackarras
# ppp-2.4.2 or later with MPPE only, kernel module ppp_mppe.o
# If the kernel is booted in FIPS mode (fips=1), the ppp_mppe.ko module
# is not allowed and PPTP-MPPE is not available.
# {{{
# Require MPPE 128-bit encryption
#require-mppe-128
# }}}

# http://mppe-mppc.alphacron.de/ fork from PPP project by Jan Dubiec
# ppp-2.4.2 or later with MPPE and MPPC, kernel module ppp_mppe_mppc.o
# {{{
# Require MPPE 128-bit encryption
#mppe required,stateless
# }}}

IPtables is stopped on clients and server, Also net.ipv4.ip_forward = 1 is enabled on PPTP Server.

How can i solve this problem .?

Linux Intel
  • 183
  • 1
  • 3
  • 16
  • Both clients have 0.0.0.0 as the router for their subnet 10.0.0.0, and both have external public routers defined as the default gateway (0.0.0.0)[70.14.13.19 & 84.56.120.60]. Those public routers do not know how to route to your internal private subnets. – Tim Sep 27 '12 at 00:52

1 Answers1

3

The netmask on your pptp clients is wrong... These are point-to-point links, so set a netmask of 255.255.255.255 in your pptp options. After you do this, the clients will use their default that points to the pptp server.

The reason this breaks now is because the clients consider each other reachable via ARP (since they are both on the 10.0.0.0/255.0.0.0 network); however pptp doesnt have a mac address to use.

Mike Pennington
  • 8,266
  • 9
  • 41
  • 86
  • 1
    Please give me the correct directive should i set in `options.pptp` and should i put this directive on the clients or on the pptp server .? – Linux Intel Sep 02 '12 at 22:53
  • Where did you assign the client address? – Mike Pennington Sep 03 '12 at 01:15
  • I assign the login information the the client IP from `/etc/ppp/chap-secrets` on PPTP Server using this syntax `client1 * mypass 10.0.0.60` – Linux Intel Sep 03 '12 at 07:28
  • how and where do i have to set the netmask option? on the server? or on the client side? please guide, here is my open question http://serverfault.com/questions/648167/ping-connected-clients-to-vpn-tunnel-pptp – john Dec 03 '14 at 02:19
  • I couldn't find any netmask option on my client(win7) connection. – Mojtaba Rezaeian Jul 03 '17 at 15:03