VPN在目前的网络中的应用越来越普遍,在windows下你可以参照相关的文档很容易的搭建出来一个VPN网络,这里这个实验是基于linux平台下的VPN的搭设实验。
实验平台两台VM下linux的服务器、一台作为客户端的windows的主机
Ip规划:
客户端 192.168.1.188(模拟外网IP)
中间服务器端(用作路由器):eth0 192.168.1.192(模拟外网IP)eth1 10.0.0.1(模拟内网IP)
内网服务器段(模拟内网环境):10.0.0.2
第一:在中间路由器上的配置(最重要),配置如下
首先是ip的设置:
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.1.1
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.192
NETMASK=255.255.255.0
ONBOOT=yes
HWADDR=00:0c:29:fa:fb:e6
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=static
IPADDR=10.0.0.1
NETMASK=255.255.255.0
ONBOOT=yes
接着是防火墙iptables的设置(采用一个脚本)
[root@localhost ~]# vi ip.sh
#!/bin/bash
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/iptables -Z
/sbin/iptables -X
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
echo "1">/proc/sys/net/ipv4/ip_forward
####### ech0 wlan#############
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT
[root@localhost ~]# chmod a+x ip.sh
[root@localhost ~]# ./ip.sh
[root@localhost ~]# service iptables save
由于这里功能的实现是借助pptp套件,下边是安装与配置
[root@localhost ~]# rpm -qa|grep pptp //检查pptp安装过没有,没有安装的话就进行下步骤
pptpd-1.3.4-2.fc9
[root@localhost ~]# yum -y install pptp
[root@localhost~]#wget http://poptop.sourceforge.net/yum/beta/packages/pptpd-1.3.4-2.fc9.i386.rpm //下载pptpd
[root@localhost ~]# rpm -ivh pptpd-1.3.4-2.fc9.i386.rpm
接下来是对住设置档案的配置
[root@localhost ~]# vi /etc/pptpd.conf //添加以下两句话
localip 10.0.0.1
remoteip 10.0.0.100-200
[root@localhost ~]# cd /etc/ppp/
[root@localhost ppp]# vi options.pptpd //设置一个可用的DNS,这里我采用的是内部的
ms-dns 202.102.240.65
[root@localhost ppp]# vi chap-secrets //设置可以在客户端登录的帐号和密码
# Secrets for authentication using CHAP
# client server secret IP addresses
admin pptpd 123456
最后重启相关的服务即可
[root@localhost ~]# /etc/init.d/network restart
[root@localhost ~]# /etc/init.d/pptpd start
第二:在内网主机上的设置
[root@localhost ~]# vi /etc/sysconfig/network //配置网关
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=10.0.0.1
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 //设置ip
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
IPADDR=10.0.0.2
NETMASK=255.255.255.0
BONBOOT=yes
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -F -t nat
[root@localhost ~]# /etc/init.d/network restart
第三:在客户端的设置
新建VPN连接
实验总结:
这样实验就彻底的完成了,一直学习VPN的理论知识,因为条件的限制直到现在才得以实践,中间也出现的些许错误,通过仔细的检查终于实现了VPN的连接实验!