I was testing Point-to-Point Tunneling today, between a CentOS 6 server running
pptpd, and some Mikrotik routers as
the clients, and I wanted to change the listening port on the
pptpd side. After searching and reading a bit of
documentation for a while, I was surprised to find that
pptpd respects the record for
pptp as defined in
Therefore, to change the port on which
pptpd listens, change the following
pptp 1723/tcp # pptp pptp 1723/udp # pptp
...from the default 1723 to whatever you want, and restart the
Just in case, if you want to use a port that is already defined differently in
/etc/services, you might comment out the default entries to avoid confusion.
In my case, I used port 1821, so I commented out all the following lines:
# pptp 1723/tcp # pptp # pptp 1723/udp # pptp # donnyworld 1821/tcp # donnyworld # donnyworld 1821/udp # donnyworld
pptp 1821/tcp # pptp pptp 1821/udp # pptp
A bit more on
man page for
services is a plain ASCII file providing a mapping between human-friendly textual names for internet services, and their underlying assigned port numbers and protocol types. Every networking program should look into this file to get the port number (and protocol) for its service.
pptpd is actually doing the right thing here, looking at this file to
find its port. I wonder which other servers do the same thing.
Image credit: Part of Variable-Density Tunnel - Wind Tunnel #2, by NASA. In the Public Domain. Source