Linux下的VPN配置

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

1、找到软件

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

2、安装

解压后,

./configure

make

make install

3、配置文件

vi /etc/pptpd.conf

代码:

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机制

vi /etc/ppp/options

代码:

lock

debug

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

bsdcomp 0

auth

require-chap 用chap认证方式

proxyarp

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

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

代码:

# Secrets for authentication using PAP

# client server secret IP addresses

"platinum" * "vpntest" 192.168.0.10

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

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

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

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

连接,测试通过

引用:

[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

内容略有删节

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

此外还有一个GRE,协议名称非TCP、UDP、ICMP!!!

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

4、配置防火墙

我的FIREWALL代码如下:

代码:

#! /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)

# 这句话是允许除了公网上所有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

当然,从我的FIREWALL还可以看出,我还配置了其他服务,我添加了SAMBA服务,不登陆VPN,是无法访问的。自此,VPN+IPTABLES+SAMBA+FTP+WWW+SOCKS5配置完成你可以对自己的机器再添加其他服务,想对外开端口,改FIREWALL即可 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航