우분투에서 고정 IP를 어떻게 설정합니까?


56

저는 Linux를 처음 접했고 Windows 서버 / 데스크톱에서 수년간 경험을 쌓았으며 고정 IP 설정에 문제가 있습니다. 16.04에서 작동하지 않는 이전 버전의 Ubuntu에 사용 된 방법을 사용하고 있습니다

명령을 사용 sudo nano /etc/network/interface하고 다음을 추가했습니다.

iface enp0s25 inet static
address 10.10.8.2
netmask 255.255.0.0
gateway 10.10.1.1
dns-nameservers 8.8.8.8 8.8.4.4

시스템을 재부팅했는데 이더넷이 거의 죽었으므로 핑이 전혀 작동하지 않습니다. 수정 /etc/NetworkManager/NetworkManager.conf하고 다음과 같이 변경했습니다.

#dns=dnsmasq (comment out the dnsmasq)
[ifupdown]
managed=true (changed from false)

이를 통해 이더넷이 산발적으로 작동하도록 할 수 있지만 결국에는 실패합니다.

다른 두 컴퓨터와 가상 컴퓨터 에서이 구성을 시도했지만 모두 동일한 결과를 얻습니다. 이러한 컴퓨터 중 하나에 Windows를 설치할 때 이러한 설정이 제대로 작동하는지 확인할 수 있습니다. DHCP 자동 구성을 허용하면 모든 것이 문제없이 작동합니다.

정적 IP를 설정하는 것이 어렵지 않아야합니다.


유일한 것은 내가 주목하고 그냥 오타 여기되었을 수도 있지만, 나는 변화 것 Dns-nameserversdns-nameservers아마도이 문제를 해결하기 위해 아무것도하지 않을 그러나 일어나는 다른 문제를 중지 할 수 있습니다
존 오리온

1
Dns-nameservers는 구문이 현명 할 수 있으므로 문제가되지 않습니다. DHCP로 작업 할 때 ifconfig인터페이스 이름을 확인 하기 위해 를 실행 했거나 enp0s25라고 가정 했습니까? 또한 auto enp0s25구성 파일 맨 위에 있습니까? 부팅 할 때 인터페이스가 나타나지 않을 수 있습니다.
Andrew

질문을 편집하고 /etc/network/interfaces파일 의 정확한 내용을 게시 하십시오. 메시지를 편집하는 동안이 파일의 텍스트를 강조 표시 한 다음 {}메시지 편집기 상단의 코드 링크 를 클릭 하면 텍스트를 올바르게 형식화하여 내용을보다 쉽게 ​​읽을 수 있습니다. 또한이 명령 ip address을 실행하고 {}해당 출력에 동일한 단계를 수행하십시오 (코드 형식).
LD 제임스

답변:


83

나는 같은 문제가 있었고 이것이 내 해결책이었다.

sudo nano /etc/network/interfaces

다음 아래에 붙여 넣습니다 (네트워크 변경) # The primary network interface.

auto enp0s25
iface enp0s25 inet static
address 192.168.0.16
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.4.4 8.8.8.8

ifconfig -a우분투 16.04 또는 ip address18.04 이상 에서 터미널 명령 을 사용하여 올바른 인터페이스 이름을 얻을 수 있습니다

가상 머신을 종료 한 다음 !!! 네트워크 설정으로 이동하여 MAC 주소 새로 고침 버튼을 몇 번 클릭하십시오. :)

여기에 이미지 설명을 입력하십시오

VM을 시작하면 인터넷에 접속해야합니다!

업데이트 20.02.2019

우분투 18.04+의 경우이 파일을 편집해야합니다

/etc/netplan/50-cloud-init.yaml

network:
    ethernets:
        enp0s3:
            addresses: [192.168.0.55/24]
            gateway4: 192.168.0.1
            dhcp4: no
            nameservers:
              addresses: [1.1.1.1,8.8.8.8]
            optional: true
    version: 2

2
대단히 감사합니다. 문제없이 지금 작동하는 것 같습니다. 지금은 매우 견고합니다!
TeeStar

dns-nameservers수정 프로그램 외에도 askubuntu.com/questions/574569/… 이 수정 프로그램을 사용해야했습니다. 내 ISP는 monkeybrains.net입니다.
BSalita

56

허용 된 답변에서 위와 같이 고정 IP 주소를 설정하면 작동하지만 이전 IP 주소 설정을 플러시 한 다음 네트워킹을 다시 시작해야합니다.

sudo ip addr flush enp0s25
sudo systemctl restart networking.service

그런 다음 올바른지 확인하십시오.

ip add

2
이전 주소가 인터페이스에 존재하지 않도록 플러시가 필요했습니다 (기반 ip addr). 불구하고 systemctl 다시 시작이 너무 작동 ifdownifup더 선택적으로 작동합니다 인터페이스.
RichVel

2
thx @Grant. 이 일을 플러시를 만든 추가
파블 Madej

3
Ubuntu 16.04 이상에서는 최신 플러시가 필요합니다!
Diego Duarte

5

sudo vim /etc/network/interfaces

    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
    address 192.168.1.10
    gateway 192.168.1.1
    netmask 255.255.255.0
    dns-nameservers 8.8.8.8

sudo ifdown eth0 && sudo ifup eth0


9
안녕하세요 @ lanni654321, 아마 당신은 당신의 답변을 편집하고 당신이하고있는 일과 이유를 간단히 설명하는 몇 단어를 추가해야합니까? 나는 그것이 당신의 대답을 더 도움이 될 것이라고 생각합니다. 어떻게 생각하십니까?
Tshilidzi Mudau

5
# interfaces(5) file used by ifup(8) and ifdown(8)
# auto lo
# iface lo inet loopback
auto enp2s0 
iface enp2s0 inet static
    address 172.16.9.124
    netmask 255.255.240.0
    gateway 172.16.0.9
dns-nameservers 8.8.8.8

1
ifcace는 5 행에서 iface 여야합니다
twoleggedhorse

@twoleggedhorse : 대답에 대한 오타를 수정했지만 #공백이 아닌 최소한 6 개의 변경된 문자없이 편집 할 수 없기 때문에 첫 줄에 몇 개를 추가 해야했습니다.
Andrei Rînea

3

나는 똑같은 문제를 겪었고 해결책은 적어도 "나에게는"최소한이었다.

auto ens160
iface ens160 inet static
address 172.31.0.164/22
netmask 255.255.252.0
gateway 172.31.0.2
network 172.31.0.0
broadcast 172.31.3.255
dns-nameservers 172.31.0.21 172.31.0.18

#Add internal route
up route add -net 172.16.168.0/21 gw 172.31.0.20 dev ens160

그리고 다음에 네트워크 인터페이스 이름으로 빈 파일을 만듭니다.

~$ touch /etc/network/interfaces.d/ens160

효과가있다...


2

나는 같은 문제가 있었고 이것이 내 해결책이었다 : 파일 끝에 빈 줄을 모두 제거하십시오 /etc/network/interface.


0

우분투 컴퓨터에서 고정 IP를 설정 한 후 라우터를 사용하여 IP 주소를 할당 할 수 있음을 알았습니다. 이것이 가장 간단한 해결책 일 수 있습니다. 라우터에 로그인하고 연결된 장치를 찾은 다음 여기에 IP 주소를 할당하십시오.


0

서버에 이전 IP와 할당 된 새 IP가 표시되면 서버를 다시 시작하면됩니다. 이전 IP를 자동으로 플러시하고 새 IP를 유지합니다.
서버를 다시 시작하지 않으려면 다음 명령을 사용하십시오.


sudo ip addr flush <your-interface-here>


0

이 간단한 명령을 실행하여 컴퓨터가 부팅 / 재시작 될 때 네트워크 인터페이스가 작동하도록 설정되어 있는지 확인하십시오.

grep "auto" /etc/network/interfaces

라인이 표준 출력으로 인쇄되지 않으면 /etc/network/interfaces텍스트 편집기 (vi, nano, sed)를 사용하여 열면 아래 이미지와 유사한 내용이 표시됩니다.

기본 / etc / network / interfaces 파일

분명히 grep터미널 창에 어떤 줄도 반환하지 않으면 / etc / network / interfaces 형식은 전혀 비슷할 수 없습니다. :-) 그러나 자동 줄 형식을 따릅니다 .

auto lo
(Loopback configuration follows)
.
.
.

auto enp0s3
(primary interface configuration follows)
.
.
.

====================

이제 컴퓨터에서 .

auto yourInteraceNameHere
(your interface configuration follows)
.
.
.

사용 가능한 인터페이스 이름을 모르십니까? 이 명령을 실행하십시오.

ifconfig -a

다음 명령은 네트워크 인터페이스의 이름 만 반환합니다.

ifconfig -a | grep encap | awk {'print $1'}

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.