우분투 18.04 : / etc / network / interfaces로 다시 전환


44

우분투 18.04 월경을 시작, 우분투 개발자들은 고전적인 사용을 중단 /etc/init.d/networking하고 /etc/network/interfaces네트워크를 구성하는 방법을 일부 전환 이라고합니다 netplan. 이로 인해 많은 사람들이 화를 내고 나쁜 행동으로 널리 인식되었습니다. 네트워크 구성을위한 netplan올바른 /etc/network/interfaces방법 을 제거 하고 사용할 수 있습니까?


2
왜 netplan으로 구성하지 않습니까? 대부분의 상황에서는 매우 간단합니다.
chili555

3
@ chili555 변경 사항을 받아들이고 새로운 것을 배워야 할 수도 있습니다. 나는 원래대로 돌아가는 것이 사소한 것인지 알고 싶습니다. 마찬가지로 systemd, 파괴적인 변화가 때때로 유익하고 포용 될 수 있음을 이해합니다. 그러나 이것은 반드시 변경이 필요하거나 유익한 시간 중 하나가 아닙니다.
jdgregson

1
오류가 발생하는 경우 사소하지 않으며 쉽게 되돌릴 수 없습니다. 위험한 생활을하려면 답변을 제안 해 드리겠습니다. 반면에 몇 분 안에 netplan을 구성 할 수 있습니다. 당신은 어느 것을 선호합니까? PS- 나는 넷 플랜이 제외 된 시스템이 /etc/network/interfaces더 큰 시스템화 된 그림에 어떻게 맞는지 완전히 이해하지는 못합니다 . 내가 할 수있는 일은 그 변화를 도입 한 사람들이 왜 그것이 더 적합한 지 아는 것을 신뢰한다는 것입니다.
chili555

1
또는 넷 플랜을 올바르게 구성하고 완료하십시오.
chili555

1
@ chili555 Netplan은 가상 네트워크 인터페이스를 지원하지 않습니다. 여기를 참조하십시오 : askubuntu.com/questions/990825/virtual-interface-in-netplan
user3751385

답변:


43

다음 절차는 Ubuntu 18.04 (Bionic Beaver)에 적용됩니다.

I. ifupdown 패키지를 다시 설치하십시오 .

# apt-get update
# apt-get install ifupdown

II. 다음 과 같은 구성 스탠자로 / etc / network / interfaces 파일을 구성하십시오.

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
  address 192.168.1.133
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1
  # Only relevant if you make use of RESOLVCONF(8)
  # or similar...
  dns-nameservers 1.1.1.1 1.0.0.1

III. 구성을 유효하게하십시오 (재부팅 필요 없음).

# ifdown --force enp0s3 lo && ifup -a
# systemctl unmask networking
# systemctl enable networking
# systemctl restart networking

IV. 원치 않는 서비스를 비활성화하고 제거하십시오.

# systemctl stop systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl disable systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl mask systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# apt-get --assume-yes purge nplan netplan.io

그런 다음 끝났습니다.

참고 : 당신이 해야 물론, 시스템 (네트워크, 인터페이스 이름 ...)에 따라 값을 적용.

V. DNS 확인자

SYSTEMD-RESOLVED.SERVICE (8)에 의해 제공하는 DNS 스텁 해결의 우분투 슈퍼맨 비버 (18.04) 메이크업의 사용, 당신은 때문에 해야한다 또한 /etc/systemd/resolved.conf 파일에 접촉에 DNS를 추가합니다. 예를 들어 :

....
DNS=1.1.1.1 1.0.0.1
....

완료되면 systemd-resolved 서비스를 다시 시작하십시오.

# systemctl restart systemd-resolved

위에 표시된 ifupdown INTERFACES (5) 파일의 DNS 항목은 RESOLVCONF (8) 또는 이와 유사한 것을 사용하는 경우에만 관련이 있습니다.


9
글쎄, 그들. 그냥 apt-get install당신이 어떤 네트워크 구성 없어 한 때. 정말 멋진 생각입니다, 정식.
Velkan

1
@Velkan 항상 netplan으로 네트워크를 사전 구성한 다음 나중에 ifupdown으로 다시 전환 할 수 있습니다.)하지만 동의합니다. 어떻게 든 정식은 나쁜 결정을 내립니다. 예를 들어, 네트워킹 구성을위한 ifupdown에 의존하는 소프트웨어를 망가 뜨립니다 (넷 플랜의 공급자는 없음). 새로운 네트워크 구성 공급자를 추가하지 않으려는 제어판 소프트웨어 (안정적인 serie)의 경우입니다.
Nuxwin

3
@StephenBoston 나는 당신에게 전적으로 동의합니다. 그러나 Canonical이 새로운 기술을 도입하여 진행하려고하더라도 덜 침습적 인 방식으로이를 수행 할 수 있습니다. 선택은 최종 사용자에게 맡겨야한다는 뜻입니다. 워크 스테이션의 경우 ifupdown에서 netplan으로의 변경은 큰 문제가 아니지만 Ubuntu 서버를 처리해야 할 때 가장 안정적인 소프트웨어가 어댑터를 필요로하지 않기 때문에 또 다른 이야기입니다. 매일 데비안과 우분투를 다뤄야합니다. 우분투의 문제는 이전 버전과의 호환성에 관심이 없다는 것입니다.
Nuxwin

1
사소한 수정 : # systemctl unmak networking-># systemctl unmask networking
Santosh

1
또한 인터페이스 파일 을 사용 dns-domain하고 dns-search인터페이스 파일 Domains에서 resolved.conf에 매개 변수를 구성해야 한다고 생각합니다. 어쨌든, 모든 일을 여기에 모아두면 많은 시간을 절약 할 수있을 것입니다 :)
OttoEisen

10

Netplan 팀은 자주 묻는 질문에 대한 공식적인 답변 올렸습니다 여기를 :

ifupdown으로 돌아가는 방법

...

실행중인 시스템에서 사용자가 이전처럼 ifupdown을 설치하고 / etc / network / interfaces를 수동으로 구성하여 netplan을 제거 할 수 있습니다.

설치시 사용자는 netcfg / do_not_use_netplan = true를 미리 설정하여 ifupdown을 사용하도록 선택할 수 있습니다. 설치 미디어를 부팅 할 때 명령 줄에 미리 시드 행을 추가하면됩니다 (예 : 설치 미디어 부팅 메뉴에서 F6 키를 누르고 'e'를 입력 한 다음 명령 줄에 추가).

더 자세한 지침은 Nuxwin의 답변을 참조하십시오.


9

Netplan과 yaml은 서버 전용 환경에서 취약합니다 (들여 쓰기 실수로 인해 비용이 발생합니다). 인터페이스는 서버에서 네트워크 설정을 관리하기에 충분히 용서했습니다.
Netplan은 새로운 계층을 소개합니다. 그러나 실제 문제는 U18이 ifupdown을 중단하고 NetPlan으로 작업을 마치지 않는다는 것입니다. ifupdown을 다시 설치하여 / etc / network / interfaces로 돌아 가면 DNS 관리가 더 이상 인터페이스 파일에서 작동하지 않습니다. dns-nameservers 항목은 무시됩니다. 대신 dns는 /etc/resolv.conf에 설정되어 있습니다. 그러나 시스템을 부팅 할 때마다 다시 작성되므로 해당 파일을 편집 할 수 없습니다. 이런 씨발? Netplan은 GUI로 관리되도록 설계 되었기 때문에 서버 전용 캠프에있는 사람들은 취약한 시스템이 남게됩니다. 좋지 않은 우분투!
부팅 할 때 / etc / network / interfaces의 설정을 netplan으로 리디렉션하여 netplan을 완료하는 데 도움이되는 방법은 무엇입니까?


1
이 질문에 어떻게 대답합니까?
Pierre.Vriens

@Dan Desjardins DNS 확인자 문제에 대해 허용 된 답변을 참조하십시오. 기본적으로 ifupdown INTERFACES (5) 파일에 입력 한 DNS 항목은 resolvconf (8) 또는 이와 유사한 것을 사용할 때만 관련이 있습니다. SYSTEMD-RESOLVED.SERVICE (8에서 제공하는 DNS 스텁 해결 프로그램의 경우 /etc/systemd/resolved.conf 파일에 DNS를 추가해야합니다. 이렇게하면 영구적으로 유지됩니다. 또 다른 해결책은 SYSTEMD-RESOLVED를 비활성화하는 것입니다. SERVICE (8) 서비스 및 설치 / 설정 resolvconf (8) 명확하게하기를 희망합니다
Nuxwin

2

왜 netplan으로 구성하지 않습니까?

글쎄, 그것은 18.04-Desktop에 구성되어 있기 때문에 NetworkManager의 모든 인터페이스에 제어권을 넘겨주는 한 줄입니다.

사용자의 95 %에게 적합 할 수 있지만 NetworkManager는 세션에 로그인 한 후에 만 ​​실행됩니다.

컴퓨터가 서버 / 데스크톱으로 작동하도록하려면 (예 : 로컬 컴퓨터에 파일을 제공하거나 VNP 서버로 작동하는 등) 누군가가 로그인하기 전에 "팬시"를 시작하십시오. 표준 18.04-Desktop에서 구성하는 방법에 문제가 있습니다.

물론 대안은 server-Netplan 구성을 사용하는 것입니다. 서버 -Netplan 구성은 내가 직접 확인하지 않는 한 시스템 제어 네트워크로 직접 제어합니다. 이 경우 기존 System V init를 systemd로 대체하는 방법을 배우는 것이 좋습니다.

이 경로로가더라도 데스크탑 버전에서는 제어가 NetworkManager에 제공되므로 netplan yaml을 변경해야합니다.


3
Netplan은 openvswitch를 지원하지 않습니다.
Kamilion

5
netplan은 IP 별칭 (eth0 : 0 스타일)을 지원하지 않습니다. 그런 일이 우분투 서버로 어떻게 들어갈 수 있는지 믿을 수 없습니다!
Hamid Fadishei

netplan디렉토리가 비어 있기 때문에 !
dsgdfg

NetworkManager 서비스는 꽤 일찍 시작되며 세션이나 로그인 한 사용자가 필요하지 않습니다.
thaller

1

핵심은 cloud.init이것이 실제 제어 프로그램 이라는 것을 알고 있습니다.
그 존재의의 라인 말했다 netplan필수입니다 : "사실 선택"설정 파일.
그것을 알면 쉬워졌습니다.

방금 제거 01-network-manager-all.yaml하여에 복사했습니다 /root/save/. 그런 다음 알려진 올바른 구성을 대신 배치하십시오 50-cloud-init.yaml. 내용은 다음과 같습니다.

network:
  version: 2
  renderer: networkd
  ethernets:
    eports:
      match: 
        name: enp*
        optional: true
  bonds:
    bond0:
      interfaces: [eports]
      addresses: [192.168.2.5/24]
      gateway4: 192.168.2.1
      nameservers:
        addresses: [127.0.0.1, 8.8.4.4]          
      parameters:
        mode: 0          
        mii-monitor-interval: 100

그런 다음 재부팅하면 제대로 작동합니다.

잘 알려진 구성은 Ubuntu 18.04에서 netplan을 사용하여 본드 802.3ad 네트워크 구성 에서 가져 왔습니다 .


1
여기서 문제는 ifupdown으로 다시 전환하는 방법입니다.) 앞으로는 초기 주제를 고수하기가 쉽지 않더라도 오염시키지 않고 질문에 대답해야합니다.)
Nuxwin

0

이 답변에 따르면 해결책은 모든 작동 가능한 .yaml 파일을 제거하는 것입니다. Ubuntu 17.10 disable netplan

백업하지 않고 아무것도 제거하지 않습니다. 파일을 옆으로 옮기면 쉽게 할 수 있습니다. 먼저 파일을 찾으십시오.

sudo updatedb
locate netplan | grep yaml

내 18.04 시스템에서 유일한 운영 파일은 /etc/netplan/01-network-manager-all.yaml 인 것으로 보입니다. 이동합시다 :

mkdir ~/netplan
sudo mv /etc/netplan/01-network-manager-all.yaml  /home/user/netplan

... 여기서 user는 사용자 이름입니다.

이제 파일이 실제로 사라 졌는지 확인하십시오.

ls /etc/netplan

이제 필요에 따라 / etc / network / interfaces에 추가하십시오.

재부팅하십시오.

개선이 있습니까?

각주 :이를 수행하는 정확한 프로세스를 찾기가 어렵습니다. 우리는 갈 때 조금 다듬어야 할 수도 있습니다.


나는 그것을 시도하고 어떻게 진행되는지보아야 할 것이다. 다른 질문은 재부팅하지 않고 변경 사항을 적용하는 방법입니다. 에서 사용할 수있는 과거 ifup/ ifdown, /etc/init.d/networking restart, service networking restart, 그리고 systemd 방법, 등 systemctl restart networking, systemctl restart Network-Manager.service등,이 중에 우분투 18.04를 설치 한 후 나에게 할 수 없었다.
jdgregson

결과는 sudo ip link set eth0 down다음과 같습니다. sudo ifup -v eth0물론 신화적인 eth0을 대신하여 인터페이스를 대체하십시오.
chili555 23

ifupdown기본적으로 설치되어 있지 않으므로 전화 ifup하면 설치 방법 만 알려줍니다. 그러나, sudo ip link set eth0 down다음에 sudo ip link set eth0 up떨어져 다시의 인터페이스를 설정 않습니다.
jdgregson

대박! 그래서 당신은 해결되고 모두 설정 되었습니까?
chili555 23

모든 * .yaml 파일이 netplan과 관련되어있는 것은 아니므로 netplan 관련 디렉토리에있는 파일 만 제거하십시오!
JanC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.