/ etc / network / interfaces에 추가 IP 주소를 어떻게 추가합니까?


42

서버에 사용할 수있는 추가 IP 주소가 있으므로 인터페이스 파일에 할당해야합니다. 현재 나는 이것을 가지고있다 :

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address aaa.aaa.aaa.aaa
netmask 255.255.254.0
gateway bbb.bbb.bbb.bbb
dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
dns-search vps-number.com

새 IP 주소 (fff.fff.fff.fff)를 할당하기 위해 무엇을 추가해야합니까? 그런 다음 새 구성을 적용하기 위해 다시 시작하려면 어떻게해야합니까?


어떤 문자 집합입니까? 어디서 찾았 어?
Green

답변:


55
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address aaa.aaa.aaa.aaa
  netmask 255.255.254.0
  gateway bbb.bbb.bbb.bbb
  dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
  dns-search vps-number.com

auto eth0:0
iface eth0:0 inet static
  address fff.fff.fff.fff
  netmask 255.255.254.0

그런 다음 실행 sudo ifup eth0:0하여 가져올 수 있습니다 sudo ifdown eth0:0.


4
별명이있는 오래된 변형입니다. 대신 "ip addr"와 함께 아래를 사용하십시오.
Alexander Kim

5
오래되었거나 오래되었을 수 있지만이 방법을 사용하는 데 아무런 문제가 없습니다. '더 이상 사용되지 않음'으로 표시되지 않았으며 가까운 시일 내에 제거 할 계획이 없기 때문입니다. IMHO이 방법은 다른 방법보다 깨끗하고 안전합니다 ( Wilmer의 답변 및 설명 참조).
Eric Carvalho

PS 사용하는 경우 auto eth1(AWS에서는 사용하지 않은 경우) 예제와 같이 작동하지 않습니다 auto eth0:0.
IvRRimUm

레거시 솔루션 데비안 스트레치에서 작동하지 않았으므로 두 번째 IP로 끝났습니다. iproute2방법을 참조하십시오 .
x-yuri

24

여분의 IP 주소의 경우 일반적으로 다음을 추가합니다.

up ip addr add fff.fff.fff.fff/prefixlen dev eth0

iface eth0 inet static나중에 재부팅 할 수 있도록 스탠자 의 맨 아래로 이동 한 다음 명령 sudo ip addr add fff.fff.fff.fff/prefixlen dev eth0을 수동으로 다시 실행하여 직접 활성화하십시오.

네트 마스크 인 경우 255.255.254.0다음 prefixlen해야합니다 23당신을 위해.

그래도 더 좋은 방법이 있는지 알고 싶습니다.


대단히 감사합니다. 수용 된 접근법은 본딩에 효과가 없지만 ( ifenslave ), 그렇지 않습니다!
mekkanizer

upnetwork-online.target이 기다리지 않기 때문에 문제가됩니다. nginx와 같은 시스템 서비스 up는 시작 시간에 추가 된 IP에 바인딩하지 못합니다
sdaffa23fdsf

데비안 스트레치 / 우분투 16.04 Xenial 이상 에는 공식 솔루션이 있습니다.
x-yuri

22

Heihachi가 지적한 것처럼 ethx : x 별칭은 구식입니다. 그러나 ip addr해결책은 더 나쁩니다. down변형을 추가해야 하거나 ifdown매우 깨끗하게 작동하지 않으므로 추악하고 불완전 합니다.

더 나은 해결책 은 https://wiki.debian.org/NetworkConfiguration#Multiple_IP_addresses_on_one_Interface 를 참조 하십시오 . 이제 동일한 인터페이스에 대해 iface 스탠자를 반복 할 수 있습니다. 위의 해결책 만 :x접미사를 삭제하십시오 .


2
링크의 문서에서 가장 현대적인 방법 (iproute2라고 함)에 대해 이야기 하십시오. 그러나이 방법은 위험합니다 ! 별칭 인터페이스에 레이블이 할당되지 않은 경우 특정 드라이버 / 하드웨어 조합으로 인해 링크가 표시되지 않는 경우가 있습니다. 새로운 방법이 그렇게 신뢰할 만하지 않다는 공식 문서임을 고려할 때 더 이상 사용되지 않는 방법을 선호합니다.
reallynice

1
공식 문서에서 위험으로 표시되어 있기 때문에 공식적이고 정확한 문서 참조 때문에 "더 나은 솔루션"은 아닙니다.
reallynice

2
@reallynice 합리적인 포인트이지만 IMHO가 버그가있는 커널 / 드라이버처럼 들리는 시스템에서 문제를 일으키는 경우. 나는 추한없이 하나의 인터페이스에 여러 개의 IP 주소를 사용하고 : 0 / :. 1 / 등 별칭 년 (. 또한 나는 위키에서이 솔루션은 위의 로비의 솔루션 기능적으로 동일 확신)
윌머

@ Wilmer Ubuntu 16.04에 vmxnet3 장치 (VMware ESXi 6.5)가 있으며 첫 번째 장치를 가져 오는 새로운 방법 만 얻을 수 있습니다. : x 접미사를 삭제하면 분명히 나에게 좋지 않습니다. 문서는 : x 접미사로 얻는 오류를 해결했습니다.
jbo5112

와 마지막 알려진 문제 iproute2방법이었다 2015 년 . 그리고 데비안 스트레치에서 레거시 방법 (이름을 알았습니까?)이 작동하지 않았습니다. 이후 옵션 ( eth0:0)이 이전 옵션 ( )을 재정의 한 것 같습니다 from eth0. 즉, systemctl restart networking두 번째 IP로 끝난 후에 (첫 번째 IP가 분리되었습니다).
x-yuri
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.