CentOS 7の静的IPネットワークのnmcliコマンド

CentOS 7の静的IPネットワークのnmcliコマンド

nmcliCentOS 7で静的IPネットワークを効果的に設定するためにどのような特定のコマンドシーケンスを使用できますか?

以下に示す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.8xx12.34.567.8yyはパブリックIPアドレスです。つまり、12.34.567.8__IPとゲートウェイの最初の8文字が同じであるという意味です。

また、コマンドの結果で終わらなければならないBOOTPROTO=staticことに注意してください。 NM_CONTROLLED=nonmcli

nmcli上記の4段階のプロセスを効果的に置き換えることができる特定のコマンドシーケンスは何ですか?

答え1

以下をお試しください::

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

これは接続が1つしかない場合にのみ機能します。仮想マシンに複数のネットワーク接続がある場合は、上記のロジックを追加して使用するロジックを決定する必要があります。

関連情報