Centosネットワークインターフェースのバックアップと回復

Centosネットワークインターフェースのバックアップと回復

一部のソフトウェアをアップグレードするには、再起動が必要なCentos 7を実行しているサーバーがあります。

一部の物理NICには、それぞれ約5〜10個のVLANインターフェイスがあります。毎週/月ごとに変更される可能性があるため、再/etc/sysconfig/network-scripts起動後も持続するように詳細を保存することは非現実的です。

現在のネットワークスタックのスナップショットを作成し、再起動後に復元する簡単な方法はありますか? iptablesルールを保存/復元する方法と似ていますか?

いくつかの参照が見つかりましsystem-config-network-cmdたが、このツールを使用すると、私たちが持っている物理インターフェイスの静的設定を上書きするので、使用するのは慎重です。/etc/sysconfig/network-scripts

ありがとうございます!

答え1

Iptablesは質問の最も簡単な部分です。

iptables-save現在のiptablesルールを保存するために使用することができ、将来使用することができますiptables-restore

# backup current iptables rules
iptables-save > /root/iptables-$(date +%F).save


# restore a previous set of iptables-rules
iptables-restore < /root/iptables-<date of file to restore>.save

ジョブのネットワーク部分の場合、Network Managerサービス(多くの人がサーバーで使用していない)を使用しない system-config-network-cmd場合nmtuinmcli

まず、キャプチャされた出力に似た独自のソリューションをスクリプト化し、ip addr showそれを解析してIPバッチファイルを生成する必要があります(参照:https://support.cumulusnetworks.com/hc/en-us/articles/202395708-Bringing-up-Large-Networks-Using-ip-batch有用な情報)その後、バッチファイルを再生して詳細ip --batch <batchfile>レベルに合わせて調整します。 MACは同じでなければなりませんか?他のデバイスオプション?特定のVLANがありますか?それとも、IPアドレスがすべて同じサブネットにあるということですか?ああ、ip route show再起動後に必要な一時ルートを設定した場合は、そのルートもキャプチャできます。

長期的には、Ansible(または同様のもの)を使用して、一時iptablesルールおよび一時ネットワークインターフェイス構成の展開を管理することを検討してください。その後、スクリプトを再生してすべてを以前の状態に戻すことができます。

答え2

まず、必ず確認すべき事項ネットワーク管理者インストールされており、nmcliコマンドが存在します。

次に、以下を介して現在のネットワーク接続を表示しますnmcli

# nmcli c
NAME                UUID                                  TYPE            DEVICE
enp0s3              346f92f2-e6b5-4464-b424-4083fb09e6ae  802-3-ethernet  enp0s3
enp0s8              537dd740-423a-42ab-8e62-d49a0e91de00  802-3-ethernet  enp0s8
enp0s8.10           1db1ea0f-f67e-4777-bd58-e4c6d36a8520  vlan            enp0s8.10
enp0s9              410c1405-b2fa-4182-900b-51defe29c681  802-3-ethernet  enp0s9

インターフェースがenp0s8.10私を追加していませんネットワーク管理者vconfigip l upおよびに追加しましたip a

インターフェイスが動作していて、IPアドレスが割り当てられている必要があります!インターフェイスが機能していない場合、またはIPが割り当てられていない場合ネットワーク管理者次のように表示されます。管理されていない

nmcliその後、アクティブな接続を編集できます。

# nmcli connection edit enp0s8.10

===| nmcli interactive connection editor |===

Editing existing 'vlan' connection: 'enp0s8.10'

Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), vlan, ipv4, ipv6, proxy
nmcli> help
------------------------------------------------------------------------------
---[ Main menu ]---
goto     [<setting> | <prop>]        :: go to a setting or property
remove   <setting>[.<prop>] | <prop> :: remove setting or reset property value
set      [<setting>.<prop> <value>]  :: set property value
describe [<setting>.<prop>]          :: describe property
print    [all | <setting>[.<prop>]]  :: print the connection
verify   [all | fix]                 :: verify the connection
save     [persistent|temporary]      :: save the connection
activate [<ifname>] [/<ap>|<nsp>]    :: activate the connection
back                                 :: go one level up (back)
help/?   [<command>]                 :: print this help
nmcli    <conf-option> <value>       :: nmcli configuration
quit                                 :: exit nmcli
------------------------------------------------------------------------------
nmcli> save
Connection 'enp0s8.10' (1db1ea0f-f67e-4777-bd58-e4c6d36a8520) successfully updated.
nmcli> quit

/etc/sysconfig/network-scriptsこの手順を実行すると、ファイルにインターフェイスの設定ファイルが表示されますifcfg-enp0s8.10(私の場合のように)。

もちろん、すべてのインターフェイスを確認する必要があります。

関連情報