web-dev-qa-db-ja.com

(CLIから)複数のIPアドレスを1つのインターフェイスに割り当てるにはどうすればよいですか?

私のサーバーでは、複数のIPアドレスを1つのNICに割り当てたいが、非推奨のifconfigまたは廃止された「エイリアス」表記(eth0:0など)を/etc/network/interfacesで使用せずに IPエイリアス (www.kernel.orgで)読むことができます

IPエイリアスは、インターフェイスごとに複数のIPアドレス/マスクを管理する時代遅れの方法です

43
guntbert
  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
    

    サーバーにリモート接続する場合、最初のコマンドは接続を切断するため、これら2つのコマンドをone行に入れるのは必須です!このようにして、sshセッションは存続します。

48
guntbert

新しいツールキットを使用すると、古いものと同じくらい簡単に新しいIPアドレスを追加できます。

ip addr add 192.168.1.1/24 dev eth0

ip addr showを再度検索すると、インターフェイスに割り当てられた2番目の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 addrおよびip link
  • route-> ip route
  • arp-> ip neigh
  • iptunnel-> ip tunnel
  • ipmaddr-> ip maddr
  • netstat-> ss
20
chaos

1つの方法は次のとおりです。

Sudo ip addr add 192.168.0.2/24 dev eth1
0
Bert