CentOS 7.3 搭建VPN服务器
一. 通过yum安装 ppp和pptpd
# yum -y install ppp pptpd
二. 配置pptpd相关参数
2.1 配置/etc/pptpd.conf
找到下面两行,去掉注释,并修改IP
localip 192.168.2.1
remoteip 192.168.2.234-238,192.168.2.245
localip和remoteip的地址网段可以不一样。
localip和remoteip网段最好不要和内网其他网段一样。
2.2 配置/etc/ppp/options.pptpd
找到下面的去掉注释并修改为当地的dns
ms-dns 8.8.8.8
ms-dns 8.8.4.4
2.3 配置VPN账号和密码
编辑/etc/ppp/chap-secrets文件
按照以下格式配置用户名和密码
username1 pptpd passwd1 *
username2 pptpd passwd2 *
三. 打开内核转发
vi /etc/sysctl.conf
修改以下内容开启ip转发:
net.ipv4.ip_forward = 1
保存、退出后执行:
sysctl -p
检查配置是否生效
四. 启动pptpd服务
service pptpd start
五. 配置开机启动pptpd
chkconfig pptpd on
CentOS7 使用FireWall,自行百度
附:完整脚本
六. 设置Iptables规则
vi /etc/sysconfig/iptables
nat表里面添加:
#-s 后面是pptpd.conf里面localip那个网段
#-o 后面是外网网卡设备名
#–to-source 后面是外网网卡地址
-A POSTROUTING -s 192.168.2.0/24 -o eth2 -j SNAT –to-source 192.168.1.42
filter表里面配置:
#pptpd的端口是1723
-A INPUT -p tcp -m state –state NEW -m tcp –dport 1723 -j ACCEPT
# pptp协议需要放开gre协议
-A INPUT -p gre -j ACCEPT
#修改mss为1356,-s后面是pptp客户端地址段,以免有些网站上不去
-A FORWARD -p tcp –syn -s 192.168.2.0/24 -j TCPMSS –set-mss 1356
#注释掉下面这个选项,vpn服务器就可以转发数据包,需要转发链默认规则是允许
#-A FORWARD -j REJECT –reject-with icmp-host-prohibited
保存后重启iptables
service iptables restart
七. 设置iptables自动启动
chkconfig iptables on
八. 使用windows或者其他VPN拨号客户端新建VPN拨号即可。
如果VPN客户端是内网,拨号地址输入VPN服务器的内网IP,
如果VPN客户端是外网,拨号地址输入VPN服务器的外网IP。
拨号成功后,vpn客户端即可访问VPN服务器的其他子网资源,而且可以通过VPN服务器的外网网卡访问外网资源。