strongSwan vips: IKEv2에 가상 주소 요청하기
vips는 내부 IKEv2 주소를 요청하고, 게이트웨이가 무엇을 줄지 결정합니다. 요청을 구성해 불러온 뒤 응답자가 실제로 무엇을 할당했는지 확인하십시오.
IKEv2 클라이언트는 게이트웨이에 내부 주소를 요청할 수 있고, 게이트웨이가 무엇을 돌려줄지 결정합니다. strongSwan에서 그 요청은 vips 설정이며, 여기에 특정 주소를 적더라도 여전히 요청일 뿐입니다. 아래 런북은 요청을 구성하고 불러온 뒤 무엇이 돌아왔는지 읽습니다. 이 세 단계는 서로 다른 세 가지 방식으로 실패하기 때문입니다. 아무리 세게 입력해도 이 단계들이 짧아지지는 않습니다.
vips가 요청하는 것과 보장할 수 없는 것
vips는 연결 정의 안에 속하며 응답자에게 가상 주소를 요청합니다. strongSwan의 가상 주소 안내서는 응답이 다른 주소일 수도, 아무것도 아닐 수도 있다고 분명히 말합니다. 사람들이 값을 적고 그것이 나타나기를 기대할 때 바로 이 문장을 건너뜁니다. 그래도 요청할 가치가 있습니다. 확인하는 대상이 바로 응답이기 때문입니다. 이 설정을 결과를 구성하는 것이 아니라 물어보라는 지시로 다루십시오.
0.0.0.0을 요청하는 것은 사용 가능한 모든 IPv4 가상 주소를 요청하는 것이며, 정확한 값이 중요하지 않을 때 보통 옳습니다. 특정 주소를 요청하는 것은 게이트웨이에 대한 힌트이지 요구가 아닙니다.
swanctl 조각과 그 위치
이 설정은 연결 블록 안에 있으며, 별도 파일이나 운영 체제 프로필에 있지 않습니다. 이 분리된 조각은 형태를 보여 줍니다:
connections {
net {
local_addrs = 192.0.2.10
remote_addrs = 203.0.113.5
vips = 10.77.0.31
children {
net { local_ts = dynamic remote_ts = 10.77.0.0/24 }
}
}
}
연결을 소유한 파일로 불러온 뒤 연결을 시작하고 결과를 읽으십시오. 잘못된 섹션에 붙인 조각은 구문 분석 오류를 내거나, 더 나쁘게는 요청했다고 생각한 내용 없이 로드되는 연결을 만듭니다. 세 명령을 순서대로 실행하고 출력을 보관하십시오.
swanctl --load-all --file /etc/swanctl/swanctl.conf
swanctl --initiate --child net
swanctl --list-sas
local_ts는 트래픽을 고르며 주소를 만들지 않습니다
local_ts는 자식 SA가 보호하는 트래픽 집합을 지정합니다; 인터페이스에 주소를 두지는 않습니다. 가상 IP가 협상되면 strongSwan은 기본 동적 선택기를 쓰지 않고 부여된 주소를 대신 사용합니다. 선택기를 문자 그대로의 주소에 고정하면 게이트웨이가 부여하지 않았을 수도 있는 것을 주장하는 셈이며, 그래서 장애가 트래픽이 아무 데도 가지 않는 정상 동작 SA로 나타납니다. 선택기는 트래픽을 설명하고, 할당은 다른 교환에서 옵니다.
안정적인 내부 주소를 얻는 다른 방법은 그것을 로컬에서 소유하는 것입니다. 터널이 올라오기 전에 주소를 인터페이스에 두고, 선택기를 이미 존재하는 것에 맞추고, 피어와 경로를 그 주위에 배치하십시오.
그 설계에서는 아무것도 협상되지 않으므로 아무것도 재할당될 수 없으며, 그것이 바로 거래입니다. 주소 지정 작업을 직접 하는 대가로 얻는 결정성입니다. 이것은 vips의 변형이 아니라 다른 메커니즘이므로 둘을 한 연결에서 섞어서는 안 됩니다. 협상된 주소 옆에 고정된 선택기는 게이트웨이가 다른 것을 내줄 때까지 동작하는 연결입니다.
응답자가 실제로 할당한 것을 확인하십시오
게이트웨이가 부여한 주소를 SA 목록에서 읽고, 그 주소가 인터페이스에 있는지 확인하십시오. 둘이 일치하지 않으면 터널은 올라와 있고 트래픽은 생각하는 곳으로 가지 않습니다. 인터페이스에 도달하지 못한 부여 주소는 이 순서에서 가장 혼란스러운 장애입니다. 각 반쪽이 따로 보면 맞아 보이기 때문입니다.
노트에 네 주소를 분리해 두십시오. 요청한 내부 주소, 부여된 주소, 머신의 LAN 주소, 그리고 어떤 웹사이트가 보고하는 공용 출구입니다. 이들은 서로 다른 계층에 속하고 다른 곳에 나타납니다. 네 가지를 모두 기록한 런북이라야 다른 사람이 어느 주소를 뜻했는지 묻지 않고 따라갈 수 있습니다. 다시 불러올 때마다 다시 읽으십시오. 부여된 값만이 살아 있는 터널을 설명합니다.
정적 설계를 따로 두십시오
고정된 내부 주소가 필요하다면 게이트웨이에서 예약을 마련하고 클라이언트 요청은 요청으로 남겨 두십시오. 고정된 선택기를 협상된 주소와 섞으면 게이트웨이가 다른 것을 할당할 때까지 동작하는 연결이 됩니다. 연결 옆에 예약 규칙을 적어 두십시오. 동료가 구성 파일에서 추론할 수 없는 부분이기 때문입니다. 그러면 새 클라이언트는 규칙을 다시 발견하는 대신 물려받습니다.
내장 Mac 클라이언트에는 이런 옵션 이름이 하나도 없습니다. 게이트웨이가 제공하는 할당이나 예약, 운영자가 공개한 프로필을 사용하고, 할당을 다시 읽기 전까지는 클라이언트 측 값을 힌트로 취급하십시오. 롤백은 vips 줄을 지우고 다시 불러오는 것이며, 게이트웨이가 기본으로 할당하는 상태로 돌아갑니다.