LINUX下搭建VPN
CentOS 6.X 32位安装 VPN
历史命令查看:history
一、首先我们先安装 epel 源
cd /tmp
wget http://mirror.sfo12.us.leaseweb.net/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
安装完后执行 yum makecache
后面安装 yum -y install dkms ppp pptpd
完成安装后 查看 mppe 模块是否装载 lsmod | grep mppe
如果输出以下信息证明模块已经装载
ppp_mppe 5230 0
ppp_generic 20754 1 ppp_mppe
如果没有装载,执行以下命令装载
modprobe ppp-compress-18
二、修改系统内核参数
vi /etc/sysctl.conf
在末尾添加以下内容:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
添加完成后 执行 sysctl -p 让配置文件马上生效
三、
配置 PPTP服务器
编辑 PPTP 配置文件
vi /etc/pptpd.conf
在末尾添加以下内容 IP可以自定义
localip 10.11.101.1 # 本机的IP 地址 等于网关的意思
remoteip 10.11.101.100-200 # 远程客户端的IP地址范围
编辑 PPTP服务器选项
vi /etc/ppp/options.pptpd
在末尾添加以下内容 DNS可以自己修改
idle 2592000
ms-dns 8.8.8.8 # DNS
ms-dns 8.8.4.4 #
编辑认证配置文件
vi /etc/ppp/chap-secrets
文件的内容大概是以下这样的
# Secrets for authentication using CHAP
# client server secret IP addresses
test (客户端) pptpd (服务器名) test123(密码) *(分配IP地址*表示所有任意IP)
最后启动服务
service pptpd start
通过客户端链接到服务器 会发现已经连接了 但是没有 Internet 访问权限 下面我们需要加下面一串防火墙规则 做下NAT 转发才可以
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 172.16.4.6
在后来你会发现可以上网了 但是百度死活上不去,解决办法如下
这里的MTU值为 1396
我们手动将MTU值改成 1500 百度就可以访问了,命令如下
ifconfig ppp0 mtu 1472
但是每次拨号都要修改 MTU值 太麻烦了
可以写入到 ip-up 配置文件里
vi /etc/ppp/ip-up
在下面添加一行
/sbin/ifconfig ppp0 mtu 1472 即可
或者在 option.pptpd 文件中增加 mtu 1472
这个已测试,大家可以用!
本文出自 “LINUX下搭建VPN” 博客,请务必保留此出处http://qin1996.blog.51cto.com/9141066/1621370
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。