Strongswan을 사용하여 터널 IPsec을 설정하고 x509 PKI를 사용하여 공개했습니다. 터널이 올바르게 설정되었지만 몇 가지 문제가 있습니다.
iked를 사용하는 게이트웨이는 라우터 vyatta의 로컬 IP를 ping할 수 없지만 vyatta는 iked를 사용하여 게이트웨이의 로컬 IP를 ping할 수 있습니다.
서브넷 10.1.1.0/24는 서브넷 10.3.3.0/24에 가입할 수 없습니다(반대로).
아래는 내 구성의 스키마입니다.
10.2.2.0/24 10.3.3.0/24
+---------------+ +--------+.100 +-------+ ISP +---------+.1
|Private subnet +---^| FW +------^+ Box +^---------+FW |
+---------------+ 1.--------+ +-------+ +---------+
10.1.1.0/24 Strongswan NAT OpenBSD (iked)
vyatta
내 iked.conf:
ikev2 "site2" passive esp \
from 10.3.3.1 to 10.2.2.100 \
from 10.3.3.0/24 to 10.1.1.0/24 \
peer any local any \
srcid iked.example.com dstid vyatta.example.com \
#ikesa auth hmac-sha2-256 enc aes-256-ctr group modp2048 \
childsa auth hmac-sha2-512 enc aes-256-ctr group modp2048 \
tag "$name-$id"
내 ipsec.conf(strongswan):
conn site1
keyexchange=ikev2
dpddelay=5s
dpdtimeout=60s
dpdaction=restart
left=%defaultroute
leftcert=vyatta.crt.pem
leftsubnet=10.1.1.0/24,10.2.2.100
leftfirewall=yes
leftid="vyatta.example.com"
right=10.3.3.1
rightsubnet=10.3.3.0/24
rightid="iked.example.com"
auto=start
그러나 iked 게이트웨이에 다음 두 경로를 추가하면 모든 것이 작동합니다.
route add -inet 10.2.2.100 -llinfo -link -static -iface vmx1
route add -inet 10.1.1.0/24 10.2.2.100
한 가지만 빼고요. 패킷 필터에서 rdr-to 및 nat-to 리디렉션 조합을 만들었을 때 작동하지 않았습니다. 패킷은 10.1.1.0/24 서브넷의 서버로 올바르게 리디렉션되고 src IP는 NAT됩니다(snat는 10.3.3.1). 나는 openbsd가 10.2.2.100에 대한 arp 주소를 요청하기 때문에 전달하지 않는다는 것을 알았습니다. 이것은 내가 이해하지 못하는 것입니다. 따라서 패킷이 터널에 캡슐화되지 않은 이유를 전혀 알 수 없으며 "tcpdump enc0"을 수행해도 아무것도 표시되지 않습니다.
그래서 두 가지 질문이 있습니다.
- 내 iked 게이트웨이가 경로 없이 vyatta 게이트웨이를 ping할 수 없는 이유는 무엇입니까? 내 구성 파일(iked.conf)에 누락된 내용이 있습니까?
- openbsd가 enc0에서 패킷을 리디렉션하는 대신 arp 요청을 한 이유는 무엇입니까?
답변1
이 질문은 몇 달 전에 작성되었으므로 문제를 파악한 지 오래되었을 것입니다. 어쨌든 이것은 귀하의 질문에 대한 답변이 아닐 수도 있습니다. 하지만 파일 ikesa
에서 옵션을 주석 처리한 것으로 확인되었습니다 iked.conf
. 나는 댓글 뒤에 오는 모든 것이 평가되지 않는다는 것을 (어려운 방법으로) 발견했습니다. 따라서 태그 pf
를 참조하기 위해 를 사용하는 경우 이 옵션을 해석하지 않기 $name-$id
때문에 올바르게 평가되지 않습니다 . 귀하 의 설정에 중요한 경우에도 iked
마찬가지입니다 .childsa