CLI에서 여러 IP 주소를 하나의 인터페이스에 어떻게 할당 할 수 있습니까?


43

내 서버에 나는 하나의 NIC에 있지만, 사용되지 않는 사용하지 않고 여러 개의 IP 주소를 할당 할 ifconfig또는 폐기 "별명"표기법을 (같은 eth0:0년) /etc/network/interfaces로 인해 IP 앨리어싱 당신이 읽을 수있는 (www.kernel.org에)

IP 별명은 인터페이스 당 여러 IP 주소 / 마스크를 관리하는 오래된 방법입니다.


ifconfig가 더 이상 사용되지 않습니까? 몰랐어요
Mahesh

@Mahesh 네, ifconfig는 SysV 시대의 인공물입니다. 'iproute2'는보다 현대적인 도구입니다. ifconfig는 다양한 배포판에서 잠시 동안 사용되지만 그래, 더 이상 사용되지 않습니다. "더 이상 사용되지 않음"은 "우리가 사용하는 새로운 것을 찾으십시오"를 나타내는 데 사용하는 구어체입니다.
David Betz 2016 년

답변:


48
  1. 지금 당장 추가 IP 주소가 필요한 경우 컴퓨터의 모든 인터페이스에 추가 할 수 있습니다.

     sudo ip address add <ip-address>/<netmask> dev <interface>
    

    예를 들어

     sudo ip address add 172.16.100.17/24 dev eth0
    

    172.16.100.17에 대해 구성된 주소 목록에 24 비트 넷 마스크를 사용하여 추가 합니다 eth0.

    당신은 결과를 확인할 수 있습니다

    ip address show eth0
    

    이 주소를 다시 사용하여 삭제할 수 있습니다

    sudo ip address del 172.16.100.17/24 dev eth0
    

    물론 컴퓨터를 재부팅하면 이러한 변경 사항이 손실됩니다.

  2. 추가 주소를 영구적으로 만들려면 /etc/network/interfaces양식의 스탠자를 여러 개 추가 하여 파일 을 편집 할 수 있습니다

    iface eth0 static
        address 172.16.100.17/24
    

    그렇게 보이도록

    iface eth0 inet dhcp
    
    iface eth0 inet static
        address 172.16.100.17/24
    
    iface eth0 inet static
        address 172.16.24.11/24
    

    dhcp기본 주소를 유지할 수도 있습니다 .

    재부팅을 사용하지 않고 이러한 설정을 활성화하려면 ifdown/ifup같은

    sudo ifdown eth0 && sudo ifup eth0
    

    이다 필수 로 두 명령을 넣어 첫 번째 사람이 연결을 드롭하기 때문에 서버에 리모팅 경우 라인! 이러한 방식으로 ssh-session이 지속됩니다.


소프트웨어 관리자에서 설치하여 VPN 주소를 하나 이상의 IP 주소로 만들 수 있습니다.
Michael

IP를 추가 또는 삭제 한 후 Ubuntu 16.04.3 LTS에서 재부팅 할 필요가 없습니다
Daniel F

1
최신 Ubuntu 버전에서는 ifdown이 더 이상 사용되지 않는 것 같습니다.
Sajuuk

20

새로운 툴킷을 사용하면 이전과 마찬가지로 새로운 IP 주소를 쉽게 추가 할 수 있습니다.

ip addr add 192.168.1.1/24 dev eth0

ip addr show다시 살펴보면 인터페이스에 지정된 두 번째 IP 주소가 표시됩니다.

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.100/24 brd 192.168.0.255 scope global eth0
    inet 192.168.1.1/24 scope global eth0
    inet6 fe80::223:54ff:fe45:f307/64 scope link
       valid_lft forever preferred_lft forever

다음을 사용하여 해당 IP 주소를 제거하십시오.

ip addr del 192.168.1.1/24 dev eth0

iproute2 제품군 :

iproute2 제품군은 netlink 프로토콜을 통해 커널과 사용자 공간 간의 프로세스 간 통신을위한 통신 제품군입니다. 전체 표준 네트워크 도구를 대체해야합니다. 다음은 그들이 대체하는 것입니다.

  • ifconfig-> ip addrip link
  • route -> ip route
  • arp -> ip neigh
  • iptunnel -> ip tunnel
  • ipmaddr -> ip maddr
  • netstat -> ss

일치하는 명령을 제공하기위한 Thx
guntbert

thx @chaos, 내 시스템의 인터페이스 수보다 많은 IP를 가질 수 있습니까?
나사로

@jazzz 예, 위의 인터페이스 출력에서 ​​볼 수 있듯이 2 개의 IP 주소가 할당되어 있습니다 (192.168.0.100 및 192.168.1.1). 원하는 경우 다른 것을 추가 할 수 있습니다.
혼돈

@chaos, 그러나 어떻게 그들을 사용할 수 있습니까, 예를 들어 멀티 캐스팅을 위해 그룹을 만들고 싶습니다. 그룹에서 그룹을 만들 수 있습니까? 내 질문 askubuntu.com/questions/547105/…
lazarus

1
@chaos 서버 설정에서 기대하는 "영구"가 없기 때문에 훌륭한 답변 대신 내 자신의 답변을 수락하고 있습니다.
guntbert

0

한 가지 방법은 다음과 같습니다.

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