Skip to content

Instantly share code, notes, and snippets.

@amanualt amanualt/ forked from yyang/
Last active Nov 8, 2017

What would you like to do?
centos 7 pptpd firewalld
# pptpd installation script on my own CentOS 7 box.
# inspired by:
# and
# Author: 2015 Steve Yang <>
# The script comes with ABSOLUTELY NO WARRANTY.
# Install pptpd
rpm -Uvh
yum -y install ppp pptpd
# pptpd settings
echo 'localip' >> /etc/pptpd.conf
echo 'remoteip' >> /etc/pptpd.conf
echo 'ms-dns' >> /etc/ppp/options.pptpd
echo 'ms-dns' >> /etc/ppp/options.pptpd
echo 'USERNAME pptpd PASSWORD *' >> /etc/ppp/chap-secrets
# system ipv4 forward
if grep -xq 'net.ipv4.ip_forward' $sysctl_file; then
sed -i.bak -r -e "s/^.*net.ipv4.ip_forward.*/net.ipv4.ip_forward = 1/" $sysctl_file
echo 'net.ipv4.ip_forward = 1' >> $sysctl_file
sysctl -p
# firewalld
firewall-cmd --permanent --new-service=pptp
cat >/etc/firewalld/services/pptp.xml<<EOF
<?xml version="1.0" encoding="utf-8"?>
<port protocol="tcp" port="1723"/>
# reload pptp.xml
chmod 640 /etc/firewalld/services/*.xml
restorecon /etc/firewalld/services/*.xml
# firewalld
firewall-cmd --permanent --zone=$zone --add-service=pptp
firewall-cmd --permanent --zone=$zone --add-masquerade
firewall-cmd --reload
# start pptpd
systemctl start pptpd
systemctl enable pptpd.service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.