Set up Linux PPTP Client from the Terminal
Tags : firewalliptablesLinuxPPTPVPN
Category : How-to
Get Social!
Linux penguinA Virtual Private Network, or VPN, allows the client computer to connect to a remote local network to use it’s resources such as printers and file shares. There are several types of VPN such as PPTP and LP2SEC with varying types of protection. PPTP is not the most secure type of VPN but its the easiest to set up.
PPTP has numerous security risks which means that the data you are transferring through your VPN can easily be unencrypted. L2TP/IPsec is becoming the standard VPN technology of choice. PPTP should not be used unless security of each end point and the data transferred is not required.
Take the quick VPN Poll to tell us what type of VPN you use.
This tutorial assumes you have a PPTP server already set up with the following details:
Hostname: pptp.jamescoyle.net
Username: pptpuser
Password: pptppassword
Open a Terminal and install the required PPTP client packages.
1
代碼: 選擇全部
apt-get install pptp-linux network-manager-pptp
1
代碼: 選擇全部
vi /etc/ppp/chap-secrets
[USER] – user name to log in to the VPN server
[SERVER] – name of server to use, PPTP in our case.
[SECRET] – password of the above [USER].
[IP] – ip of the server, * means all IPs.
1
[USER] [SERVER] [SECRET] [IP]
Example:
1
代碼: 選擇全部
pptpuser PPTP pptppassword *
1
vi /etc/ppp/ip-up.d/route-traffic
The below examle script adds a route from the PPTP connection to any computers on the PPTP servers local network with IPs in the 10.0.0.0 or 192.0.0.0 ranges. This means that on the PPTP client, any machines on the above IP ranges will be accessible. This script may not be required for your environment and is simply used as an example. Note: a route should automatically be added to your VPN gateway.
1
2
3
4
5
6
#!/bin/bash
NET1="10.0.0.0/8"
NET2="192.0.0.0/8"
IFACE="ppp0"
route add -net ${NET1} dev ${IFACE}
route add -net ${NET2} dev ${IFACE}
Allow execution of the script:
1
chmod +x /etc/ppp/ip-up.d/route-traffic
Add the PPTP client connection pool and any additional settings which are required. The connection name, jamescoyle.net, can be changed to suite your connection.
1
代碼: 選擇全部
vi /etc/ppp/peers/jamescoyle.net
[USER] – user name to log in to the VPN server
[HOST] – host name or IP address of the PPTP server.
1
2
3
4
5
6
代碼: 選擇全部
pty "pptp [HOST] --nolaunchpppd"
name [USER]
remotename [HOST]
require-mppe-128
file /etc/ppp/options.pptp
ipparam jamescoyle.net
1
2
iptables -A INPUT -i pptp -j ACCEPT
iptables -A OUTPUT -i pptp -j ACCEPT
Finally you will need to start your PPTP client connection. Use pon and poff to start and stop your PPTP client. Replace [CONNECTION] with the name you gave to the file in /etc/ppp/peers/.
1
2
代碼: 選擇全部
pon [CONNECTON]
poff [CONNECTION]
Related Posts:
Linux PPTP Client Error: “pty option precludes specifying device name”
Script to Automatically Detect and Restart Linux PPTP Client
Setup Headless Dropbox Sync Client on Linux
Create a permanent virtual IP address in Linux
Mount a Windows/ Samba Share in Linux
Linux User Management Cheat Sheet