내 장치 중 하나(데비안 콘솔로 배포된 Beaglebone Black)가 더 이상 호스트 이름을 확인하지 못하는 것처럼 보이는 이유를 알아내려고 오후 시간을 보낸 후, Linux에서 네트워킹이 어떻게 작동하는지 전혀 모른다는 것을 깨달았습니다. FWIW 창 관리자가 없는 시스템에서 SSH(eth0) 또는 USB(RNDIS)를 통해 이 작업을 수행하려고 합니다.
물론, 그렇게 어려운 일은 아니겠죠? 나는 모든 것을 설정하는 방법을 알고 있다고 생각했습니다.
- 인터페이스 구성은 /etc/network/interfaces에 있습니다.
- ifup 및 ifdown을 사용하여 네트워크 인터페이스를 활성화/비활성화할 수 있습니다.
- 그러면 네트워크 서비스가 모든 인터페이스를 비활성화/제어하는 것 같습니다.
음 ... 아니. /etc/networking/interfaces에는 고정 IP가 설정되어 있지만,때때로DHCP 할당 주소를 받게 됩니다. 오히려 짜증나네요. connman이 시스템에 설치되어 있음을 발견했습니다. connman을 제거하면 /etc/network/interfaces에 특별히 구성되지 않은 한 더 이상 dhcp 할당 주소가 생성되지 않습니다.
그러나 이제 호스트 이름이 더 이상 확인되지 않는 것으로 나타났습니다.
systemd-resolve status
status: resolve call failed: All attempts to contact name servers or networks failed
- 인터페이스 파일 외에도 정확히 동일한 작업을 수행하는 것으로 보이는 /etc/systemd/network/eth0.network가 있습니다.
- /etc/systemd/resolved.conf에 구성 파일이 있습니다.
- 가능한 문제에 대한 답을 찾기 위해 네트워크를 구성하고 관리하는 다양한 방법을 생각해낸 것 같습니다. 그 중 상당수는 GUI가 있는 시스템에서 작동합니다.
- 다른 파일에서 다른 관리자에 대한 구성을 찾았습니다(하지만 내 메모를 잃어버려서 내용이 기억나지 않습니다).
이 모든 것이 어떻게 함께 작동합니까(또는 작동하지 않습니까)? 사용하려는 "네트워크 관리자"를 어떻게 지정합니까? 가장 간단한 옵션은 무엇입니까(CLI 시스템의 경우)? 여러개 설치되어 있다면 어떤 것을 선택해야 할까요? 포럼에서 도움이 될 것 같은 답변을 찾은 다음 해당 답변이 귀하의 시스템에서 작동할 수도 있고 작동하지 않을 수도 있다는 사실을 알게 되었지만 확실하지 않은 경우는 약간 짜증나는 일입니다.
정보가 너무 많아서 기본 개요로 정리하기가 어렵습니다. "Linux 네트워킹"을 검색어로 하면 많은 페이지가 나오는데 확실히 지난 몇 년간 많은 것이 바뀌었기 때문에 어떤 것을 참고로 삼아야 할지 잘 모르겠습니다. 어디서부터 시작해야 할지에 대한 조언이 있나요?
답변1
매우 멋진 텍스트 인터페이스가 있는 Gnome의 NetworkManager를 사용하거나 nmtui
명령줄 인터페이스를 사용할 수 있으며 nmcli
구성은 매우 기본입니다.