Red Hat 8.0下设置虚拟专用网络(VPN)
Red Hat 8.0下设置虚拟专用网络(VPN):有时候私人或者办公需要将两个分处不同物理位置而又有一段距离的计算机连接起来一起工作。例如:
两个部门的办公室需要经常分享销售数据,或者
一个职工需要在家里连接办公室里的计算机,打印机,或者是文件服务器。
相比向电话公司购买租用昂贵的路线,你更加愿意使用便宜的网络媒体,比如说Internet, 让两端的计算机实现通信。问题是你不想向Internet开放你的文件共享,打印共享,和其他的专用服务。你也不想让在这些站点间的信息暴露给网络上的监视者。一个解决的方案就是设置虚拟专用网络(VPN, Virtual Private Network)。
虚拟专用网络一个在非安全的网络上设置安全通信的方案。在使用VPN的时候,两端的计算机就象企业LAN中一样可以安全的交流。实现上述的服务,VPN通常提供下列的功能:
验证功能--- 通过密码或者其他的技术手段,通信的两端必须在连接之前证明自己的身份。当验证通过后,信息可以在两端直接传送。
密码技术--- 经过加密的数据在公众网络上传播,你可以确定即使有人捕获到你的信息包,他们也无法阅读它。这个技术被称为Tunneling.
几种方式在Linux下达建VPN:
Internet Protocol SECurity (IPSEC) --- IPSEC是Internet Engineering Task Force (IETF)发展的一个标准。是IP版本6成为Internet标准协议时必要的加密手段(现在的标准是IP v4)。现在有许多的软件能在Linux下提供面对IP v4的IPSEC服务。IPSEC带有非常强大的加密功能,但相对于其他方法来说,它在RED HAT下的配置非常困难。如果你在你的VPN下使用IPSEC,你可以查看FreeS/WAN项目(www.freeswan.org).
PPP over OpenSSH --- 采用这种方式,可使用RED HAT已有的软件。配置一个PPP界面(就象通常拨号那样)来使用SSH加密所有从PPP界面通过的数据。虽然这种方式的配置方式很容易,它的运行也通常很低效。要了解如何配置PPP over OpenSSH VPN请查看VPN HOW-TO(www.linuxdocs.org)。
Crypto IP Encapsulation (CIPE) --- 使用这种方式,IP包被加密成UDP包从选择的IP 界面通过。CIPE非常容易配置并且比PPP over OpenSSH高效。缺点是它不是一个标准的VPN,CIPE不适合所有的平台。
在这一章里, 我将描述如何设置通过CIPE来配置VPN。它对我们是一个非常好的选择,因为CIPE不但包含在Red Hat Network Configuration窗口,而且在Linux间运行的非常良好。CIPE同样有为Windows设计的方案,支持Windows NT和2000 (http://cipe-win32.sourceforge.net)。
了解CIPE
CIPE的工作是在通信的两端建立一个安全连接。通过使用CIPE,连接可以实现验证和加密。和使用IPSEC协议的VPN相比,CIPE非常容易设置。连接的两端必须有公众网络的连接,并使用相同的连接加密钥匙。连接密匙只有连接的两端知道,用来实现验证和加密。你可以在设置CIPE的时候设置密匙。两端的密匙必须相同CIPE才能工作。
CIPE使用UDP协议在它的各端传送数据。因为CIPE是一个网络层协议,各应用程序的数据在传送时都被加密。这将使数据在公众网络上传送时不必担心其他试图截取数据的行为。
当你设置CIPE连接时,你需要确定IP地址和端口。要使CIPE正常工作,你需要打开你的防火墙允许你选择的端口允许UDP。允许多CIPE连接到同一台计算机的时候,你要设置不同的CIPE界面,每一个使用不同的UDP端口。
设置CIPE VPN
在我们的例子里,两台计算机都安装了Red Hat Linux 8并连接到了Internet。我们假设下面的情况已经成立:
两台计算机都连到Internet并且其中一个有固定IP。
两台计算机都安装了Red Hat Linux 8 (非必需)。
尽管CIPE的两端被视为相等,但对等机1将被视为服务器而对等机2将被视为客户端。
对等机1会产生密匙并在对等机2开始设置CIPE前传送过去。
图例:(这个我就没办法了)
设置CIPE 对等机1
步骤如下:
1. 打开网络配置窗口(Network Configuration window):System Setting -> Network (或者在终端输入neat&)。
2. 按Add。
3. 选CIPE (VPN)连接。
4. 在下面所有的完成后继续:
设备 --- 本地计算机的CIPE标记。缺省值是cipcb0。 (如果你将连接多台CIPE计算机,他们将会是cipcb1, cipcb2, etc.)。
隧道 ---CIPE连接时产生的IP界面的名字。按向下箭头可以看到eth0, ppp0的选项。你可以选择特定界面或者简单的留着“None Server Mode”。这会允许在任何界面下的CIPE连接读取从“本地端口”发送的请求。
本地端口 --- 确定CIPE允许连接的端口。缺省为7777,但你可以使用任何未被占用的端口。
远程对等机地址 --- 作为CIPE服务器,这个可以设置为Server Mode (自动)。远程客户地址将在试图进行连接的时候被测试到。
远程对等端口 --- 猜都猜的到,这行我就偷工减料一下。
远程虚拟地址 --- 这里设置你为客户端设置的远程IP地址。选择的IP地址必须为专用网络里未被使用的IP。
本地虚拟地址 --- 给CIPE服务器用的本地IP地址。不是你在Internet上的IP地址。
密匙(我一直搞不懂是密钥还是密匙) --- 简单的说就是一串字符。缺省为128bit。
5. 检查选项是否正确。
6. 按Apply
7. 在按Apply
8. 按Activate激活。
如果你想每次开机自动激活的话:选你要使用的界面后按编辑,选“Activate device when computer starts”, 然后OK。
9.按Close。
下面是完成后的一个例子,在/etc/sysconfig/network-scripts/ifcfg-cipcb0文件里应该有显示如下:
TYPE=CIPE
DEVICE=cipcb0
ONBOOT=yes
IPADDR=192.168.20.2
MYPORT=7777
ME=34.56.78.90:7777
PTPADDR=192.168.10.1
PEER=12.34.57.78:7777
以上的设置表明连接类型是CIPE,界面名是cipcb0。界面在启动时自动运行(ONBOOT=yes)。CIPE隧道的IP地址是:192.168.20.2(你这边的)和192.168.10.1(远程的)。记住不能使用公众IP地址给IPADDR或者PTADDR!
以下省掉另外一百字左右的分析
…
做完上面的一切后,还有几个手尾。
实现IP forwarding 。如果你想这么做的话(是永久性的),在/etc/sysctl.conf文件里加入:
net.ipv4.ip_forward = 1
要想它马上开始运行的话,在root下输入:
# echo 1 > /proc/sys/net/ipv4
设置防火墙接受CIPE 。
加路由 。编辑/etc/cipe/ip-up 在我们这个例子里:
route add –net 192.168.10.0 netmask 255.255.255.0 gw $5
其他设置 输入cipe info自己找了。
设置CIPE对等机2
同上。下面是例子:
TYPE=CIPE
DEVICE=cipcb0
ONBOOT=yes
IPADDR=192.168.10.1
MYPORT=7777
ME=12.34.57.78:7777
PTPADDR=192.168.20.2
PEER=34.56.78.90:7777
然后省下两百字重复的分析。
…
检查CIPE VPN
如果你没选择自动起动的话,那每次你可以用
/etc/init.d/network restart。
检测CIPE隧道是否激活:
ping 192.168.10.1
省下50字分析。
…
如果成果的话,将会显示:
34.56.78.90 12.34.56.78 UDP Source port: 7777 Destination port: 7777
12.34.56.78 34.56.78.90 UDP Source port:7777 Destination port: 7777
省下200字的结尾。完工。
杨明浩(HOUSCOUS)摘译 于《Red Hat Linux 8 Bible》,发布在中国Linux公社(www.linuxfans.org)
版权所有属于wiley.com,作者Christopher Negus。
http://cipe-win32.sourceforge.net
有人不能登录这个地址,请那位上的去的下载了再传到公社下载区吧。我不能上传。 那位高手可以帮忙将这编文章修改一下,详细点,还有就是有些中文术语不是很那个~
页:
[1]