CentOS 7で静的IPネットワークを効果的に構成するために使用できるnmcli
コマンドの具体的なシーケンスは何ですか?
以下に示す4つのステップのプロセスは、静的IPネットワークを効果的に構成します。
ただし、以下のプロセスは構成ファイルに依存しているため、後で自動化されたスクリプトアプローチに簡単に対応できない場合があります。以下に示す構成ファイルのアプローチを続けると、非常に複雑なスクリプトがたくさんあると思います。たとえば、UUID
行には、構成ファイルにコピーしてマシンを再起動するだけのスクリプトで特別な処理が必要になります。
代わりに、ターミナルに手動で入力できる一連の特定のnmcli
コマンドが必要です。これにより、後でbashスクリプトを簡単に設計できます。
動作する現在の手動プロセスは次のとおりです。
1.)デバイスeno1
は、自動インストールプロセス中に作成されました。
2.)所定のネットマスクを持つIPアドレスをeno1
に割り当てます。
ip addr 12.34.567.8xx/29 dev eno1
3.)構成ファイルを編集します。
$ vi /etc/sysconfig/network-scripts/ifcfg-eno1
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno1"
UUID="some-very-long-complex-string"
DEVICE="eno1"
ONBOOT="yes"
DNS1=aa.aa.aa.aa
DNS2=aa.aa.bb.bb
IPADDR=12.34.567.8xx
NETMASK=255.255.255.248
PREFIX=29
GATEWAY=12.34.567.8yy
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
NM_CONTROLLED="no"
4.)次にファイルを保存し、コンピュータを再起動します。
12.34.567.8xx
と12.34.567.8yy
はパブリックIPアドレスであり、12.34.567.8__
はIPとゲートウェイの最初の8文字が同一であることを示していることに注意してください。
また、BOOTPROTO=static
とNM_CONTROLLED=no
は、nmcli
コマンドからの結果が何であるかを知る必要があることに注意してください。
上記の4ステップのプロセスを効果的に置き換えることができるnmcli
コマンドの特定のシーケンスは?
以下を試してください:
nmcli con mod eno1 ipv4.addresses 12.345.67.8xx/29
nmcli con mod eno1 ipv4.gateway 12.34.567.8yy
nmcli con mod eno1 ipv4.dns "aa.aa.aa.aa bb.bb.bb.bb"
nmcli con mod eno1 ipv4.method manual
nmcli con mod eno1 connection.autoconnect yes
再起動すると動作するはずです。
ネットワーク接続の名前がわからない場合は、次のコマンドを実行できます。
CON="$(nmcli -f NAME -m multiline show con | awk '{ print $2; }')"
使用 "$CON"
の代わりに eno1
上記のコマンドで。例えば:
nmcli con mod "$CON" ipv4.addresses 12.345.67.8xx/29
これは、単一の接続がある場合にのみ機能します。 VMに複数のネットワーク接続がある場合は、上記にロジックを追加して、どれを使用するかを決定する必要があります。