×××的原理:

假定现在有一台主机想要通过公共网络(如Internet)连入公司的内部网。首先该主机通过拨号等方式连接到公共网络,然后再通过×××拨号方式与公司的×××服务器建立一条虚拟连接。在建立连接的过程中,双方必须确定采用何种×××协议和链接线路的路由路径等。

      当隧道建立完成后,用户与公司内部网之间要利用该虚拟专用网进行通信时,发送方会根据所使用的×××协议,对所有的通信信息进行加密,并重新添加上数据报的首部封装成为在公共网络上发送的外部数据报。然后通过公共网络将数据发送至接受方。接受方在接收到该信息后也根据所使用的×××协议,对数据进行解密。
       由于在隧道中传送的外部数据报的数据部分(即内部数据报)是加密的,因此在公共网络上所经过的路由器都不知道内部数据报的内容,确保了通信数据的安全。同时也因为会对数据报进行重新封装,所以可以实现其他通信协议数据报在TCP/IP网络中传输。

流行的×××协议: 
1、L2TP协议(第二层隧道协议) 
2.PPTP协议(点对点隧道协议)
3.IPSec(因特网协议安全性)

配置网络环境 :
×××服务器硬件环境配备了两块网卡,分别为eth0和eth1,
其中eth0连接到内部网络,IP地址为192.168.8.8;eth1连接到Internet,IP地址为61.144.55.2。

安装×××服务器:
安装PPTP需要内核支持微软点对点加密MPPE和2.4.3及以上版本的PPP。Red Hat Enterprise Linux 5默认已安装了2.4.4版本的PPP,而2.6.18内核也已经集成了MPPE,因此只需再安装PPTP软件包即可。
使用Web浏览器访问 yum/stable/rhel5/i386/,下载PPTP软件包的最新安装版pptpd-1.3.4-1.rhel5.1.i386.rpm。然后使用命令rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm进行安装。

如果没有安装则需安装:

rpm -ivh dkms-2.0.17.5-1.noarch.rpm                加密补丁包
rpm -ivh gcc-3.4.4-2.i386.rpm                      安装GCC编译器
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm    内核补丁包
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm            pptp协议软件

1、编辑×××主配置文件
vi /etc/pptpd.conf   

(1)设置×××服务器本地的地址 

localip 61.144.55.2
(2)设置分配给×××客户机的地址段 
remoteip 192.168.8.10-200,192.168.8.250

2、配置账号文件 

      账号文件/etc/ppp/chap-secrets保存了×××客户机拨入时所使用的账户名、口令和分配的IP地址,该文件中每个账户的信息为一行,格式是:
账户名    服务     口令       分配给该账户的IP地址
linden      *       123            *
tom       pptpd     123        192.168.8.111

 

#PS: *为自动

3.打开Linux内核的路由功能 

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

配置防火墙:
iptables -A FORWARD -p tcp --dport 1723 -j ACCEPT
iptables -A FORWARD -p tcp --dport 47 -j ACCEPT
iptables -A FORWARD -p gre -j ACCEPT