VPN一般指虚拟专用网络
虚拟专用网络的功能:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器、硬件、软件等多种方式实现。
按VPN的协议分类:
VPN的隧道协议主要有三种,PPTP、L2TP和IPSec,其中PPTP和L2TP协议工作在OSI模型的第二层,又称为二层隧道协议;IPSec是第三层隧道协议。
下面使用pptp协议搭建VPN,安装pptpd:
yum install -y pptpd
1.配置pptpd.conf
vim /etc/pptpd.conf
打开配置文件后,在最下面找到
#localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245
将注释去掉,并改成你自己想要设置的IP段
localip就是指定你服务器的内网IP地址,其实即便网卡没有配置成这个地址也无所谓
remoteip就是用户连接到你的服务器后,服务器为用户分配的ip地址范围,注意格式。
例:
localip 192.168.0.1 remoteip 192.168.0.2-254
2.配置options.pptpd文件
vim /etc/ppp/options.pptpd
打开后,找到下面字段,去掉注释,并修改成你想要为用户分配的dns服务器,一般指定google的即可
ms-dns 114.114.114.114 ms-dns 8.8.8.8 ms-dns 8.8.4.4
3.配置chap-secrets文件
vim /etc/ppp/chap-secrets
chap-secrets文件用来存储pptpd server连接帐户
# Secrets for authentication using CHAP # client server secret IP addresses admin pptpd 123456 *
4.配置文件/etc/sysctl.conf
将“net.ipv4.ip_forward=0”改为1
注释“net.ipv4.tcp_syncookies = 1”
net.ipv4.ip_forward=1 #net.ipv4.tcp_syncookies = 1
保存退出,并执行下面的命令来生效它:
sysctl -p
5.启动iptables和nat转发功能
a.清除规则
iptables -F -t nat iptables -X -t nat iptables -Z -t nat iptables -F iptables -X iptables -Z
b.添加规则
#pptp端口 iptables -A INPUT -p tcp --dport 1723 -j ACCEPT #GRE协议,协议号47 iptables -A INPUT -p tcp --dport 47 -j ACCEPT iptables -A INPUT -p gre -j ACCEPT #IP转发 iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth1 -j MASQUERADE iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j SNAT --to-source 121.42.155.161 #DNS协议,端口号53 iptables -A INPUT -p UDP --dport 53 -j ACCEPT #nginx端口 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #mysql端口 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #php-fpm端口 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT #保存 service iptables save
6.重启pptpd服务
pptpd服务重启使用如下命令,否则会报:pptpd dead but pid file exists 错误
service pptpd restart-kill
时间: 2024-10-27 07:52:50