6.9. IPsec VPN 연결에 대한 TCP 대체 구성
표준 IPsec VPN은 UDP를 차단하고 ESP(Security Payload) 프로토콜을 캡슐화하는 제한적인 네트워크에서 실패할 수 있습니다. 이러한 환경에서의 연결을 보장하기 위해 Libreswan은 RFC 8229에 설명된 방법인 TCP 연결 내에서 모든 VPN 트래픽을 캡슐화할 수 있습니다.
TCP 내에서 VPN 패킷을 캡슐화하면 처리량을 줄이고 대기 시간을 늘릴 수 있습니다. 이러한 이유로 TCP 캡슐화를 대체 옵션으로 사용하거나 환경에서 UDP 기반 연결이 일관되게 차단되는 경우에만 사용합니다.
사전 요구 사항
- IPsec 연결이 구성되어 있습니다.
프로세스
/etc/ipsec.conf
파일을 편집하고config setup
섹션에서 다음과 같이 변경합니다.TCP 포트에서 수신 대기하도록 Libreswan을 구성합니다.
listen-tcp=yes
listen-tcp=yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 Libreswan은 포트 4500에서 수신 대기합니다. 다른 포트를 사용하려면 다음을 입력합니다.
tcp-remoteport=<port_number>
tcp-remoteport=<port_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow UDP를 사용할 수 없거나 영구적으로 TCP를 대체 옵션으로 사용해야 하는지 여부를 결정합니다.
대체 옵션으로 다음을 입력합니다.
enable-tcp=fallback retransmit-timeout=5s
enable-tcp=fallback retransmit-timeout=5s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 Libreswan은 TCP를 통해 연결을 다시 시도하기 전에 UDP를 사용하여 연결할 수 없는 후 60초를 기다립니다.
retransmit-timeout
값을 낮추면 지연이 줄어들어 대체 프로토콜이 더 빨리 시작됩니다.UDP를 영구적으로 교체하려면 다음을 입력합니다.
enable-tcp=yes
enable-tcp=yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ipsec
서비스를 다시 시작하십시오.systemctl restart ipsec
# systemctl restart ipsec
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본 4500 이외의 TCP 포트를 구성한 경우 방화벽에서 포트를 엽니다.
firewall-cmd --permanent --add-port=<tcp_port>/tcp firewall-cmd --reload
# firewall-cmd --permanent --add-port=<tcp_port>/tcp # firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이 게이트웨이를 사용하는 피어에서 절차를 반복합니다.