저는 소규모 서버에 Debian 최소 운영 체제를 사용하고 있습니다. 백업용으로 전체 운영 체제가 포함된 저장 장치를 원합니다. 따라서 문제가 발생하면 하드 드라이브 장치를 교체할 수 있습니다. 그런데 백업 OS를 설치한 하드웨어가 서버와 다릅니다. 따라서 인터페이스 하드웨어 유형에 관계없이 네트워크 인터페이스에 고정 IP 주소를 설정하는 방법이 필요합니다.
환경 변수를 사용하여 /etc/network/interfaces 파일에서 사용했는데 DHPC에서는 작동했지만 고정 IP에서는 작동하지 않았습니다. 인터페이스 파일은 다음과 같습니다.
auto lo
iface lo inet loopback
auto $local_int
iface $local_int inet static
address 192.168.111.250/24
gateway 192.168.111.1
dns-server 8.8.8.8
이 명령을 사용하여 인터페이스 이름을 환경 변수에 저장합니다.
local_int=$(ls /sys/class/net/ | grep en)
출력 echo $local_int
은 입니다 ens33
.
답변1
환경 변수를 어떻게 설정하고 interfaces
구성에서 사용할 수 있게 만들었는지 궁금합니다.
그러나 하드웨어에 따른 인터페이스 이름 지정(예: ens33
)은 기능입니다. 분명히 이 기능을 비활성화하고 인터페이스 이름이 항상 하드웨어에 독립적으로 지정되도록 이전의 단순 이름 지정으로 돌아갈 수 있습니다 eth0
. 그러면 파일에서 이를 사용할 eth0
수 있습니다 .interfaces
개인적으로 저는 이전 명명 시스템에 문제가 있었던 적이 없습니다. 그러나 NIC가 2개 이상 있으면 불안정할 수 있으므로 처음에 새로운 이름 지정 기능이 구현되었습니다. 그러나 서버당 NIC가 1개만 있는 경우에는 안전하고 안정적입니다.
데비안이 직접 설치되어 있지 않아 테스트할 수 없습니다. 하지만문서그렇게 복잡해 보이지는 않습니다.
전체 현재 인터페이스 명명 체계를 비활성화하는 쉬운 방법은 커널 매개변수 net.ifnames=0 [...]으로 시작하는 것입니다.