搭建虚拟私人网络
网上的教程说多也不多说少也不少,就要看你怎么找。本章为个人笔记 :)
搭建环境:
1.检测搭建的环境要求
#cat /dev/net/tun
apt-get install pptpd
3.编辑 vi /etc/pptpd.conf
此地方地设置的IP在后面会用到。。。。注意。。。。`
去掉文件最末端的 localip 和 remoteip 两个参数的注释(可以进行相应地修改,可我没有) localip 10.100.0.1 remoteip 10.100.0.2-10
localip
是 VPN 连通后服务器的 ip 地址,而 remoteip
则是客户端的可分配 ip 地址。
4.编辑 vi /etc/ppp/pptpd-options
需要改变其中的 ms-dns 选项,为 VPN 客户端指派 DNS 服务器地址 ms-dns 8.8.8.8 ms-dns 8.8.4.4
解析:ms-dns 8.8.8.8, ms-dns 8.8.4.4是使用google的dns服务器。
5.编辑 vi /etc/ppp/chap-secrets
存放着VPN的用户名和密码 如文件中注释所示,第一列是用户名,第二列是名(默认写 pptpd 即可,如果在 pptpd-options 文件中更改过的话,注意这里保持一致),第三列是密码,第四列是 IP 限制(不做限制写 * 即可) 例子: vpn1 pptpd "123456789" *
6.我们需要重启 pptpd 服务使新配置生效
/etc/init.d/pptpd restart
至此,如果我们建立连接之后,将会发现除了可以访问服务器的资源,其余内外和互联网的内容均无法访问。如果需要访问这些内容的话,我们还需要进一步设置: 首先,开启 ipv4 forward
。方法是,修改 /etc/sysctl.conf
,找到类似下面的行并取消它们的注释(*.ipv4.* = 1
的都要去掉注释哦):
7.编辑 vi /etc/sysctl.conf
取消如下注释:(有问题酒吧的话, *.ipv4.* = 1
的都去掉注释)
net.ipv4.ip_forward=1
使配置生效:
sysctl -p
作用:修改内核设置,使其支持转发
有些时候,经过这样设置,客户端机器就可以上网了(我在虚拟机上这样操作后就可以了)。 但我在实验室的服务器上这样操作后仍然无法访问网络,这样我们就需要建立一个 NAT
。这里我们使用强大的 iptables
来建立 NAT。首先,先安装 iptables
:
8.添加iptables转发规则等操作
启动iptables和nat转发功能,很关键的呀
1.安装iptables
apt-get intall iptables
2.为了客户端能够顺利连接到VPN服务器,还需主机防火墙开放VPN端口(默认为1723)
sudo iptables -I INPUT -p tcp --dport 1723 -j ACCEPT sudo iptables -I INPUT -p tcp --dport 47 -j ACCEPT sudo iptables -I OUTPUT -p tcp --dport 1723 -j ACCEPT sudo iptables -I OUTPUT -p tcp --dport 47 -j ACCEPT
3.然后,我们向 nat 表中加入一条规则:
设置iptables NAT转发
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
这里的设置与之前的 /etc/pptpd.conf有关联,详细查阅:http://www.dabu.info/centos6-4-structures-pptp-vpn.html里地 第四步:启动pptp vpn服务和iptables
4.这样操作后,客户端机器应该就可以上网了。 但是,只是这样,iptables
的规则会在下次重启时被清除,所以我们还需要把它保存下来,方法是使用 iptables-save
命令:
iptables-save > /etc/iptables-rules
按着教程走,应该到了这里了
5.编辑vi /etc/network/interfaces
找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:
pre-up iptables-restore < /etc/iptables-rules
可是我这里我的文件里面没有此eth0,估计网卡名称不一样,可用ifconfig查看
详细可查阅:http://www.dabu.info/centos6-4-structures-pptp-vpn.html
6.设置MTU来确保过大的包不会被丢弃(这个可以不做)
iptables -I FORWARD -s 192.168.0.0/24 -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1300
9.启动服务
/etc/init.d/pptpd restart
感谢:
http://octree.me/buid-vpn-on-ubuntu/
http://www.dabu.info/centos6-4-structures-pptp-vpn.html