我们用 VPN 传送的数据是没有经过加密的 。为了不让别人知道我们传送了什么数据,可以使用加密工具来加密两台计算机或者两个子网之间传输的数据 。使用 IPSec,可以对两台主机之间的通信进行加密,而不仅仅加密 VPN 通信 。openvpn 可以建立使用 SSL 加密的 VPN 连接 。本文仅介绍 IPSec 的配置方法 。
下面是 IPSec 的配置过程 。
操作系统:FreeBSD13.1-RELEASE 。
要使用 IPSec,需要安装 ipsec-tools,它在 ports 树中的 /usr/ports/security 目录下面 。分别在两台主机上安装 ipsec-tools:
# pkg install ipsec-tools
使用 FreeBSD 的 ports 树,我们可以看到很多软件,可以通过 pkg-descr 文件看它的功能是什么 。大多数软件都有示例配置 。FreeBSD 拥有全面细致的手册,能够解决安装配置和使用中遇到的许多问题 。软件自带示例配置,在 /usr/local/share/examples 目录下面 。
一、两个主机之间的数据加密 。主机一:10.10.10.74 主机二:10.10.10.92 。两个主机都已经安装了ipsec-tools 。
两个主机之间能够通常通信:
文章插图
主机一(10.10.10.74)配置:
创建文件 /usr/local/etc/psk.txt,并设置属性:
# cd /usr/local/etc# echo "10.10.10.92 abcdefg1234567">>psk.txt# chmod 400 psk.txt
创建文件 sekey.conf,内容如下:#!/sbin/setkey -fflush;spdflush;spdadd 10.10.10.74 10.10.10.92 any -P out ipsec esp/transport//require ah/transport//require;spdadd 10.10.10.92 10.10.10.74 any -P in ipsec esp/transport//require ah/transport//require;
创建文件 racoon.conf,内容如下:path pre_shared_key "/usr/local/etc/racoon/psk.txt" ;listen# address [port] that racoon will listen on{isakmp10.10.10.74 [500];isakmp_natt10.10.10.74 [4500];}remote anonymous{exchange_mode main,base;lifetime time 24 hour ; # sec,min,hourproposal {encryption_algorithm 3des;hash_algorithm sha1;authentication_method pre_shared_key ;dh_group 2 ;}proposal_check strict;}sainfo anonymous{pfs_group 2;lifetime time 12 hour ;encryption_algorithmaes 256;authentication_algorithm hmac_sha1;compression_algorithm deflate ;}
执行命令:# setkey -f /usr/local/etc/racoon/setkey.conf
用下面的命令可以看到 setkey.conf 文件的两项已经装入: # setkey -DP10.10.10.92[any] 10.10.10.74[any] anyin ipsecesp/transport//requireah/transport//requirespid=6 seq=1 pid=15268 scope=globalrefcnt=110.10.10.74[any] 10.10.10.92[any] anyout ipsecesp/transport//requireah/transport//requirespid=5 seq=0 pid=15268 scope=globalrefcnt=1
执行下面的命令:# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.logForeground mode.2022-06-15 16:49:32: INFO: @(#)ipsec-tools 0.8.2 (http://ipsec-tools.sourceforge.net)2022-06-15 16:49:32: INFO: @(#)This product linked OpenSSL 1.1.1o-freebsd3 May 2022 (http://www.openssl.org/)2022-06-15 16:49:32: INFO: Reading configuration from "/usr/local/etc/racoon/racoon.conf"2022-06-15 16:49:32: WARNING: setsockopt(UDP_ENCAP_ESPINUDP): UDP_ENCAP Protocol not available2022-06-15 16:49:32: ERROR: privsep_setsockopt (Protocol not available)2022-06-15 16:49:32: ERROR: privsep_setsockopt (Protocol not available)2022-06-15 16:49:32: INFO: 10.10.10.92[4500] used as isakmp port (fd=5)2022-06-15 16:49:32: ERROR: privsep_setsockopt (Protocol not available)2022-06-15 16:49:32: ERROR: privsep_setsockopt (Protocol not available)2022-06-15 16:49:32: INFO: 10.10.10.92[500] used as isakmp port (fd=6)
提示错误 。原因是默认安装的操作系统内核没有 ipsec 支持 。可以定制内核,重新编译安装就行了 。我在内核配置文件中加上了下面两行:options IPSECoptions IPSEC_DEBUG
也可以不定制内核,直接用下面的命令动态加载 ipsec:# kldload ipsec.ko
这时再执行下面的命令就显示正常:# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.logForeground mode.2022-06-15 16:50:51: INFO: @(#)ipsec-tools 0.8.2 (http://ipsec-tools.sourceforge.net)2022-06-15 16:50:51: INFO: @(#)This product linked OpenSSL 1.1.1o-freebsd3 May 2022 (http://www.openssl.org/)2022-06-15 16:50:51: INFO: Reading configuration from "/usr/local/etc/racoon/racoon.conf"2022-06-15 16:50:51: INFO: 10.10.10.92[4500] used for NAT-T2022-06-15 16:50:51: INFO: 10.10.10.92[4500] used as isakmp port (fd=5)2022-06-15 16:50:51: INFO: 10.10.10.92[500] used as isakmp port (fd=6)
主机二(10.10.10.92)配置:
复制上面的文件到同一目录下(可以用 scp 或者 sftp 复制) 。将配置文件中的 IP 地址对调,即把 10.10.10.74 全部换成 10.10.10.92
加载 ipsec 支持:
推荐阅读
- 狗狗币如何购买?
- 信息网络技术 网络通信技术
- 加密货币|富达计划扩展加密货币服务
- 加密货币|狗狗币创始人炮轰马斯克是骗子!马斯克:我孩子都比你强
- 金士顿|SSD都有触控屏了!N重加密 铜墙铁壁
- 文件夹如何加密码?
- 如何给我的电脑加密?电脑有加密,怎么办
- IPsec vpn故障
- 如何自己动手设置路由器密码 无线路由器怎么加密
- 如何解除加密pdf文件?加密pdf如何解除