你的位置:首页 > 操作系统

[操作系统]centOS7.0 VPN 搭建


CentOS7.0 之前采用的是iptables防火墙,而7.0之后默认采用的是firewalld,在VPN设置上也有所不同: 

1.检测是否支持pptpd:    modprobe ppp-compress-18 && echo yes    返回yes则表示支持
 
2.检测是否开启tun:         cat /dev/net/tun  如果返回cat: /dev/net/tun: File descriptor in bad state 表示支持,否则则需要手动开启
 
3.安装pptpd和ppp:  yum -y install ppp pptpd   注:如果提示找不到pptpd 则需要手动下载:  rpm -i http://poptop.sourceforge.net/yum/stable/rhel7/pptp-release-current.noarch.rpm
 
4.配置pptpd.conf : vim /etc/pptpd.conf , 把  localip 192.168.0.1 和  remoteip 192.168.0.234-238,192.168.0.245去掉注释, romoteip 是开放的终端内网网段,234-245之间任意选择,即便终端局域网IP是192.168.0.234也不会冲突。
 
5.修改DNS:vim /etc/ppp/options.pptpd  在末尾添加DNS,google的是主: ms-dns 8.8.8.8  副:ms-dns 8.8.4.4  大家可以在网上搜索一些国外的DNS,自己ping一下,看看哪一个快就是用哪一个。
 
6.添加账户:vim /etc/ppp/chap-secrets    
     #client        server      secret       IP address 
       账号         pptpd       密码        *                *表示分配的任意IP
 
7.配置sysctl.conf:   vim /etc/sysctl.conf  ,在末尾添加一行  net.ipv4.ip_forward = 1  ,保存, 然后使用  sysctl  -p 使内核修改生效。 
 
8.设置转发规则:  
  如果使用了iptables(注意关闭firewalld), 则是:  
      iptables -t nat -A POSTROUTING -s 192.168.0.234/24 -o eth0 -j MASQUERADE
     其中,192.168.0.234/24 对应 pptpd.conf 中的  remoteip
      iptables -F -t nat 
      iptables -X -t nat
      iptables -Z -t nat
     如果要清空转发规则,可以使用上面的命令
     然后使用  service iptables save,注意:如果是7.0,重启之后就会转发规则失效,需要写入rc.local   如下所示: 
     chmod +x /etc/rc.d/rc.local
     vim /etc/rc.d/rc.local 
     将转发规则追加到最后保存退出。 
     开放VPN端口: 
       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
      重启pptpd ,service pptpd restart
  如果使用firewalld,则是 :
     firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -i eth0 -p tcp --dport 1723 -j ACCEPT
     firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
     firewall-cmd --permanent --direct --add-rule ipv4 filter POSTROUTING 0 -t nat -o eth0 -j MASQUERADE  
     firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ppp+ -o eth0 -j ACCEPT  
     firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ppp+ -j ACCEPT
     重启防火墙
     firewall-cmd --reload 
10.设置开启自启动:  
   chkconfig pptpd on
 
大概就是这么一个过程,本人在前两年就想探索linux,但由于时间一直安排不过来,就一直搁置了,最近有空就看看,算是刚接触linux的,对于上面的内容,纯属是本人在网上找的资料和实践的结果,并没有权威一说,可能有很多错误的地方,望大神们不吝赐教,小墨十分感谢。
  转发请注明出处,尊重劳动者的成果,谢谢各位。