Linux IPSec操作手册

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 -P out ipsec esp/transport/172.16.12.164-172.16.12.169/require;

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

PC1的racoon.conf

path pre_shared_key "/var/psk.txt";

path certificate "/var/cert";

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 "server.cert" "server.priv";

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;

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 "/var/psk.txt";

path certificate "/var/cert";

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 "client.pem" "client.key";

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

相关文档
最新文档