SRXのコンフィグモードにある、似て非なる2つのコマンド「rename」と「replace」。
それぞれの特徴を確認してみましょう。
それぞれの特徴を確認してみましょう。
■rename
特定のオブジェクト名を変更することができます。
rename security zones security-zone trust address-book address ADDR_OLD to address ADDR_NEW
ただし、指定した階層のオブジェクトしか変更されないため、アドレスセットなどの中のオブジェクトには個別にrenameをする必要があります。
rename security zones security-zone trust address-book address-set ADDR_SET address ADDR_OLD to address ADDR_NEW
なお残念なことに、renameはポリシー内のオブジェクトに対して使用することができません。
ポリシー内のオブジェクトには、set/delete/insertなどを使用して変更しましょう。
ポリシー内のオブジェクトには、set/delete/insertなどを使用して変更しましょう。
また、変更するのは名前だけです。
実際のIPアドレスなどは変更されないので、注意が必要です。
■replace
正規表現のパターンマッチングにより、コンフィグ内の文字列を一括で置換する強力なコマンドです。
私の実運用では、こちらしか使用しません。
私の実運用では、こちらしか使用しません。
replace pattern "ADDR_OLD" with "ADDR_NEW"
これ1つで、オブジェクトの名前・中身・使用されているポリシーまで、全て変更することができます。
なお、load set terminal 中には使用できません。
なお、load set terminal 中には使用できません。
ただし、単純な文字列のマッチングだけで全て置換してしまうため、無関係な箇所まで変えてしまわないように注意が必要です。
例えば「http」とだけ指定すると、「https」までヒットしてしまいます。
正規表現を駆使して、適切な箇所だけを置換するようにしましょう。
↓replaceコマンドにおける正規表現の説明はこちら。
Common Regular Expressions to Use with the replace Command
例えば「http」とだけ指定すると、「https」までヒットしてしまいます。
正規表現を駆使して、適切な箇所だけを置換するようにしましょう。
↓replaceコマンドにおける正規表現の説明はこちら。
Common Regular Expressions to Use with the replace Command