Linux IPSec操作手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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