centos7 安装 PPTP服务器
1、安装PPTP
yum install pptpd ppp
2、配置文件
vim /etc/ppp/options.pptpd
将它更改为你的dns服务地址(此处为阿里云DNS)
ms-dns 223.5.5.5 ms-dns 223.6.6.6
3、vpn 账户密码
vim /etc/ppp/chap-secrets
设置 VPN账号 + 服务类型 + VPN密码 + IP
# Secrets for authentication using CHAP # client server secret IP addresses liang * 123456 *
4、设置最大传输单元
vim /etc/ppp/ip-up
#!/bin/bash # This file should not be modified -- make local changes to # /etc/ppp/ip-up.local instead PATH=/sbin:/usr/sbin:/bin:/usr/bin export PATH LOGDEVICE=$6 REALDEVICE=$1 [ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post --realdevice ${REALDEVICE} ifcfg-${LOGDEVICE} /etc/ppp/ip-up.ipv6to4 ${LOGDEVICE} [ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@" ifconfig $1 mtu 1500 echo "$PEERNAME 分配IP: $5 登录IP: $6 登录时间: $(date '+%Y-%m-%d %H:%M:%S')" >> /var/log/ppp/ip.log exit 0
5、配置pptp配置文件
vim /etc/pptpd.conf
localip 172.20.0.1 remoteip 172.20.0.20-254
6、打开内核的ip 转发功能
vim /etc/sysctl.conf 编辑配置文件,添加 net.ipv4.ip_forward = 1 的配置,保存后退出。 运行 sysctl -p 使修改后的参数生效。
7、设置开机启动
#重启PPTP服务 systemctl restart pptpd #配置开机自启 systemctl enable pptpd.service
8、打开防火墙
开启47及1723端口: firewall-cmd --permanent --zone=public --add-port=47/tcp firewall-cmd --permanent --zone=public --add-port=1723/tcp 开启 NAT 转发 firewall-cmd --permanent --zone=public --add-masquerade 允许gre协议: firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p gre -j ACCEPT 设置规则允许数据包由eth0和ppp+接口中进出 firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ppp+ -o eth0 -j ACCEPT firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ppp+ -j ACCEPT 设置转发规则,从源地址发出的所有包都进行伪装,改变地址,由eth0发出:(10.1.1.0内网地址,子网地址前两位) firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 172.20.0.0/16 重启服务器: firewall-cmd --reload systemctl restart pptpd
9、日志
1、上线日志 vim /etc/ppp/ip-up 在[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@" 后加上 echo "$PEERNAME 分配IP: $5 登录IP: $6 登录时间: $(date '+%Y-%m-%d %H:%M:%S')" >> /var/log/ppp/ip.log 2、下线日志 vim /etc/ppp/ip-down 在/etc/sysconfig/network-scripts/ifdown-post --realdevice ${REALDEVICE} \ ifcfg-${LOGDEVICE} 后加上 echo "$PEERNAME 下线IP: $5 下线时间: $(date '+%Y-%m-%d %H:%M:%S')" >> /var/log/ppp/ip.log
10、添加路由表脚本
route add -net 192.168.38.0/24 gw 172.20.0.10 route add -net 192.168.40.0/24 gw 172.20.0.10
11、自动添加永久路由
#! /bin/bash #检测网络连接 ping -c 1 172.20.0.10 > /dev/null 2>&1 if [ $? -eq 0 ];then echo 检测林安网络正常 ping -c 1 192.168.50.1 > /dev/null 2>&1 if [ $? -eq 1 ];then echo 刷新林安路由表 route add -net 192.168.38.0/24 gw 172.20.0.10 route add -net 192.168.40.0/24 gw 172.20.0.10 route add -net 192.168.50.0/24 gw 172.20.0.10 route add -net 192.168.69.0/24 gw 172.20.0.10 route add -net 139.9.76.0/24 gw 172.20.0.10 fi else echo 检测林安网络连接异常 fi
12、crontab任务
*/1 * * * * . /etc/profile; /bin/sh /data/sh/linanRoute.sh > /dev/null 2>&1