Linux IPSec操作手册

更新时间:2023-11-21 23:23:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

IPSec操作手册

第一部分: OpenSSL生成证书

首先需要一个根证书,然后用这个根证书来下发“子证书”。

1,找一台Linux PC, 首先切换目录,到 /etc/pki/tls/misc,openssl的脚本在这里。

2,生成根证书: ./CA -newca

输入pass phrase,后面签发的时候会用到,类似一个密码 CA证书的路径在/etc/pki/CA/cacert.pem

3,生成server私有密钥:

openssl genrsa -out server.key 2048

4,生成服务器证书请求:

openssl req -new -key server.key -out server.csr

5,把server.crt文件改名成newreq.pem,然后用CA来签证就可以了 mv server.csr newreq.pem ./CA –sign

6,把newcert.pem改名成server.pem mv newcert.pem server.pem 这就是server的证书。

7,重复3-6步,生成client的证书和私钥。

8,将 server.key 和 server.pem 和 cacert.pem复制到FC1080,其中server.key和server.pem import到Local Certificates中,cacert.pem import到Trusted CA 中(只需导入证书部分,描述部分不用导入)

在Linux PC上,新建/var/cert 目录, 将client.pem, client.key, cacert.pem复制到 /var/cert/目录下。

9,在Linux PC的 /var/cert/目录下执行下列命令:

ln -s cacert.pem $(openssl x509 -noout -hash -in cacert.pem).0

这个命令是生成一个hash link,如果没有此hash link,后面将无法建立IPSec通道

至此两台主机的证书分发工作已经完成。下面开始配置setkey和racoon的工作。

第二部分:配置racoon.conf和setkey.conf.

PC1的setkey.conf flush; spdflush; spdadd 172.16.12.164/32 172.16.12.169/32 any esp/transport/172.16.12.164-172.16.12.169/require; spdadd 172.16.12.169/32 172.16.12.164/32 any esp/transport/172.16.12.169-172.16.12.164/require;

PC1的racoon.conf

path pre_shared_key \path certificate \

remote 172.16.12.169 { exchange_mode main; lifetime time 3600 sec; proposal_check obey; verify_cert on;

my_identifier asn1dn; peers_identifier asn1dn;

certificate_type x509 \proposal {

encryption_algorithm 3des; hash_algorithm md5;

authentication_method rsasig; dh_group modp1024; } }

sainfo address 172.16.12.164/32 any address 172.16.12.169/32 any { lifetime time 3600 sec; encryption_algorithm 3des;

authentication_algorithm hmac_md5; compression_algorithm deflate; }

PC2的setkey.conf flush; spdflush;

-P -P

out in

ipsec ipsec

spdadd 172.16.12.169/32 172.16.12.164/32 any -P out ipsec esp/transport/172.16.12.169-172.16.12.164/require; spdadd 172.16.12.164/32 172.16.12.169/32 any -P in ipsec esp/transport/172.16.12.164-172.16.12.169/require;

PC2的racoon.conf

path pre_shared_key \path certificate \

remote 172.16.12.169 { exchange_mode main; lifetime time 3600 sec; proposal_check obey; verify_cert on;

my_identifier asn1dn; peers_identifier asn1dn;

certificate_type x509 \proposal {

encryption_algorithm 3des; hash_algorithm md5;

authentication_method rsasig; dh_group modp1024; } }

sainfo address 172.16.12.164/32 any address 172.16.12.169/32 any { lifetime time 3600 sec; encryption_algorithm 3des;

authentication_algorithm hmac_md5; compression_algorithm deflate; }

第三部分:防火墙规则,这里指的是tunnel方式需要的防火墙规则(上面两部分是点对点方式的配置),其中tunnel的local subnet为192.168.1.0/24, remote subnet为192.168.2.0/24 iptables –I INPUT -p esp -j ACCEPT #接受ESP包

iptables –I INPUT -p udp --dport 500 -j ACCEPT #接受racoon的listening port进包 iptables –I INPUT -p udp --dport 4500 -j ACCEPT #接受racoon的listening port进包

iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -d 192.168.2.0/24 -j ACCEPT #进入tunnel的数据不进行NAT转换

iptables –I FORWARD -s 192.168.2.0/24 -d 192.168.1.0/24 -j ACCEPT #tunnel中的回包需要ACCEPT

FAQ

1. 17 (modp6144), or 18 (modp8192) 会失败的原因 Timing is Everything

ISAKMP errors like %up waiting for phase1\to time up\could be caused by long cipher initialization times, especially on older hardware.

2. pre-shared-key 会失败的原因

很大可能是key文件的权限不是600造成的。可以用racoon –F –f raccoon.conf前台运行看看原因

3.其他会失败的原因

注意设备的当前时间,如果时间不对,很可能会导致证书失效。

本文来源:https://www.bwwdw.com/article/verv.html

Top