Ubuntu 24.04에서 L2TP 고장: xl2tpd인가 go-l2tp 데몬인가
NetworkManager의 L2TP 플러그인 뒤에 있는 데몬이 24.04에서 바뀌었습니다. 어느 단계가 실패했는지 읽고, 지우기와 고정을 한꺼번에 하지 말고 하나의 수리를 고르세요.
Ubuntu 24.04는 NetworkManager의 L2TP 플러그인 뒤에 있는 데몬을 조용히 교체했습니다. 예전 경로는 xl2tpd을 사용했지만, 새 패키징은 kl2tpd이라는 데몬을 만드는 Go 구현을 끌어옵니다. 플러그인은 설치된 쪽을 실행하므로 업그레이드가 프로필이나 자격 증명을 건드리지 않고 데몬을 바꿀 수 있습니다. 고장의 전부는 새 데몬이 알아보지 못하는 제어 메시지 하나입니다.
플러그인은 IPsec, L2TP, PPP를 조정한 뒤 만들어진 인터페이스를 NetworkManager에 넘깁니다. L2TP 자체를 구현하지는 않습니다.
플러그인은 조정자이며 데몬이 아니다
network-manager-l2tp는 IPsec 도우미, L2TP 데몬, PPP를 실행하고 인터페이스를 데스크톱의 연결 관리에 연결합니다. 오랫동안 데몬은 xl2tpd이었고, 그 설정을 언급한 모든 자습서가 이 가정을 물려받았습니다. 나중에 Debian 패키징은 두 구현 중 어느 쪽이든 받아들였고, 24.04는 kl2tpd를 제공하는 Go 쪽을 설치합니다. 프로필에는 이전에 어떤 데몬이 돌았는지 기록하는 필드가 없으므로 메시지가 거부되기 전까지 교체는 보이지 않습니다.
두 패키지가 모두 있는 기기라도 기대한 쪽을 실행하지 않을 수 있습니다. 선택은 플러그인의 결정이지 당신이 따른 안내서의 결정이 아닙니다.
수리를 고르기 전에 단계를 읽으세요
journalctl -b --no-hostname _COMM=nm-l2tp-service _COMM=kl2tpd _COMM=xl2tpd _COMM=pppd _COMM=charon _COMM=pluto
데스크톱 알림을 믿는 대신 한 번의 시도를 도우미 전체에 걸쳐 맞춰 보세요. 그 쿼리는 순서가 어디서 멈췄는지 보여 주고, dpkg -l은 어떤 구현이 설치되어 있는지 보여 줍니다. IPsec 피어가 세워진 뒤 나타나고 제어 메시지나 알 수 없는 속성을 언급하는 실패는 데몬을 가리킵니다. 터널이 생기기 전의 실패는 데몬에 닿지 못했다는 뜻입니다.
미리 공유한 키의 불일치는 IPsec 단계에서 끝나고 피어를 지목합니다. PPP 자격 증명 문제는 터널이 올라온 뒤 나타나며 보통 읽을 수 있는 CHAP 또는 MS-CHAP 거부를 동반합니다. 둘 다 같은 쿼리에서 보이고, 서로 다른 문제입니다.
두 경로, 그리고 서로 섞이지 않는다
sudo apt install xl2tpd sudo apt purge go-l2tp
그 조합은 xl2tpd을 설치한 뒤 Go 데몬을 제거해서, 플러그인이 게이트웨이가 말하는 방언의 구현을 고르게 합니다. 순서가 중요한데, 플러그인은 둘 중 하나의 구현에 의존하므로 Go 패키지를 먼저 지우면 플러그인도 함께 내려갑니다. 두 번째 경로는 Go 데몬을 유지하고 메시지를 이해하는 더 새로운 빌드로 옮기며, 이는 보통 아카이브 버전이 아니라 유지 관리자의 PPA를 뜻합니다. 관리되는 함대에서는 사용자에게 패키지 삭제를 가르치는 것보다 PPA를 고정하는 편이 정당화하기 쉽습니다.
둘을 한 번의 변경으로 합치지 마세요. 그러면 나중 실패 때 어느 절반이 도움이 됐는지 말할 수 없고, 향후 업그레이드가 방금 지운 패키지를 되살릴 수 있습니다.
티켓에 데몬 바이너리, 버전, 정확한 메시지를 적으세요. 릴리스 후 L2TP가 깨졌다고만 적은 보고서는 아무도 재현할 수 없지만, 이름이 붙은 속성과 패키지 버전이 있으면 출발점이 생깁니다.
이것이 아닌 세 가지
같은 프로필이 22.04에서 같은 게이트웨이를 상대로 동작했으므로 프로필 문제가 아닙니다. 그런 것들은 다른 곳에서 다른 증거로 실패하므로 빠진 경로도 방화벽 변경도 아닙니다. 같은 데몬이 다시 선택되므로 플러그인을 다시 설치해도 고쳐지지 않습니다. 쓸모 있는 설명은 데몬과 그것이 거부한 메시지를 지목합니다.
게이트웨이 쪽 수정도 정당한 결말입니다. 속성 전송을 멈춘 펌웨어는 모든 클라이언트 업그레이드를 견디지만, 패키지 고정은 왜 고정했는지 누군가 기억할 때만 다음 배포판 릴리스까지 견딥니다.
두 경로를 속도가 아니라 유지 비용으로 비교하세요. 둘 다 동작할 수 있지만, 방언 불일치를 없애는 것은 하나뿐입니다.