CentOS 7搭建×××服务器过程笔记

  1. 先看看你的主机是否支持pptp,返回结果为yes就表示通过。


1
modprobe ppp-compress-18 && echo yes

2 .是否开启了TUN,有的虚拟机主机需要开启,返回结果为cat: /dev/net/tun: File descriptor in bad state。就表示通过。


1

cat /dev/net/tun

3.安装ppp , pptpd 和 iptables。

a.先更新一下再安装。

1
yum install update

b.安装ppp和pptpd

1

yum -y install ppp pptp

rpm -ivh ftp://rpmfind.net/linux/epel/6/x86_64/pptpd-1.4.0-3.el6.x86_64.rpm

rpm -ivh ftp://rpmfind.net/linux/epel/7/x86_64/p/pptpd-sysvinit-1.4.0-2.el7.noarch.rpm  

如果无法yum安装pptpd,附件有pptpd的rpm包

c.安装iptables。

这是自带的,如果没有的话就安装。

1
yum install iptables

4.配置pptpd.conf。

1
2
3
4
vi /etc/pptpd.conf    #找到localip,去掉开始的那个#符号
localip 192.168.0.1
remoteip 192.168.0.234-238
#这些是默认的,一般不需要去修改,分配给客户端的ip就是234到238之间,你也可以往大了写,看你的客户端有多少。

5.配置options.pptpd

1
2
3
vi /etc/ppp/options.pptpd      #在末尾添加dns
ms-dns  8.8.8.8       #这是谷歌的,你也可以改成阿里巴巴的或者其它
ms-dns  8.8.4.4

6.配置连接×××客户端要用到的帐号密码。

1
2
3
4
5
vi /etc/ppp/chap-secrets    #格式很通俗易懂。
#   client为帐号,server是pptpd服务,secret是密码,*表示是分配任意的ip
# Secrets for authentication using CHAP
# client        server     secret                  IP addresses
  count         pptpd    771297972            *

7.配置sysctl.conf

1
2
3
vi /etc/sysctl.conf
#添加一行    net.ipv4.ip_forward = 1    到末尾即可,然后保存
sysctl -p    #运行这个命令会输出上面添加的那一行信息,意思是使内核修改生效

8.这个时候把iptables关闭的话是可以连接×××了,之所以要把iptables关闭是因为没有开放×××的端口,客户如果直接连接的话是不允许的。这里还需要设置iptables的转发规则,让你的客户端连接上之后能访问外网。

1
2
3
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.0.234/24 -j SNAT --to 你的服务器的公网IP
#192.168.0.234/24是你分配给客户的ip,后面的那个是你的服务器的公网IP

9.这个时候还是连接不上的,因为iptables把客户的×××连接拦截了,不允许连接,所以得开放相应的端口。

具体是哪个端口可以自己查下,我的是默认的,如果你没有更改过的话也会是默认的。

1
2
3
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT
iptables -I INPUT -p tcp --dport 47 -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT

10.保险起见,到了这里应该重启一下pptpd服务和iptables服务生效。

1
2
systemctl restart iptables
systemctl restart pptpd

11.×××服务器搭建完成。

注意在vmware esxi下网卡要选择 VMXNET3

在kvm下网卡型号要选择virtio



拨上去上不去网注意

1.iptables配置如下

# Generated by iptables-save v1.4.21 on Tue Apr 11 14:34:26 2017

*nat

:PREROUTING ACCEPT [11:987]

:INPUT ACCEPT [1:56]

:OUTPUT ACCEPT [2:232]

:POSTROUTING ACCEPT [2:232]

-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

COMMIT

# Completed on Tue Apr 11 14:34:26 2017

# Generated by iptables-save v1.4.21 on Tue Apr 11 14:34:26 2017

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [85:10364]

-A INPUT -p gre -j ACCEPT

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

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

-A INPUT -p tcp -m tcp --dport 1701 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 500 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 4500 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p udp -m udp --dport 1701 -j ACCEPT

-A INPUT -p udp -m udp --dport 500 -j ACCEPT

-A INPUT -p udp -m udp --dport 4500 -j ACCEPT

-A INPUT -p udp -m udp --dport 500 -j ACCEPT

-A INPUT -p udp -m udp --dport 5353 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

# Completed on Tue Apr 11 14:34:26 2017



2.先让客户端拨上去之后然后 输入 echo "1472" > /sys/class/net/ppp0/mtu

上面是临时的断开重新连接又要更改文件

可以直接在 /etc/ppp/ip-up 中,exit 0行前添加

ifconfig $1 mtu 1472