当前位置:操作系统 > Unix/Linux >>

VPN配置成功

1、找到软件

  我用的软件是pptpd-1.1.4-b3.tar,不知道为什么,这里不让上传gz文件

  2、安装

  解压后,

  ./configure

  make

  make install

  3、配置文件

  vi /etc/pptpd.conf

  [code:1:226a5131e5]

  speed 115200

  option /etc/ppp/options

  debug

  #localip 192.168.0.1 这句好象没什么用,我注释了

  remoteip 192.168.0.20-30 这句是分配IP的,但不知道为什么,CLIENT的IP不按这个分配 :cry:

  enable chap 起用chap机制

  [/code:1:226a5131e5]

  vi /etc/ppp/options

  [code:1:226a5131e5]

  lock

  debug

  # name platinum.com.cn 这个有没有都可以

  bsdcomp 0

  auth

  require-chap 用chap认证方式

  proxyarp

  # ms-dns 202.106.196.152 这个应该是给CLIENT重新分配DNS的,但好象没用,也没删,就先留着了

  [/code:1:226a5131e5]

  vi /etc/ppp/chap-secrets 这是定义CLIENT密码的部分

  [code:1:226a5131e5]

  # Secrets for authentication using PAP

  # client server secret IP addresses

  "platinum" * "vpntest" 192.168.0.10

  [/code:1:226a5131e5]

  OK,到这里就配置完成了,运行pptpd启动服务

  先关掉防火墙测试,CLIENT:WIN2000

  建立VPN拨号,然后指定IP,61.149.xx.xx

  注意:在属性编辑里,不要选用加密,否则连不上(好象要下MS的MSCHAP补丁才可以,我没找到)

  连接,测试通过

  [quote:226a5131e5]

  [root@platinum ppp]# netstat -a|more

  Active Internet connections (servers and established)

  Proto Recv-Q Send-Q Local Address Foreign Address State

  tcp 0 0 *:1723 *:* LISTEN

  tcp 0 0 61.149.6.131:1723 202.204.224.130:1164 ESTABLISHED

  raw 0 0 61.149.6.131:gre 202.204.224.130:* 1 [/quote:226a5131e5]

  内容略有删节

  注意:外部IP,202.204.224.130已经连接,VPN端口:1723

  此外还有一个[color=red:226a5131e5]GRE[/color:226a5131e5],协议名称非TCP、UDP、ICMP!!!

  这是VPN的主要传输协议,所以要配置防火墙,一定要开这个

  4、配置防火墙

  我的FIREWALL代码如下:

  [code:1:226a5131e5]

  #! /bin/bash

  #初始设置,允许内网转发

  echo 1 > /proc/sys/net/ipv4/ip_forward

  /sbin/iptables -F -t filter

  /sbin/iptables -F -t nat

  /sbin/iptables -P INPUT ACCEPT

  /sbin/iptables -P OUTPUT ACCEPT

  /sbin/iptables -P FORWARD ACCEPT

  /sbin/iptables -t nat -P PREROUTING ACCEPT

  /sbin/iptables -t nat -P POSTROUTING ACCEPT

  /sbin/iptables -t nat -P OUTPUT ACCEPT

  # 允许内网所有IP做所有事情

  /sbin/iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT

  # 打开FTP端口:211

  /sbin/iptables -A INPUT -p tcp --dport 211 -j ACCEPT

  # 打开VPN端口1723,还有GRE!!!

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

  /sbin/iptables -A INPUT -p gre -j ACCEPT

  # WWW:801,SWAT:901

  /sbin/iptables -A INPUT -p tcp --dport 801 -j ACCEPT

  /sbin/iptables -A INPUT -p tcp --dport 901 -j ACCEPT

  # SOCKS5:8039

  /sbin/iptables -A INPUT -p tcp --dport 8039 -j ACCEPT

  # ICMP(PING)

  # 这句话是允许[color=red]除了[/color]公网上所有IP的ICMP协议的echo-request标志

  # 也就是允许网内机器PING,但不向外发PONG

  /sbin/iptables -A INPUT -p icmp --icmp-type ! echo-request -j ACCEPT

  # NAT

  /sbin/iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE

  # DENY OTHERS

  # 这句很关键,做IP地址的主动连接状态设置,避免了以往防火墙的漏洞

  /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

  # 其余未登记的端口全部DROP掉!

  /sbin/iptables -A INPUT -j DROP

  [/code:1:226a5131e5]

  当然,从我的FIREWALL还可以看出,我还配置了其他服务

  我添加了SAMBA服务,不登陆VPN,是无法访问的

  自此,VPN+IPTABLES+SAMBA+FTP+WWW+SOCKS5配置完成

  你可以对自己的机器再添加其他服务,想对外开端口,改FIREWALL即可

  如图,ADSL连网,PPP0,远程PPP1正在下东西

  [myimg]upload/linux-news01.png[/myimg]本文来自:http://www.xiaoyaxiao.com/2777.html
发表您的高见!
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,