저는 네트워크 서비스와 systemd-networkd 간의 관계를 이해하려고 노력하고 있습니다.
처음에는 netplan을 사용하여 네트워크를 구성한 우분투 20.01 서버를 실험하고 있습니다. 일부 기사에서는 온라인에서 netplan과 systemd-networkd를 제거하고 네트워크 서비스만 사용하도록 제안하는 사람들을 발견했습니다. systemd-networkd를 사용해 보고 싶어서 netplan을 제거하고 systemd-networkd를 수동으로 구성했습니다. 모든 것이 잘 작동하지만 네트워크 서비스도 있다는 것을 알았습니다(기본적으로 네트워크 서비스가 있는 것 같나요?).
systemctl status networking
보여주다:
ifquery: couldn't open interfaces file "/etc/network/interfaces": No such file or directory
systemd가 인터페이스를 처리하고 있기 때문에 이것이 정상이라고 생각합니다. 그러나 다른 서비스(예: postfix 및 바인딩)는 /etc/network 하위 디렉터리에 일부 파일(if-up.d, if-down.d 등)을 생성합니다.
그래서 저는 네트워크 서비스가 systemd-networkd 없이도 작동할 수 있다는 것을 알고 있지만, 그 반대의 경우도 가능합니까(네트워킹 없이 systemd-networkd)?
둘 사이의 관계 및/또는 차이점은 무엇입니까? 두 가지를 동시에 실행하는 것이 가능한가요?
미리 감사드립니다!
답변1
예, 대신 systemd-networkd를 사용하여 네트워크를 관리했다면 ifupdown 패키지를 제거할 수 있습니다. 나는 최근에 이 일을 직접 시작했습니다. 두 가지를 동시에 실행할 수 있지만 특정 네트워크 인터페이스 관리를 담당하려면 하나만 필요합니다. 이들 중 어느 것도 기본적으로 인터페이스를 관리하지 않으므로 네트워크 인터페이스를 관리하도록 구성하도록 하나를 선택하면 다른 하나는 영향을 받지 않습니다.
ifupdown 패키지는 /etc/network/interface의 구성을 기반으로 네트워크를 구성하기 위해 데비안에서 사용하는 레거시 패키지이므로 여전히 기본적으로 설치되며 서버에서 자주 사용됩니다. 현재 기본 데스크탑에는 네트워크 관리자를 설치하여 네트워크를 관리하고 그래픽 사용자 인터페이스가 있습니다. 선택할 수 있는 다른 패키지가 많이 있습니다.
ifupdown은 시작 중에 실행되는 몇 가지 간단한 쉘 스크립트를 기반으로 합니다. systemd-networkd는 쉘 스크립트에서 함께 짜맞추기보다는 플러그 앤 플레이 C 코딩 시스템인 systemd init 대체의 일부입니다. 부팅 후 연결되는 네트워크 인터페이스를 관리할 수 있으며 부팅 프로세스를 지연할 필요가 없으며 모든 네트워크 인터페이스를 관리하기 위해 쉘 스크립트를 실행하기 전에 모든 네트워크 인터페이스가 검색되었는지 확인하기 위해 임의로 기다릴 필요가 없습니다. 약간 빠른 부팅.