linux架设VPN服务

243 阅读1分钟
原文链接: click.aliyun.com

有一台新加坡的服务器
下面一部分是的补充

1.安装 ppp pptpd iptables
ppp 数据链路层协议
pptpd VPN服务类型之一
iptables 防火墙,用来消息转发

  1. $ sudo yum install ppp pptpd iptables
    安装后版本信息
  2. $ lsb_release -a
  3. LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
  4. Distributor ID: CentOS
  5. Description: CentOS release 6.6 (Final)
  6. Release: 6.6
  7. Codename: Final
  8. $ pptpd --version
  9. pptpd v1.4.0
  10. $ iptables --version
  11. iptables v1.4.7
    2.配置 ppp DNS信息

a.编辑 options.pptpd 配置文件

  1. $ sudo vim /etc/ppp/options.pptpd
    b.找到66和67行进行修改
  2. ms-dns 10.0.0.1

  3. ms-dns 10.0.0.2

    c.配置后结果如下:

  4. ms-dns 8.8.8.8
  5. ms-dns 8.8.4.4
    3.配置 ppp VPN账号信息

a.编辑 chap-secrets 配置文件,这个文件默认只有两行注释,在注释下配置VPN账号信息

  1. $ sudo vim /etc/ppp/chap-secrets
    b.设置规则为 VPN账号服务类型 VPN密码 IP,若IP为*则代表所有IP都可以使用该账号密码,配置后结果如下:
  2. Secrets for authentication using CHAP

  3. client server secret IP addresses

  4. wangjijun pptpd wangjijun *
    本例中账号密码都为 wangjijun

4.配置 pptpd
a.编辑 options.pptpd 配置文件

  1. $ sudo vim /etc/pptpd.conf
    b.修改如下内容,其实就是将注释配置项取消注释即可,这里配置地址很是纠结,其实个人理解为DHCP,跟服务器实际网卡无任何关系!
  2. localip 192.168.0.1
  3. remoteip 192.168.0.234-238,192.168.0.245
    5.配置内核支持转发

a.编辑 sysctl.conf 配置文件

  1. $ sudo vim /etc/sysctl.conf
    b.找到第7行进行修改
  2. net.ipv4.ip_forward = 0
    c,配置后结果如下:
  3. net.ipv4.ip_forward = 1
    d.重新加载内核配置项
  4. $ sudo sysctl -p
    6.配置 iptables

设置转发策略,由于阿里云是双网卡,内网eth0,外网eth1,所以这块特别容易误写为eth0

  1. $ sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -jMASQUERADE
    c.设置VPN端口策略
  2. $ sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
    d.保存 iptabls 选项并重启 iptables
  3. $ sudo service iptables save
    7.收尾工作
  4. $ sudo service iptables restart #重新启动 iptables
  5. $ sudo service pptpd restart #重新启动 pptpd
  6. $ sudo chkconfig iptables on #开机启动 iptables
  7. $ sudo chkconfig pptpd on #开机启动 pptpd

开启登录日志
vi /etc/ppp/ip-up
echo "IN time:date -d today +%F_%T clientIP: 6 u s e r n a m e :" role="presentation">6     username:PEERNAME assignIP:$5" >>/var/log/pptpd.log

vi /etc/ppp/ip-down
echo "OUT time:date -d today +%F_%T clientIP: 6 u s e r n a m e :" role="presentation">6     username:PEERNAME assignIP:$5" >>/var/log/pptpd.log

service pptpd restart

cat /var/log/pptpd.log