
私はテスト ネットワークで使用し、多数の Web サイトをホストするマシンをセットアップしています。このホストに多数の (約 20,000 個の) IP アドレスを持たせたいと考えています。
スクリプトを使って、例えば
ip addr add <ip>/<mask> dev eth0
すべてをそのように取得します。実際、これは問題なく動作しますが、再起動すると当然ながら維持されません。
変更すると、/etc/sysconfig/network-scripts/ifcfg-eth0
永続的な静的 IP を割り当てることができますが、その方法では複数の IP を割り当てることはできないと思います。
多数の静的 IP を永続的に割り当てる方法はありますか?
最悪の場合、独自の IP サービスを作成し、systemd サービス経由でコマンドを実行することもできると思いますip
が、これを行うより標準的な方法があるかどうか疑問に思っていました。
答え1
ifcfg-
数万をサポートしているかどうかは確認していませんが、 NetworkManager にその旨を伝えれば、ファイル内で直接多数のアドレスを指定できるようです。
最初のステップはNetworkManagerに伝えることでした。
nmcli con mod eth0 ipv4.method manual
それから私は修正/etc/sysconfig/network-scripts/eth0
して
IPADDR0=<ip0>
NETMASK0=<mask0>
IPADDR1=<ip1>
NETMASK1=<mask1>
そして、eth0
それらのアドレスの両方が(少なくとも再起動後には)取得されました。
更新: 残念ながら、この方法ではインターフェイスごとに最大 256 個のアドレスしか許可されません。(興味があれば、Fedora 21 に同梱されているバージョン 0.9.10 の制限は、ソースの src/settings/pluginos/ifcfg-rh/reader.c の 1366 行目で確認できます。)
答え2
理解してしまえば簡単です。
ifcfg-eth:x
単一のアドレス用の個別のファイルか、IP 範囲用のファイルの 2 つの方法を知っていますifcfg-eth0-rangex
。ファイルは/etc/sysconfig/network-scripts/
フォルダーに配置されます。
最初のケースです。/etc/sysconfig/network-scripts/ifcfg-eth0
にコピーするだけです/etc/sysconfig/network-scripts/ifcfg-eth0:0
。 エディターで開いて変更します。デバイスeth0:0にIPアドレス希望どおりに。ネットワークをリロードします ( systemctl restart network
CentOS 7 の場合)。手順を繰り返し、x を 1 ずつ増やします。
2番目のケースでは、/etc/sysconfig/network-scripts/ifcfg-eth0
にコピーします/etc/sysconfig/network-scripts/ifcfg-eth0-range0
。次に、ファイルをエディタで開き、IPアドレスと開始そして追加する終了範囲の対応する開始 IP と終了 IP を入力します。前述のようにネットワークをリロードすると、変更が有効になります。
答え3
コピー/etc/sysconfig/network-scripts/ifcfg-eth0
して/etc/sysconfig/network-scripts/ifcfg-eth0:0
編集する
DEVICE="eth0:0"
BOOTPROTO="static"
IPADDR=192.168.230.252
NETWORK=192.168.230.0
NETMASK=255.255.255.0
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
同じネットワーク上にいる必要があります。
リブート。
再起動できない場合は、試してくださいifconfig eth0:0 up
(この部分はテストしていません)
見るhttp://www.cyberciti.biz/faq/linux-creating-or-adding-new-network-alias-to-a-network-card-nic/