centos pptp 单网卡旁挂

前端之家收集整理的这篇文章主要介绍了centos pptp 单网卡旁挂前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


pptp安装过程和步骤

这里的场景为PPTP的单网卡模式,即旁挂旁路部署,主要在出口防火墙做1723的端口映射,原因PPTPVPN 拨号纽盾设备体验不好。

系统为最小化安装,centos 6.8,仅仅安装了PPTP 的和必要的服务。


1、验证ppp


用cat命令检查是否开启ppp,一般服务器都是开启的,除了特殊的VPS主机之外。

[root@localhost1 /]# cat /dev/ppp

cat: /dev/ppp: No such device or address

cat出现上面结果,则说明ppp是开启的,可以正常的配置pptp了。

2 安装PPP

先安装epel的扩展源,否则不能进行pptpd的安装和配置文件的更改。

[root@localhost1 /]# yum -y install pptpd

iptables一般情况默认都是系统装好后就已经有了,安装iptables是为了做NAT,让PPTP客户端能够通过PPTP服务器上外网。


4、配置pptp

[root@localhost1 /]# vi /etc/pptpd.conf

在最底下添加下面两行,localip是pptp服务器端IP,remoteip是客户端获取的IP地址范围

localip 172.17.0.100 拨号成功后再VPN 客户端详细信息可以查看。

remoteip 172.17.0-30


5 修改options.pptpd文件


[root@localhost1 /]# vi /etc/ppp/options.pptpd

打开后,找到下面字段,并修改成你想要为VPN用户分配的dns服务器

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

proxyarp

lock

nobsdcomp

novj

novjccomp

nologfd

ms-dns 114.114.114.114

ms-dns 172.17.9.16 我内网的dns服务器


6 添加vpn的帐号和密码


[root@localhost1 /]# vi /etc/ppp/chap-secrets

一行添加一个账号,每个帐号需要添加的4个字段,分别为:用户名、服务、密码、分配的ip地址(如果IP为*,则表示随机分配,分配范围采用pptp.conf中的设置)


# client server secret IP addresses

hmj pptpd hmj123 *

#kefubu

test pptpd test2017 *

lili pptpd 2017xt *


6、开启ip转发


[root@localhost1 /]# vi /etc/sysctl.conf

把net.ipv4.ip_forward的值改为1,追加即可。找到net.ipv4.ip_forward = 0 改为 net.ipv4.ip_forward = 1

net.ipv4.ip_forward = 1

保存退出,并执行下面命令使内核配置生效:


[root@localhost1 /]# sysctl -p



7、配置iptables转发


[root@localhost1 /]# iptables -t nat -A POSTROUTING -s 172.17.12.0/24 -j SNAT --to-source 172.17.0.100


这条命令是让192.168.100.0这个段的ip地址,可以通过58.33.244.126这个公网IP访问外网。

你需要将192.168.100.0/24替换成你在pptp.conf中设置的ip段和子网掩码,将58.33.244.126替换成你服务器自己的公网ip地址,否则拨上来的用户只能访问内网。


8、启动服务


[root@localhost1 /]# /etc/init.d/pptpd restart \status\stop


将服务配置为开机自动启动


[root@localhost1 /]# chkconfig pptpd on

[root@localhost1 /]# chkconfig iptables on

/etc/init.d/pptpd start

chkconfig --level 35 pptpd on


9 拨号成功后可以看到ppp的隧道口UP.

: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1396 qdisc pfifo_fast state UNKNOWN qlen 3

link/ppp

inet 172.17.0.100 peer 172.17.12.1/32 scope global ppp0


10 #######查看拨号的用户有哪些##pptpd vpn查看当前在线用户################################################

last | grep still | grep ppp


23.iptables -A INPUT -p tcp -m tcp -d 123.123.123.123 --dport 80 -j ACCEPT24.iptables -A INPUT -p tcp -m tcp -d 123.123.123.123 --dport 443 -j ACCEPT25.iptables -A INPUT -p tcp -m tcp -d 123.123.123.124 --dport 1723 -j ACCEPT26.iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT27.iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT






[root@Nginx ~]# ip ad |grep mtu

1: lo: <LOOPBACK,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

2: eth0: <BROADCAST,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

50: ppp0: <POINTOPOINT,LOWER_UP> mtu 1396 qdisc pfifo_fast state UNKNOWN qlen 3

[root@Nginx ~]# cat /sys/class/net/ppp0/mtu vpn 客户端拨号正常后发现某些网页不能打开,mtu 问题,

1396

[root@Nginx ~]# echo "1472" > /sys/class/net/ppp0/mtu

[root@Nginx ~]#

[root@Nginx ~]# cat /sys/class/net/ppp0/mtu

1472

[root@Nginx ~]#

手动修改后网页可以正常打开,但是重启又要重新修改,需要些脚本。下面的链接参考。

http://www.cnblogs.com/kevingrace/p/6329722.html?utm_source=itdadao&utm_medium=referral


1、查看mtu:

# ip a | grep mtu

1: lo: <LOOPBACK,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

2: eth0: <BROADCAST,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

254: gre0: <NOARP> mtu 1472 qdisc noop state DOWN

# 可以查看到所有网卡的mtu值,此处可以看到eth0的是1500,gre0的是1472

2、 查看某个网卡的MTU,ppp0的需要连接VPN后才能查看

# cat /sys/class/net/ppp0/mtu

#

# 更改其值

# echo "1472" > /sys/class/net/ppp0/mtu

# 改完以后测试立即就能访问百度了。看来真的是这个问题。于是把它添加到连接自动设置其值。

3、配置VPN连接自动设置MTU的值

# 2. 写到/etc/ppp/ip-up中

# 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 "$@"

/sbin/ifconfig ppp0 mtu 1472 # 添加到这里

exit 0

# 断开VPN后重新测试连接,发现一切正(http://www.linuxidc.com/Linux/2015-02/113178.htm)参考链接


注意点:.启动pptpd

/sbin/service pptpd start


注:重新启动pptpd


Shutting down pptpd: [ OK ]

Starting pptpd: [ OK ]

Warning: a pptpd restart does not terminate existing

connections,so new connections may be assigned the same IP

address and cause unexpected results. Use restart-kill to

destroy existing connections during a restart.


提示建议不要这么做,那就传统的吧

service pptpd restart-kill

service pptpd start


iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

iptables -A INPUT -p tcp --dport 47 -j ACCEPT

iptables -A INPUT -p gre -j ACCEPT

iptables -A INPUT -p UDP --dport 53 -j ACCEPT



在安装的时候又出现没有/etc/pptpd.conf 文件,于是安装epel 的扩展源问题yun install -y pptpd 解决

处理PPTP 的各种问题,619 错误

猜你在找的CentOS相关文章