インベントリファイルでIPv6アドレスを表記する方法は?


7

私はipv6経由でのみアクセス可能なマシンを持っています。rsaキーでsshをセットアップします。今、私はそれをansibleで管理したいと思います。残念ながら、これはインベントリのドキュメントではカバーされていません。

だから私は次の順列を試しました:

  • docker_test ansible_host=fe80::88ea:e002:b409:4be0
  • docker_test ansible_host=[fe80::88ea:e002:b409:4be0]
  • docker_test ansible_host=\[fe80::88ea:e002:b409:4be0\]

これはどれもうまくいきませんでした。

比較のために、.ssh/configエントリを追加します。

Host docker_host
    AddressFamily inet6
    HostName fe80::88ea:e002:b409:4be0
    BindAddress fe80::3e6b:335a:d2f7:3a75%enp3s0

:私はこの問題は、部分的に解決し、少なくともあることを示している問題追跡システムに2つの閉じたバグを発見した38793888

このトピックに関するアドバイスは高く評価されます。


インベントリファイルを使用しようとしましたか?また、発生したエラーを教えてください。
ガントベルト2018

はい、インベントリファイルを使用してみました。投稿された3つの順列はそこから発生しました。例外は、インベントリファイルの形式が間違っているか、sshクライアントの引数が誤っているかのどちらかであると漠然と述べています。
tgr 2018

IPv6アドレスに必須のスコープIDがありません。もちろん、可能な限りリンクローカルアドレスの使用は避けてください。
マイケルハンプトン

回答:


4

このブログ投稿では、すべての方法について説明します。

抜粋-Ansible 2のホスト名とパターン

インベントリのホスト名

Ansible 2では、インベントリのホスト名が有効なIPv4 / IPv6アドレスまたはホスト名である必要があります(つまり、x.example.comまたはx、ただしx..example.comまたはx--ではありません)。拡張機能として、ホスト名ラベルでUnicodeワード文字を受け入れます。間違いがあると、特定の解析エラーが発生し、実行中の不可解なエラーは発生しません。

インベントリのホスト名では、アルファベットまたは数値の範囲を使用して複数のホストを定義することもできます。たとえば、foo [1:3]はfoo1〜foo3を定義し、foo [x:z:2]はfoxおよびfozに展開されます。アドレスには数値範囲を使用できます:192.0.2。[3:42]。

IPv6アドレス

IPv6アドレスの解析に関する多数の問題も修正され、それらの動作はインベントリ(.iniファイル)全体およびプレイブック(たとえば、ホスト:行およびadd_host)で一貫しました。

推奨されるすべてのIPv6アドレス表記(128ビットのスペルからさまざまな圧縮形式まで)がサポートされています。ポート番号のあるアドレスは、[addr]:portのように記述する必要があります。16進数の範囲を使用して、インベントリファイルで複数のホストを定義することもできます(例:9876 :: [a:f]:2)。

いくつかの小さいが必要なバグ修正は、解析の変更と密接に関連しており、IPv6アドレスをsshおよびrsyncに渡す際の問題を修正します。まとめると、これらの変更により、Ansibleで実際にIPv6を使用できるようになります。

したがって、これらのIPv6などのパターンは許可されます。

  • 完全指定の128ビットアドレス
  • [addr]:port
  • 16進数の範囲-9876 :: [a:f]:2
  • さまざまな形式の圧縮範囲-FF01 :: [1:6]

簡略化された例:

# IPv6 Address                                # Simplified Notation
-----------------------------------------     ----------------------------
- FF01:0000:0000:0000:0000:0000:0000:0001     - FF01::1
- 2031:0000:130F:0000:0000:09C0:876A:130B     - 2031:0:130F::9C0:876A:130B
- 0000:0000:0000:0000:0000:0000:0000:0001     - ::1
- FE80:0000:0000:5EFE:0192.0168.0001.0123     - FE80::5EFE:192.168.1.123
- FE80:0000:0000:0000:1585:4868:495F:D521     - FE80::1585:4868:495F:D521

参考文献

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.