〖Network〗linux pptp vpn connect via command line

关于使用命令行配置Ubuntu pptp vpn连接,网上有很多的资料;

但是要折腾起来还是需要花费很长时间的,现在已弄成了只需要几行命令就完事了;

 

1. 安装依赖软件:

  sudo apt-get install  pptp-linux

2. 使用pptpsetup来配置:

  sudo pptpsetup --create my_tunnel --server vpn.example.com --username alice --password foo --encrypt

3. 配置好路由策略:

  1)  假如你希望能被其他机器如183.15.xxx.xxx能ssh过来的话,假定eth1能访问外网,默认网关121.40.71.247

  sudo route add -net 183.15.xxx.xxx netmask 255.255.255.255 gw 121.40.71.247 dev eth1 metric 1000

  2)   假如183.15.xxx.xxx是由运营商动态分配给你的,可以这么设定把范围扩大一点:

  sudo route add -net 183.15.0.0 netmask 255.255.0.0 gw 121.40.71.247 dev eth1 metric 1000

  3)  然后其他的网络全部经过ppp0

  sudo route add default dev ppp0

  这里几步可以编写如下脚本来实现:

  sudo vi /etc/ppp/ip-up.d/route-traffic

#!/bin/bash
route add -net 183.15.0.0 netmask 255.255.0.0 gw 121.40.71.247 dev eth1 metric 1000
route add default dev ppp0

  之后 sudo pon my_tunnel 连接vpn时,路由将会自动配置

4. 配置iptables转发

  1)  开启转发功能

  sudo sysctl net.ipv4.ip_forward=1 

  2)   假定ifconfig ppp0输出信息包含类似"inet addr:10.0.0.114 P-t-P:10.0.0.4"的信息,能出外网的网口是eth1

  sudo iptables -t nat -A POSTROUTING -o eth1 -s 10.0.0.0/24 -j MASQUERADE

  sudo iptables-save

 

参考链接:

  [1] https://wiki.ubuntu.com/VPN

  [2] https://wiki.archlinux.org/index.php/PPTP_VPN_client_setup_with_pptpclient#Configure_using_pptpsetup(非常值得细读一下)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。