nmcli
CentOS 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.8xx
と12.34.567.8yy
はパブリックIPアドレスです。つまり、12.34.567.8__
IPとゲートウェイの最初の8文字が同じであるという意味です。
また、コマンドの結果で終わらなければならないBOOTPROTO=static
ことに注意してください。 NM_CONTROLLED=no
nmcli
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つしかない場合にのみ機能します。仮想マシンに複数のネットワーク接続がある場合は、上記のロジックを追加して使用するロジックを決定する必要があります。