〖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(非常值得细读一下)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。