设为首页收藏本站
查看: 12818|回复: 0

[Linux] Ubuntu搭建VPN服务器

[复制链接]

231

主题

64

回帖

2145

积分

管理员

积分
2145
玉米糊 发表于 2015-4-8 16:46:59 | 显示全部楼层 |阅读模式
一、安装PPP和TUN
TUN设备是Linux下的虚拟网卡,首先检查你VPS的PPP和TUN有没有启用:
[mw_shl_code=bash,true]cat /dev/ppp
cat: /dev/ppp: No such device or address[/mw_shl_code][mw_shl_code=bash,true]
cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state
[/mw_shl_code]
如上显示表明通过,上述两条只要有一个没通过都不行。如果没有启用,你可以给VPS提供商Submit 一个 Ticket请求开通:
Hello

Could you enabled TUN-TAP for me? I want run pptp-vpn on my VPS.
Thank you.

确认PPP和TUN启用后,开始安装ppp和iptables:

二、安装ppp、iptables和pptp:
[mw_shl_code=bash,true]apt-get update
apt-get install ppp iptables pptpd[/mw_shl_code]

三、配置pptp
pptp协议使用基于Microsoft点到点加密技术MPPE。编辑/etc/pptpd.conf文件:
[mw_shl_code=bash,true]vi /etc/pptpd.conf[/mw_shl_code]
把下面字段前面的#去掉:
[mw_shl_code=bash,true]localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245[/mw_shl_code]
关键点:pptpd.conf这个配置文件必须保证最后是以空行结尾才行,否则会导致启动pptpd服务时,出现“Starting pptpd:”,一直卡着不动的问题,无法启动服务,切记呀!(相关文档可以查看:Starting pptpd: 运行不下去的原因)

四、配置ppp
pptp协议使用基于ppp协议的身份验证方式。编辑/etc/ppp/options文件:
[mw_shl_code=bash,true]vi /etc/ppp/options[/mw_shl_code]
去掉ms-dns前面的#,并使用Google的DNS服务器,修改成如下字段:
[mw_shl_code=bash,true]ms-dns 8.8.8.8
ms-dns 8.8.4.4[/mw_shl_code]

五、设置VPN账号密码
编辑/etc/ppp/chap-secrets这个文件:
[mw_shl_code=bash,true]vi /etc/ppp/chap-secrets[/mw_shl_code]
添加内容:
[mw_shl_code=bash,true]freedom pptpd 123456 *[/mw_shl_code]
其中freedom为VPN用户名,123456为密码,*表示允许所有IP。

六、修改内核设置,开启IPv4转发
编辑/etc/sysctl.conf 文件:
[mw_shl_code=bash,true]vi /etc/sysctl.conf[/mw_shl_code]
将“net.ipv4.ip_forward”的值改为1:
[mw_shl_code=bash,true]net.ipv4.ip_forward=1[/mw_shl_code]
同时,在“net.ipv4.tcp_syncookies = 1”前面加#
[mw_shl_code=bash,true]# net.ipv4.tcp_syncookies = 1[/mw_shl_code]
使sysctl.conf配置文件生效,命令
[mw_shl_code=bash,true]sysctl -p[/mw_shl_code]

七、添加iptables转发规则:
[mw_shl_code=bash,true]iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 188.10.10.100[/mw_shl_code]
其中,192.168.0.0对应的是第三步localip网段,188.10.10.100为你VPS的公网IP地址。
然后保存iptables转发规则:
[mw_shl_code=bash,true]iptables-save[/mw_shl_code]
重启pptp服务:
[mw_shl_code=bash,true]/etc/init.d/pptpd restart[/mw_shl_code]
如果要开机启动将最后三条命令写入:/etc/rc.local文件中

至此,Linux VPS架设VPN完成










回复

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-4-30 12:10 , Processed in 0.054828 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表