2017-02-27 4 views
0

enter image description here LDIFファイルを使用してIPv4アドレスを複数のIPv4アドレスに変更する必要があります。LDIFファイルを使用してIPv4アドレスを変更する方法

  1. 変更IPv4アドレス(例えば、10.13.15.17):

    dn: HSS-EsmImsi=312720000000207,HSS-EsmSubscriptionId=BR-02061969, 
        HSS-EsmSubscriptionContainerName=HSS-EsmSubscriptionContainer, 
        applicationName=HSS_ESM,nodeName=bnyrgvhss1 
        changeType: modify 
        add: HSS-EsmUserProfileId 
        HSS-EsmUserProfileId: HSS-EsmProfile_APCCI_METERING 
        - 
        add: HSS-EsmUserIpV4Address 
        HSS-EsmUserIpV4Address: 4$10.11.12.13 
        - 
        add: HSS-EsmMsisdn 
        HSS-EsmMsisdn: +1 234 567 8901 
        - 
    

    は今、私は2つのことを実行する必要があります。HSS ESMを作成するために使用された元のLDIFファイルには、次のようです。

  2. HSS ESMユーザオブジェクトクラスを変更すると、HSS-EsmUserIpV4Addressは複数のIPv4アドレスを保存します。 [contextId1] $ [IPv4のアドレス1] \ nは[contextId2] $ [IPv4にアドレス2:ESM LDAPインターフェイス説明これは、次の形式の文字列で行われるべきである -
  3. ・エリクソンさんによると

] \ n ... [contextIdNN] $ [IPv4-AddressNN] \ nです。

凡例:

  1. [CONTEXTID]データ型がUINT32です。
  2. $は、定数(米国ドル記号)です。
  3. [IPv4アドレス] IPアドレスは、文字列データ型のドット区切り10進数です。 10.12.14.16。
  4. \ nは、定数(改行)です。

私はLDAPに新しいですし、HSS-EsmUserIpV4Addressは、例えば、以下のIPv4アドレスを保存するように、LDIFファイルがにどうあるべきか上の任意の助けに感謝します:

2$159.10.1.20 
7$159.10.1.21 
8$159.10.1.22 

私は変更しようとしました

... (the original code)... 
changeType: modify 
delete: HSS-EsmUserProfileId 
- 
add: HSS-EsmUserProfileId 
HSS-EsmUserProfileId: 2$159.10.1.20\n7$159.10.1.21\n8$159.10.1.22\n 
- 

しかし、それは(単に変化なし、エラーメッセージを)動作しませんでした。このようなDeleteAddを行うためのLDIFファイル。

私はこれを実現するまで、どんな助けもあり、私はここにいる(仕事中)。

+0

'2 $'は 'uint32'の後に' $ 'がありません。それは' $ 'のあとに1つのASCII数字です。奇妙なフォーマット。私は複数の 'HSS-EsmUserProfileId'属性値を見ると予想されます。参照リンクを提供できますか? – EJP

+0

'2'はuint32の値で、' $ 'はIPv4アドレスの区切り文字として使用されるため、210.11.12.13と書くと '210'と '2 $ 10'を混同しません。 –

+0

「0x00000002」は「uint32」の値です。 「2」は、8ビットを占有する単一のASCI桁値「0x32」である。不具合はErikson'sであり、あなたのものではありません。あなたが引用した文書は自己矛盾しています。最初の例では、私は彼らに文句を言うでしょう。 – EJP

答えて

1
add: HSS-EsmUserProfileId 
HSS-EsmUserProfileId: 2$159.10.1.20\n7$159.10.1.21\n8$159.10.1.22\n 

まず、間違った属性を変更しています。それは

add: HSS-EsmUserIpV4Address 
HSS-EsmUserIpV4Address: 2$159.10.1.20\n7$159.10.1.21\n8$159.10.1.22\n 

すべきであり、あなたはそれを元に戻す必要があるので、あなたは、この属性の元の値を破損している可能性があります。あなたがこのフォーマットを得たところ

delete: HSS-EsmUserProfileId 
add: HSS-EsmUserProfileId 
HSS-EsmUserProfileId: HSS-EsmProfile_APCCI_METERING 

第二に、私は知りませんセパレータは\nです。私があなたが引用した文書には表示されません。複数の属性値のため、通常のLDIF構文は次のようになります。以前に上記のようdelete:を使用しない限り、これは、4$始まる前の値を維持することを

add: HSS-EsmUserIpV4Address 
HSS-EsmUserIpV4Address: 2$159.10.1.20 
HSS-EsmUserIpV4Address: 7$159.10.1.21 
HSS-EsmUserIpV4Address: 8$159.10.1.22 

注意。

+0

'\ n'は、' NEW_LINE'文字があることを示す/旗にしています。そして、テキスト行は質問や答えで壊れませんでした。 –

+0

@BinyaminRegev '\ n'は私の答えで壊れず、それは意図されていませんでした。それがあなたの質問にあるかどうかは、明らかな関連性がありません。あなたが引用したEriksonの文書には '\ n'については何もありません。ここで述べた両方のテクニックを試してみることをお勧めしますちょうど議論の代わりに。 – EJP

0

EJPに感謝します。あなたは私の前の間違いの答えと理由を私に伝えました。

解決策:LDIFファイルでchangeType: modifyreplaceまたはdeleteに設定してください。

、正しいLDIFファイルは次のようになります。次のコードは、属性のすべてのインスタンスを削除します

dn: HSS-EsmImsi=312720000000207,HSS-EsmSubscriptionId=BR-02061969, 
HSS-EsmSubscriptionContainerName=HSS-EsmSubscriptionContainer, 
applicationName=HSS_ESM,nodeName=bnyrgvhss1 
changeType: modify 
delete: HSS-EsmUserIpV4Address 
HSS-EsmUserIpV4Address: 2$159.10.1.20 
- 
add: HSS-EsmUserIpV4Address 
HSS-EsmUserIpV4Address: 1$159.10.1.23 
HSS-EsmUserIpV4Address: 2$159.10.1.24 
- 

dn: HSS-EsmImsi=312720000000207,HSS-EsmSubscriptionId=BR-02061969, 
HSS-EsmSubscriptionContainerName=HSS-EsmSubscriptionContainer, 
applicationName=HSS_ESM,nodeName=bnyrgvhss1 
changeType: modify 
add: HSS-EsmUserProfileId 
HSS-EsmUserProfileId: HSS-EsmProfile_APCCI_METERING 
- 
delete: HSS-EsmUserIpV4Address 
- 
add: HSS-EsmUserIpV4Address 
HSS-EsmUserIpV4Address: 1$159.10.1.20 
HSS-EsmUserIpV4Address: 2$159.10.1.21 
HSS-EsmUserIpV4Address: 3$159.10.1.22 
- 
add: HSS-EsmMsisdn 
HSS-EsmMsisdn: +12345678901 
- 

これは、属性から特定の値を削除し、2人を追加します他の3つの値で属性をもう一度追加してください:

dn: HSS-EsmImsi=312720000000207,HSS-EsmSubscriptionId=BR-02061969, 
HSS-EsmSubscriptionContainerName=HSS-EsmSubscriptionContainer, 
applicationName=HSS_ESM,nodeName=bnyrgvhss1 
changeType: modify 
delete: HSS-EsmUserIpV4Address 
- 
add: HSS-EsmUserIpV4Address 
HSS-EsmUserIpV4Address: 1$159.10.1.25 
HSS-EsmUserIpV4Address: 2$159.10.1.26 
HSS-EsmUserIpV4Address: 3$159.10.1.27 
- 

これは012で見つかりました。

Screen shot of the attached link

巨大助けを@EJPいただきありがとうございます。

+0

'delete'オプションはあなたの例で続く値行を必要としません。あなたのリンクに記載されているように、指定された属性のすべての値を削除します。 LDIF形式はRFCで定義されています。任意のインターネットジャンクを見る必要はありません。私の答えに同意できないものは何もありません。具体的には、 '\ n'区切り記号についての私の推測が正しいことが証明されています。 – EJP

関連する問題