经过大半天的拆腾,终于把VPN服务器搞定了,现将具本过程公布出来供大家参考 一、配置环境 Linux(2.6.7)(FC2) eth0: 192.168.1.8 eth0:1 192.168.0.1 (手工添加) 二、所需软件 1、kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm (MPPE的内核补丁) 2、dkms-1.12-1.noarch.rpm (升级dkms) 3、pptpd-1.2.1.tar.gz (pptpd服务软件) 注:系统必须安装了PPP服务,否蛞ザ腊沧? 三、安装软件 1、首先安装dkms rpm -Uvh dkms-1.12-1.noarch.rpm (升级安装) 2、安装mppe rpm -Uvh kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm 3、安装pptpd tar -vxzf pptpd-1.2.1.tar.gz cd pptpd-1.2.1 ./configure make make install 安装完成了,现在开始配置 四、配置服务器 将pptpd-1.2.1/samples/下的文件 pptpd.conf 拷贝至/etc下 chap-secrets 拷贝至/etc/ppp下 options.pptpd 拷贝至/etc/ppp下 修改pptpd.conf文件: ppp /usr/sbin/pppd 指定PPP服务程序 option /etc/ppp/options.pptpd 指定选项配置 localip 192.168.1.8 指定本地IP remoteip 192.168.0.10-245 指定分配的远程IP netmask 255.255.255.0 指定子网掩码
修改/etc/ppp/options.pptpd文件 name pptpd auth require-chap -chap -mschap +mschap-v2 require-mppe lcp-echo-failure 30 lcp-echo-interval 5 ipcp-accept-local ipcp-accept-remote multilink proxyarp logfd 2 logfile /var/log/pptpd.log debug dump lock
修改/etc/ppp/chap-secrets文件 # client server secret IP addresses #username pptpd password * "xinhe" pptpd "xinhe" * 这里是配置VPN的用户帐号
启动服务: /usr/local/sbin/pptpd 然后用netstat查看一下1723端口是不是开的,如果是的话则说明服务已成功启动。 找一台windows的机器,IP为:192.166.1.7,新建一个VPN的连接,服务器为192.168.1.8,用户名为:xinhe,密码为:xinhe,可以成功连接了。 在windows的cmd下运行:ipconfig 看到多了一个网络连接,IP为:192.168.0.10,正是前是配置文件里设置的远程IP,这样这台windows的客户端成功连上了这个VPN服务器 但是这里出现了一个问题,原来这台windows机器可以通过网关192.168.1.1上网,但连了VPN之后就不能上网了。因为数据全到VPN服务器上来了,为解决这个问题,我们可利用iptables发数据转发。 新建一个iptables文件,内容如下: echo 1 > /proc/sys/net/ipv4/ip_forward echo "clear the iptables rules" /etc/init.d/iptables stop /sbin/iptables -A INPUT -p icmp -j DROP /sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE /sbin/iptables -F FORWARD /sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE /sbin/iptables -F FORWARD /sbin/iptables -A FORWARD -p udp -s 192.168.1.0/24 --dport 53 -j ACCEPT /sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 1723 -j ACCEPT /sbin/iptables -A FORWARD -p gre -s 192.168.1.0/24 -j ACCEPT /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
然后执行这个iptables文件,OK,windows的客户机可以上网了
|