原理:PPTP 使用 PPP 协议对用户数据进行封装,然后将 PPP 数据帧封装在 IP 数据包里,pptpd 更多是负责客户端到服务器的连接,ppp协议负责用户数据包的封装和转发,当客户端连接到服务器时pptpd服务就是创建一个虚拟网卡ppp0进行用户数据包的封装,和转发到物理网卡,进入以太网

1:验证内核是否加载MPPE模块

modprobe ppp-compress-18 && echo MPPE is ok  #打印ok表示已加载

2:安装ppp软件

yum install ppp -y
3:安装pptpd
rpm -ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm
4:配置pptpd和ppp
vi /etc/ppp/options.pptpd   #把以下选项的注释#去掉
1 name pptpd
 2 refuse-pap
 3 refuse-chap
 4 refuse-mschap
 5 require-mschap-v2
 6 require-mppe-128
 7 ms-dns 8.8.8.8
 8 ms-dns 8.8.4.4
 9 proxyarp
10 lock
11 nobsdcomp
12 novj
13 novjccomp
14 nologfd

以上至于不知道指定什么的,可以看配置文件的解释,虽然都是英文但是解释还是挺清楚

5:添加用户

vi /etc/ppp/chap-secrets  #打开配置文件
username1 pptpd passwd1 *   #一行一个用户 
username2 pptpd passwd2 *   #分别是 用户名 服务  密码 来源ip(这个可以指定网段或者唯一IP)如果不符合全都拒绝掉,*号知道正则表达式的都知道是什么
6;配置pptpd服务
vi /etc/pptpd.conf

把以下行的注释去掉

1 option /etc/ppp/options.pptpd
2 logwtmp
3 localip 192.168.0.1
4 remoteip 192.168.0.207-217
7:打开内核转发
vi /etc/sysctl.conf   
net.ipv4.ip_forward = 1   #找到这个选项并且改成1
#保存后执行
sysctl -p

8:启动pptpd服务

chkconfig pptpd on  #加入开机自动启动
service pptpd start  #启动pptpd服务

9:添加防火墙规则

iptables -P INPUT ACCEPT #设置全部为允许,以免等下清除防火墙规则时,ssh断开
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z   #清除防火墙规则结束
#添加防火墙规则
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
#设置共享ip,nat表预路由
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
#备份原来的防火墙规则
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
#因为命令生成的重启后就会失效,所以我们要把它不保存到配置文件中
iptables-save > /etc/sysconfig/iptables
vi /etc/sysconfig/iptables #打开配置文件把filter表中的INPUT链设置DROP如下
:INPUT DROP[0:0]
#重启iptables
service iptables restart
你可能感兴趣的内容
0条评论

dexcoder

这家伙太懒了 <( ̄ ﹌  ̄)>
Owner